Migración de Datos de Negocio

El Asistente de Migración de Contenido se puede utilizar para realizar una migración específica de entidades principales seleccionadas y sus datos de transacción relacionados de un entorno a otro. Por ejemplo, migrar un subjuego de cuentas y sus datos relacionados con fines de prueba.

En los siguientes puntos, se describen las diferencias clave entre los datos de negocio y los datos de configuración que requieren consideraciones especiales al diseñar las migraciones de datos de negocio:

  • La migración de datos de negocio generalmente implica un mayor número de registros en un juego de datos, en comparación con un juego de datos de solo configuración. Si bien no existe un límite explícito sobre el tamaño de un juego de datos, se debe asumir algún límite razonable.

  • Si existen grandes conjuntos de entidades que dependen de relativamente pocas entidades en el mismo juego de datos, se ralentiza en gran medida el proceso de importación. Esta situación ocurre cuando se combinan datos de configuración, datos principales y datos de transacción de gran volumen en una única migración. Por lo tanto, recomendamos diseñar migraciones separadas para estas clases de datos. Consulte la sección Reducción de la Dependencia entre Objetos de Migración a continuación para obtener más información.

  • Todas las entidades de negocio tienen una clave generada por el sistema. Consulte Datos con Claves Primarias Generadas por el Sistema para obtener más información.

En las siguientes secciones, se amplían los temas y conceptos relacionados con la migración de datos de negocio.

Reducción de la Dependencia entre Objetos de Migración

El Asistente de Migración de Contenido aprovecha la integridad referencial y las reglas de negocio de la aplicación para garantizar que las entidades sigan siendo compatibles y válidas cuando se importan a otro entorno. Estas reglas existen para evitar que se importe una entidad cuando alguna de las entidades a las que hace referencia no existe en el entorno de destino. Cuando tanto la entidad de referencia como la entidad a la que hace referencia son parte del mismo conjunto de datos, se establece una dependencia que define la secuencia en la que estas entidades deben procesarse para poder importarse con éxito. Tenga en cuenta que la herramienta soporta incluso las situaciones más complejas y poco frecuentes en las que la dependencia entre entidades es cíclica, es decir, la entidad A (directa o indirectamente) hace referencia a la entidad B, mientras que la entidad B (directa o indirectamente) hace referencia a la entidad A; por lo tanto, el procesamiento secuencial no es suficiente para garantizar una importación exitosa.

La herramienta utiliza relaciones de clave foránea entre entidades del mismo juego de datos para identificar juegos de entidades dependientes y agruparlas en registros de transacciones de migración separados. Tenga en cuenta que estas claves foráneas se definen en el repositorio del modelo de datos de la aplicación, y no en el nivel de la base de datos, para una mayor flexibilidad. Cuanto más grande sea la transacción de migración, más complejo será el proceso para importar exitosamente todos sus objetos. Por lo tanto, si bien la herramienta está diseñada para soportar todo tipo de dependencias (secuenciales y cíclicas), administrar juegos muy grandes de objetos dependientes puede implicar un costo de performance significativo.

Aunque las entidades de configuración tienden a ser altamente interdependientes, el número total de entidades que componen el juego completo de objetos de configuración es relativamente pequeño. Por consiguiente, el impacto que dichas dependencias tienen en la performance al importar un juego de datos de solo configuración es insignificante. Por otro lado, las entidades de configuración tienden a ser mencionadas en muchas entidades principales y de transacción, ya que controlan varios aspectos de las reglas de negocio de estas últimas. Por ende, combinar datos de configuración y comerciales en el mismo juego de datos probablemente forme juegos extremadamente grandes de entidades de negocio que dependen de una pequeña cantidad de entidades de configuración. En consecuencia, es recomendable importar o definir datos de configuración en el entorno de destino antes de importar los datos de negocio.

De manera similar, algunos datos de transacción tienden a tener un volumen mucho mayor en comparación con las entidades de datos principales a las que hacen referencia. También en este caso se recomienda migrar las entidades de datos principales antes de migrar los datos de transacción de gran volumen relacionados. Por ejemplo, muchos registros de medición de intervalo (datos de transacción) hacen referencia al mismo componente de medición (datos principales). Si se migra un gran volumen de datos de medición junto con su componente de medición, se originará una transacción de migración muy grande cuya importación podría tardar mucho tiempo. La importación de los componentes de medición antes de la migración de las mediciones de intervalo eliminará las dependencias innecesarias dentro del juego de datos de solo mediciones y mejorará significativamente la performance del proceso general.

Volumen de Datos Razonable

El volumen total de todas las entidades de negocio que se migrarán en un único juego de datos debe tener un tamaño razonable. Por ejemplo, importar varios cientos de cuentas y sus datos principales y de transacción relacionados se considera razonable. Migrar demasiados datos puede superar los límites físicos y de performance de la herramienta.

Puede utilizar cualquier método de solicitud de migración soportado para describir las entidades que desea exportar. Si opta por una solicitud de migración de Lista de Entidades, considere usar la zona del panel de control Recopilar Entidad para crear la lista de entidades a medida que las explora en sus respectivos portales.

Única Fuente de Datos

