Exportación de Datos Generalizada
El método de exportación de datos generalizado proporciona una exportación de datos basada en archivos en formato JSON. La exportación de datos de un objeto de mantenimiento mediante este método implica una exportación inicial de todos los datos de la entidad seguida de una exportación continua de los cambios a medida que se realizan. Estos procesos se ilustran en el siguiente diagrama:
-
Activar entidades para exportación en el portal de Panel de Control de Exportación Generalizada. Puede activar muchas entidades a la vez. En este paso, también puede activar la exportación continua de estas entidades.
-
Ejecutar el proceso de lote Iniciador de Exportación Inicial Generalizada (F1-GEXPI) para exportar el contenido actual de todas las entidades activadas. Este paso ejecuta un proceso de lote separado para cada entidad activada para exportación.
-
Planificar el proceso de lote Exportación Generalizada en Curso (F1-GEEXO) para que se ejecute periódicamente.
En las siguientes secciones, se analizan más detalladamente los conceptos y las pautas relacionados con el método de exportación de datos generalizado.
Elegibilidad
-
La entidad administra un volumen de datos extremadamente alto. El rastreo de cambios en dicha entidad podría duplicar el volumen de los datos administrados y afectar la performance general.
-
La entidad se actualiza con mucha frecuencia. El rastreo de estos eventos puede afectar la performance general.
-
La entidad es utilizada por la infraestructura y los procesos operativos del producto. Estas entidades se mantienen de forma diferente y no pueden estar sujetas a los métodos de exportación de datos generalizados.
Por defecto, un objeto de mantenimiento es elegible para el método de exportación de datos generalizado, a menos que la opción Clase de Exportación de Datos marque explícitamente lo contrario. La opción se puede utilizar para marcar una entidad como no permitida para ningún tipo de exportación o permitida solo para una exportación especializada. La falta de esta opción explícita significa que el objeto de mantenimiento es elegible para la exportación generalizada.
Un Método para Todo
El método de exportación de datos generalizado está diseñado para soportar muchos objetos de mantenimiento elegibles de una forma genérica que también debe tener en cuenta consideraciones de performance. Por este motivo, este método no soporta opciones de filtrado específicas de entidades ni reglas personalizadas de ningún tipo.
-
Se exportan todos los datos.
-
Se exportan todos los campos de todas las tablas que pertenecen al objeto de mantenimiento, excepto las tablas de "claves" y de "registro", si existen.
-
Las tablas de registro de objetos de mantenimiento generalmente no contienen información de negocio útil y, por lo tanto, se omiten de la exportación por motivos de performance y de volumen de datos. No obstante, hay entidades para las cuales los registros proporcionan un valor de análisis. Cuando corresponda, utilice la opción Exportar Tablas de Registro para incluir explícitamente tablas de registro correspondientes a un objeto de mantenimiento específico.
-
-
Se utiliza la misma estructura y el mismo formato de datos para todas las entidades. Consulte la sección Formato de Registro para obtener más información.
-
Los datos se exportan únicamente a archivos. Consulte la sección Exportar Únicamente a Archivos para obtener más información.
-
Se capturan todos los cambios. No es posible excluir algunos cambios del rastreo de exportación en curso en función de reglas de negocio personalizadas.
-
Cuando los datos cambian, se exporta una snapshot completa de los datos relacionados con esa entidad para evitar una fusión masiva de datos en el destino.
-
Cuando se suprime la entidad, solo se exporta la clave primaria de la entidad junto con una indicación de supresión.
Exportar Únicamente a Archivos
El destino inmediato de los procesos de exportación iniciales y en curso son los archivos en una ubicación especificada por el cliente. En una instalación en la Nube, los archivos se crean en un Almacenamiento de Objetos del cliente.
En función de los requerimientos de su negocio, es posible que se sigan utilizando estos archivos en aplicaciones posteriores, como lagos de datos, etc.
Activación de la Exportación de Datos
Para activar la exportación de datos de un objeto de mantenimiento elegible, se debe crear un registro de Control de Exportación de Datos. El registro mantiene una indicación que determina si la exportación inicial del objeto de mantenimiento se completó o no y si los cambios realizados en la entidad deben rastrearse y exportarse de forma continua. Existe un portal designado que le permite activar la exportación de datos generalizada para muchos objetos de mantenimiento a la vez, así como monitorear el estado de exportación actual a simple vista. Consulte el portal de Panel de Control de Exportación Generalizada para obtener más información.
Las opciones de exportación en curso se almacenan en caché en varios cachés en línea y de lote. Para que estas opciones tengan efecto y puedan rastrear los cambios de entidad realizados por cualquier proceso en línea o de lote, deben eliminarse correctamente los diversos cachés cuando se cambian estas opciones. El uso de los portales designados a fin de activar entidades para exportación activa una eliminación "global" de los cachés. Si los procesos del grupo de subprocesos de lote están configurados para refrescar los cachés cuando se solicita una eliminación global, este es el único paso requerido. De lo contrario, también debe ejecutarse el trabajo en lote F1–FLUSH para refrescar los cachés que se usan en el procesamiento de lote. Para obtener más información, consulte Generalidades de Caché.
Exportación Inicial de Datos
Cada objeto de mantenimiento que es elegible para el método de exportación de datos generalizado está asociado con un control de lotes de exportación inicial de datos al que se hace referencia en el objeto de mantenimiento mediante la opción Control de Lote de Exportación. Todos estos controles de lotes utilizan el mismo programa de lote común para exportar por completo los datos de una entidad a los archivos. El proceso consta de múltiples subprocesos y, por defecto, genera un archivo por subproceso. Existe un parámetro de lote opcional que permite generar varios archivos más pequeños por subproceso; para ello, debe definirse un límite en el número de registros que se pueden escribir en cada archivo. Consulte la sección Tamaño de Archivo para obtener más información.
En lugar de ejecutar manualmente el proceso de lote de exportación inicial generalizada para cada objeto de mantenimiento activado para exportación, ejecute el proceso de lote Iniciador de Exportación Inicial Generalizada (F1-GEXPI), que permite ejecutar automáticamente todos juntos.
El proceso de exportación inicial de cada objeto de mantenimiento actualiza el registro de control de exportación de datos correspondiente del objeto de mantenimiento para indicar que se inició el proceso y lo actualiza nuevamente al finalizar. Esto le permite visualizar el estado general de la exportación inicial para todas las entidades activadas en el portal de Panel de Control de Exportación Generalizada.
Tenga en cuenta que el proceso de lote del iniciador solo ejecuta procesos de lote para objetos de mantenimiento activados cuya exportación inicial aún no se inició (según el registro de control de exportación de datos). Si necesita exportar una o más entidades nuevamente, restablezca la indicación de estado de exportación inicial en los registros de control de exportación de datos y ejecute nuevamente el proceso de lote del iniciador.
INIT_EXPORT[_file prefix(optional)]_[maintenance object]_[batch run]_[thread]_[thread count]_[timestamp][_file sequence].json.gz
La secuencia de archivo se utiliza solo cuando se crea más de un archivo por subproceso. El sufijo de secuencia se completa a partir del segundo archivo de la siguiente manera _2.Consulte cualquiera de los controles de lotes de exportación inicial generalizada individuales y el control de lotes del iniciador para obtener más información.
Restricción de la Exportación Inicial por Fecha
Por defecto, el proceso de lote Exportación Inicial de Datos exporta todos los datos de una entidad. En algunas situaciones, generalmente relacionadas con grandes volúmenes de datos históricos, podría ser necesario restringir la exportación a datos más recientes, por ejemplo, los de los últimos meses.
El proceso de lote de exportación inicial soporta el parámetro de lote opcional Restringir por Fecha, que se puede usar para limitar el alcance de los datos por exportar. El parámetro hace referencia a un campo de fecha y a un marco de tiempo solicitado en términos de cantidad de días antes de la fecha de negocio. Consulte el control de lotes Plantilla de Exportación Inicial Generalizada F1-GEIXP para obtener más información.
Exportación de Datos en Curso
Los cambios de datos se rastrean mediante el algoritmo de Auditoría de Objeto de Mantenimiento Capturar Cambio para Exportación en Curso (F1-MO-REGCHN). El algoritmo registra la clave primaria de una entidad modificada en una tabla de Actualización de Exportación de Datos designada que sirve como cola de entidades modificadas para exportar. Más adelante, la cola es utilizada por el proceso de lote de exportación de datos en curso.
La regla de auditoría se agrega a un objeto de mantenimiento cuando se activa la opción de exportación de datos en curso en su registro de control de exportación de datos correspondiente. De la misma manera, la regla de auditoría se remueve del objeto de mantenimiento cuando se desactiva la opción de exportación en curso.
A diferencia del proceso de lote de exportación inicial que requiere que se defina un control de lotes para cada objeto de mantenimiento elegible, se utiliza un solo proceso de lote para exportar los cambios en curso realizados en todas las entidades.
-
Todos los cambios puestos en cola en la tabla de Actualización de Exportación de Datos se exportan a un archivo de exportación en curso designado. Consulte la sección Administración de un Gran Pendiente Acumulado para obtener más información.
-
Se exporta una snapshot completa de los datos relacionados con la entidad modificada para evitar una fusión masiva de datos en el destino.
-
Una vez exportados, los registros se suprimen de la tabla Actualización de Exportación de Datos.
El proceso consta de múltiples subprocesos y, por defecto, se genera un archivo separado para cada subproceso. Existe un parámetro de lote opcional que permite generar varios archivos más pequeños por subproceso; para ello, debe definirse un límite en el número de registros que se pueden escribir en cada archivo. Consulte la sección Tamaño de Archivo para obtener más información.
INC_EXPORT_[batch run]_[thread]_[thread count]_[timestamp][_file sequence].json.gz
La secuencia de archivo se utiliza solo cuando se crea más de un archivo por subproceso. El sufijo de secuencia se completa a partir del segundo archivo de la siguiente manera _2.Consulte el control de lotes Exportación Generalizada en Curso (F1-GEEXO) para obtener más información.
Tamaño de Archivo
Por defecto, el proceso de lote de exportación inicial genera un solo archivo por subproceso. Para algunas entidades de gran volumen, esto puede dar lugar a archivos demasiado grandes para su administración. Para poder generar varios archivos más pequeños para una entidad específica, limite el número de registros escritos en cada archivo; para ello, defina el parámetro correspondiente en el control de lotes de exportación inicial definido para la entidad. Se puede especificar el mismo parámetro al ejecutar el proceso de lote del Iniciador de Exportación Inicial, en cuyo caso el valor del iniciador se utiliza solamente cuando no se definió un valor correspondiente en el registro de control de lotes específico de la entidad.
De la misma manera y por defecto, el proceso de lote de exportación en curso genera un solo archivo por subproceso. Para poder generar varios archivos más pequeños, defina el parámetro correspondiente en el control de lotes para limitar el número de registros escritos en cada archivo.
Para evitar la creación de demasiados archivos en una sola ejecución de lote, el sistema define un límite máximo de alrededor de 500 archivos por ejecución. Cuando el número solicitado de registros por archivo causa que el número de archivos generados exceda el límite del sistema, el valor real utilizado se ajusta para cumplir este límite.
Administración de un Gran Pendiente Acumulado
Cuando, por algún motivo, hay un gran pendiente acumulado de cambios en la cola de exportación en curso, el siguiente lote tarda más en exportarse, lo que retrasa el paso de importación posterior. Una mejor opción es que el pendiente acumulado se divida en "fragmentos" más pequeños, lo que permite que el proceso posterior los importe a medida que estén disponibles.
Puede utilizar el parámetro de lote Límite de Procesamiento de Subprocesos para limitar el número de registros exportados por el proceso de lote. Cuando se especifica, el número de registros exportados por cada subproceso se restringe al límite especificado y las ejecuciones de lote posteriores utilizan los registros restantes. En lugar de esperar la siguiente ejecución de lote planificada, se puede ejecutar automáticamente un nuevo proceso de lote si se utiliza el parámetro de lote Borrado Automático de Pendiente Acumulado.
Es importante garantizar que el pendiente acumulado se borre gradualmente y que la cola recupere oportunamente su tamaño normal. Por lo tanto, el límite de procesamiento debe definirse en un valor adecuado que promueva el borrado correcto de la cola. Para ello, hay que utilizar al menos el 20 % de la cola, y no menos de 100 000 registros, en cada ejecución de lote en todos los subprocesos. Si el límite especificado no cumple con el requisito de borrado mínimo, el límite de procesamiento se ajusta en consecuencia.
Formato de Registro
Por motivos de performance, los datos se obtienen y exportan directamente desde la base de datos en operaciones de lectura en bloque. Por esta razón, la estructura utilizada no refleja el modelo lógico de datos de la entidad, sino su lista física de tablas. Los datos de una instancia determinada se organizan en tablas seguidas por filas en cada tabla y, para cada fila, se muestra la lista de campos en formato JSON.
A continuación, se describen el formato y la estructura utilizados:
{
"OBJ": "<mo name>",
"TIMESTAMP": "<export time in ISO format for example 2019-07-25T11:06:04.740615Z>",
"PK1": "<mo pk1 value>",
"PK2": "<mo pk2 value if any>", ← PK2-5 should only be included when applicable
"PK3": "<mo pk3 value if any>",
"PK4": "<mo pk4 value if any>",
"PK5": "<mo pk5 value if any>",
"DELETED": true, ← should only be included when the entity is deleted
"DATA":
{
"<MO table name 1>":
[
{<name value pairs of all fields in row 1 in that table>},
{<name value pairs of all fields in row 2 in that table>},...
{<name value pairs of all fields in row n in that table>},...
],
"<MO table name 2>":
[
{<name value pairs of all fields in row 1 in that table>},
{<name value pairs of all fields in row 2 in that table>},...
{<name value pairs of all fields in row n in that table>}
],...
"<MO table name n>":
[
{<name value pairs of all fields in row 1 in that table>},
{<name value pairs of all fields in row 2 in that table>},...
{<name value pairs of all fields in row n in that table>}
]
}
Notas sobre los valores y formatos de los campos:
-
Se incluyen todos los campos de una fila, incluso cuando el campo está vacío o es nulo.
-
Se eliminan los espacios finales de todos los valores de cadena; pero, si un campo está vacío, se exporta como una cadena vacía "" y no nula.
-
Se utiliza una matriz vacía para un nodo de tabla cuando no existen registros para la entidad en la tabla.
-
La información de fecha/hora se convierte a la zona horaria UTC y se exporta en formato ISO, por ejemplo, 2019-07-25T11:06:04.740615Z.
-
Las supresiones tienen un indicador explícito en el encabezado.
Orden de Uso de Archivos
A fin de garantizar la consistencia de datos, es importante aplicar todos los archivos de exportación inicial para un objeto de mantenimiento antes de aplicar los archivos de cambio en curso.
-
Aplicar todos los archivos de exportación inicial de datos antes de los archivos de exportación en curso.
-
Aplicar los archivos iniciales para un objeto de mantenimiento en orden de número de ejecución.
-
Aplicar los archivos de exportación en curso en orden de número de ejecución.
-
Si hay disponible una nueva exportación inicial, el procedimiento de uso de archivos se debe cambiar temporariamente de la siguiente manera:
-
Detener el consumo de los archivos de exportación en curso.
-
Aplicar los nuevos archivos de exportación inicial.
-
Reanudar el uso de archivos de exportación en curso.
-
Recuperación de un Archivo de Exportación en Curso Perdido
El proceso de lote de exportación en curso mantiene un backup de todas las claves de entidad exportadas durante una ejecución de lote específica en una tabla de backup designada. En situaciones excepcionales en las que un archivo de exportación en curso se suprime o se daña antes de procesarse, se puede usar la tabla de backup para identificar los cambios faltantes y exportarlos nuevamente.
Utilice el proceso de lote Restaurar Claves de Exportación Generalizada (F1-GERST) para recuperarse de esta situación. El proceso identifica las entidades que se exportaron durante una ejecución de lote específica y las agrega nuevamente a la cola de cambios en curso desde la tabla de backup. Las entidades se exportarán nuevamente durante las siguientes ejecuciones de exportación en curso. Este método no restaura el contenido exacto del archivo original que se perdió, ya que no se puede reproducir. En cambio, el proceso garantiza que las entidades que se incluyeron en el archivo perdido se exporten nuevamente.