El Asistente de Migración de Contenido utiliza la clave primaria de una entidad para determinar si es nueva en el entorno de destino y, por ende, debe agregarse, o si hace referencia a un registro existente y, por lo tanto, debe reemplazarse con la nueva versión. Todas las entidades de negocio tienen claves generadas por el sistema que son específicas del entorno. Por lo tanto, es posible que diferentes entidades en entornos separados tengan la misma clave primaria. Al migrar entidades cuyas claves son generadas por el sistema, se recomienda migrar datos a un entorno de destino desde un único entorno de origen y evitar crear dichas entidades en el entorno de destino mediante la aplicación. Esta práctica garantiza que las claves primarias de una entidad importada estén siempre sincronizadas con su entorno de origen. Consulte Datos con Claves Primarias Generadas por el Sistema para obtener más información y otros detalles.

Sin Supresión

El Asistente de Migración de Contenido no suprime entidades de ningún tipo, ya sean entidades de configuración o de negocio. Si es necesario repetir una prueba utilizando una snapshot inicial de los datos, debe restaurar el entorno de destino a una copia de seguridad realizada antes de la importación de los datos de prueba e importar la última versión de los datos de prueba. Si no es necesario suprimir entidades importadas previamente, puede seguir recargando datos de prueba desde un único entorno de origen según sea necesario.

Modo de Importación en Bloque

Por defecto, el proceso de importación crea un objeto de migración para cada entidad importada. Esto permite un manejo de errores y una generación de informes más detallados en el nivel de la entidad. Al importar un juego de datos de entidades de negocio de gran volumen, esta administración detallada repercute en la performance. En esta situación, puede utilizar la opción Importación en Bloque en la solicitud de importación del juego de datos de migración. En este modo, se crea un único registro de objeto de migración para varias entidades del mismo objeto de mantenimiento. De la misma manera, se crea un único registro de transacción de migración para varios grupos de transacciones lógicas. El uso de esta opción reduce el esfuerzo de administración de objetos de migración durante todo el proceso, lo que origina una mejor performance.

Tenga en cuenta que cada entidad se compara y se valida individualmente (como en el procesamiento de importación habitual), pero, si una entidad no es válida, no se aplica todo el objeto de migración, lo que afecta a todas las entidades agrupadas con este. El modo de importación en bloque es útil cuando se importa un juego grande de datos desde un origen de datos validado, de modo que prácticamente no se anticipen errores.

Esta opción solo se soporta para objetos de mantenimiento principales y de transacción, es decir, no se aplica a migraciones de configuración.

Modo de Solo Inserción

Por defecto, el paso de comparación del proceso de importación debe determinar si la entidad importada es nueva (y, por lo tanto, debe agregarse), si representa un cambio en una entidad existente (y, por lo tanto, debe actualizarse) o si no se modificó. Al importar un juego de datos de entidades de negocio de gran volumen que son todas nuevas en el entorno actual, esta comprobación consume mucho tiempo y se puede evitar. En esta situación, puede utilizar la opción Solo Inserción en la solicitud de importación del juego de datos de migración para indicar que se asume que todas las entidades importadas son nuevas incorporaciones al entorno actual. De esta manera, el proceso de importación evita pasos innecesarios para determinar si la entidad debe agregarse o actualizarse, y, así, contribuye a un proceso de importación más rápido.

Esta opción solo se soporta para objetos de mantenimiento principales y de transacción, es decir, no se aplica a migraciones de configuración.

Procesos de Lote Separados para Administrar Objetos de Migración de Negocio

Por defecto, los mismos procesos de lote relacionados con la importación administran la configuración y las migraciones de datos de negocio. Generalmente, las migraciones de datos de negocio implican un gran volumen de registros en comparación con los juegos de datos de configuración mucho más pequeños. Al procesarlos juntos mediante el mismo proceso de lote, se puede ralentizar la performance de las migraciones de configuración, lo que impide que se completen más rápido y con mayor frecuencia. El problema afecta principalmente a entornos de prueba donde las migraciones de clases de datos combinados son más habituales: los datos de configuración se importan desde un entorno inferior y los datos de prueba de gran tamaño se importan desde un entorno superior. Puede ajustar la configuración del producto base en dichos entornos para beneficiarse de la separación de los procesos de importación de datos de configuración y de negocio.

Tenga en cuenta que la capacidad de separar los procesos de importación se aplica a los objetos de migración únicamente debido a su volumen. Los juegos de datos de migración y los registros de transacciones son de bajo volumen y, por ende, deben seguir administrándose mediante los mismos procesos de lote.

Se proporcionan procesos de lote designados para importar objetos de migración que contienen datos de negocio, pero no se utilizan por defecto:

  • F1-MGOPB: Monitor de Objeto de Migración (Negocio)

  • F1-MGOAB: Monitor de Objeto de Migración (Negocio): Aplicar

Siga estos pasos para utilizar estos procesos de lote designados separados para datos de negocio:

  • Actualice el objeto de negocio Datos de Negocio de Objeto de Migración (F1-MigrObjectBus) para hacer referencia a los controles de lotes relacionados con los datos comerciales en los siguientes estados:

    • Pendiente, Error de Aplicación, Necesita Revisión: Monitor de Objeto de Migración (Negocio): F1-MGOPB

    • Aprobado: Monitor de Objeto de Migración (Negocio): Aplicar: F1-MGOAB

  • Si su organización utiliza ejecuciones de trabajos controladas por eventos para procesos de lote del Asistente de Migración de Contenido, consulte Ejecución de Trabajos en Lote para conocer los pasos de configuración adicionales.