Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
AWS DMS resincronización de datos
AWS Database Migration Service (AWS DMS) La resincronización de datos corrige automáticamente las inconsistencias de datos identificadas mediante la validación de datos entre las bases de datos de origen y destino. Esta función funciona como parte de sus tareas de migración de DMS actuales, lo que garantiza que se realicen las actualizaciones adecuadas en función de las configuraciones de las tareas, los ajustes de conexión, las asignaciones de tablas y las transformaciones.
La función de resincronización de datos funciona leyendo los errores de validación de una tabla de control de la base de datos de destino y ejecutando las operaciones de reparación adecuadas. Cuando se detecta una discrepancia, los datos actuales se recuperan de la fuente utilizando la clave principal almacenada en el registro de fallos y se aplican al destino respetando las transformaciones configuradas. Para obtener más información, consulte awsdms_validation_failures_v2tabla de control.
El comportamiento varía en función del tipo de migración. En el full-load-only caso de las tareas, la resincronización de datos se ejecuta una vez finalizada la carga inicial y la validación. En el caso de las tareas con captura de datos de cambios (CDC), la resincronización de datos funciona según un cronograma configurado y detiene temporalmente la replicación y la validación mientras se aplican las correcciones.
Durante las operaciones de resincronización de los CDC:
-
La replicación y la validación se detienen temporalmente.
-
La resincronización de datos procesa los errores de validación existentes.
-
Se reanudan la replicación y la validación normales.
-
El proceso se repite según la programación configurada.
La resincronización de datos rastrea automáticamente el estado de cada operación de reparación y proporciona métricas detalladas mediante estadísticas de tablas.
- Requisitos previos:
-
La función de resincronización de datos necesita los siguientes requisitos previos:
-
Debe tener la versión AWS DMS del motor 3.6.1 o posterior.
-
Debe configurar los ajustes de programación y duración para las tareas que tienen una replicación continua. Las tareas que solo se cargan a plena carga no requieren estos ajustes.
-
Limitaciones
La función de resincronización de datos tiene las siguientes limitaciones:
-
La resincronización de datos solo admite Oracle y SQL Server como base de datos de origen.
-
La resincronización de datos admite el motor compatible con PostgreSQL y Amazon Aurora PostgreSQL como base de datos de destino.
-
Todas las tablas de la base de datos de origen y destino deben tener claves principales. La validación no admite tablas sin una clave principal o una clave única. Las tablas que no tengan una clave principal o única válida quedan suspendidas de la validación y no se informa de ningún error de validación.
-
Al ejecutar Full-load-only tareas, la validación de datos debe estar habilitada.
-
La resincronización de datos no se puede habilitar para las tareas exclusivas de validación, ya que no replican ningún dato. Puede habilitar la resincronización en la tarea de replicación principal proporcionando únicamente la validación.
taskID
Para obtener más información, consulte Tareas exclusivas de validación. -
Si la tarea exclusiva de validación tiene una configuración de
ControlSchema
parámetros configurada en la configuración de la tarea, la tarea de replicación también debe tener la misma configuración de parámetros para que la resincronización de datos pueda detectar los errores de validación correctos. -
Debe configurar los ajustes de programación y duración de las tareas de los CDC.
-
Durante el período de resincronización, la resincronización de los datos puede afectar a la latencia de replicación en el DMS.
Para obtener más información sobre la solución de problemas de las validaciones AWS DMS durante la resincronización de datos, consulte la sección de solución de problemas de la validación de datos.AWS DMS
Programación y temporización
Para las tareas con los CDC, debe configurar cuándo y durante cuánto tiempo funcionará la resincronización de datos. Esto ayuda a evitar que sus operaciones de replicación normales se vean afectadas. Usted especifica:
-
Un programa que utiliza el formato cron para definir cuándo se pueden producir las operaciones de resincronización.
-
Una duración máxima para garantizar que las operaciones de resincronización no se prolonguen hasta los períodos de mayor consumo.
Se recomienda programar las operaciones de resincronización durante las horas de menor actividad o en un período en el que los cambios en la base de datos de origen sean mínimos o nulos.
nota
El tiempo programado incluye esperar a que el flujo de aplicación de destino esté vacío, ya que la resincronización de datos y la replicación normal no pueden ejecutarse simultáneamente.
Casos de uso
La función de resincronización de datos permite a los usuarios conciliar las incoherencias de datos entre los sistemas de origen y destino. Identifica los registros que no coinciden y los sincroniza para mantener la coherencia de los datos en los entornos distribuidos. Los siguientes casos de uso muestran situaciones comunes en las que la función de resincronización de datos resuelve los problemas de coherencia de los datos:
- Escenario 1: tarea de carga completa: ejecute la resincronización con la misma tarea de DMS
-
En tu tarea actual de migración a plena carga de DMS, puedes hacer lo siguiente:
-
Habilitar la validación:.
Validation with data migration = true
-
Habilitar la resincronización:
Data resync = true
-
- Escenario 2: Carga completa y tarea exclusiva de CDC: ejecute la resincronización con la misma tarea de DMS
-
En su tarea actual de migración a DMS CDC, puede hacer lo siguiente:
-
Habilitar la validación:
Validation with data migration = true
. -
Habilitar la resincronización:
Data resync = true
-
Especifique el programa de resincronización:.
"ResyncSchedule": "0 0,2,4,6 * * *"
-
Especifique la hora de resincronización:
MaxResyncTime": 60
-
- Escenario 3: carga completa y tarea exclusiva de CDC o CDC para la replicación y resincronización, en combinación con una tarea únicamente de validación
-
Para realizar una operación de validación exclusiva en otra tarea de DMS al utilizar la resincronización, puede hacer lo siguiente:
-
Cree una tarea de DMS CDC que solo sea de validación.
nota
Debe anotar y especificar el ID de esta tarea durante la resincronización de datos.
-
En su tarea principal de los CDC, deshabilite la validación:.
Data validation = false
-
Habilitar la resincronización:
Data resync = true
-
Especifique el programa de resincronización:.
"ResyncSchedule": "0 0,2,4,6 * * *"
-
Especifique la hora de resincronización:.
MaxResyncTime": 60
-
Especifique el ID de la tarea de DMS CDC exclusiva para la validación. El identificador de tarea únicamente de validación se adjunta al final del ARN. Ejemplo de ARN:
arn:aws:dms:us-west-2:123456789012:task:6DG4CLGJ5JSJR67CFD7UDXFY7KV6CYGRICL6KWI
y ejemplo de ID de tarea solo de validación:.6DG4CLGJ5JSJR67CFD7UDXFY7KV6CYGRICL6KWI
-
Prácticas recomendadas
Puede aprovechar la función de resincronización de datos AWS Database Migration Service para mejorar la durabilidad de sus tareas de replicación y lograr la coherencia. Algunas de las mejores prácticas para utilizar la función de resincronización de datos son:
-
Como parte de la resincronización de datos, los registros que no coinciden se corrigen extrayéndolos de la fuente y aplicándolos a la base de datos de destino. Si la base de datos de origen se actualiza durante la ventana de resincronización, la resincronización lee el último valor del registro y lo aplica al destino. Esto puede provocar que los eventos de aplicación de los CDC fallen e introduzcan inconsistencias temporales en la base de datos de destino. Para evitarlo, debe programar la ventana de resincronización fuera del horario laboral o en períodos en los que los cambios en la base de datos de origen sean nulos o mínimos.
-
Establezca la ventana de resincronización durante los períodos de actividad mínima de la base de datos de origen y dentro del umbral de latencia objetivo aceptable. Los intervalos de resincronización pequeños pueden provocar la acumulación de discordancias de validación no procesadas, mientras que las ventanas grandes pueden aumentar la latencia de la replicación cuando se producen muchos errores de validación. Supervise los errores de validación y las tasas de resincronización para determinar los intervalos de resincronización óptimos durante los períodos de inactividad de la fuente. Algunos ejemplos de configuración de las ventanas de resincronización son:
-
Configuración de múltiples ventanas cortas:
"ResyncSchedule": "0 0,2,4,6 * * *", "MaxResyncTime": 60
-
Configuración de ventana diaria única:
"ResyncSchedule": "0 0 * * *", "MaxResyncTime": 360
-
-
Supervise la latencia de replicación en el DMS durante las ventanas de resincronización y ajuste la programación en consecuencia para mitigar los grandes picos.
-
Puede revisar los resultados de la resincronización mediante las estadísticas de la tabla o consultando la tabla en la base de datos de destino.
awsdms_validation_failures_v2
Para obtener más información, consulte Supervisión de las tareas de replicación mediante Amazon CloudWatch. -
Cuando la tarea se encuentre en una fase de replicación continua, evite iniciar una recarga de tablas individuales durante la ventana de resincronización.
-
Mejores prácticas para una tarea de replicación de los CDC:
-
Todas las tablas de su base de datos completan el proceso de carga.
-
Los desajustes se identifican en el proceso de validación en curso.
-
Según el período programado de resincronización, la tarea de replicación se detiene durante un breve período.
-
La resincronización de datos corrige los problemas identificados durante el proceso de validación.
-
El proceso de replicación se reanuda y se repite según el cronograma.
-
Configuración y ejemplos de resincronización de datos
- Configuración de los ajustes de resincronización de datos:
-
Puede configurar la resincronización para su tarea de replicación en DMS. A continuación, se muestra un ejemplo de la configuración de los ajustes de resincronización de datos en su tarea:
"ResyncSettings": { "EnableResync": true, "ResyncSchedule": "0 0,2,4,6 * * *", // Run at 12AM, 2AM, 4AM, and 6AM daily "MaxResyncTime": 60, // Run for maximum of 60 minutes, or 1 hour "ValidationTaskId": "TASK-ID-IF-NEEDED" //Optional, used only if validation is performed as a separate Validation only task }
Ejemplos de patrones comunes de programación de resincronización:
-
0 0 * * *
: Ejecute una vez al día a medianoche. -
0 0,12 * * *
: Corre dos veces al día a medianoche y al mediodía. -
0 0,2,4,6, * * *
: Corre cada dos horas entre la medianoche y las 6 de la mañana. -
0 1 * * 1
: Corre todas las semanas los lunes a la 1 de la madrugada.
nota
Debe especificar un número para cada día, del 0 al 6. Para obtener más información, consulte Reglas de expresiones cron.
- Supervisión de las operaciones de resincronización:
-
Puede supervisar la operación de resincronización mediante las estadísticas de la tabla. A continuación, se muestra un ejemplo de resultado:
{ "TableStatistics": { ... "ValidationFailedRecords": 1000, ... "ResyncRowsAttempted": 1000, "ResyncRowsSucceeded": 995, "ResyncRowsFailed": 5, "ResyncProgress": 99.5, // ratio of ResyncRowsSucceeded/ValidationFailedRecords "ResyncState": "Last resync at: 2024-03-14T06:00:00Z" } }
Para configurar la función de resincronización de datos AWS DMS, puede revisar varios parámetros de resincronización y sus respectivos ajustes de configuración. Para obtener más información, consulte Configuración de resincronización de datos. Para obtener más información sobre la configuración del registro de resincronización de datos, consulte. Configuración de las tareas de los registros
Validación y solución de problemas
- Validación:
-
Cuando la validación de datos está habilitada, AWS DMS crea una tabla de errores de validación en la base de datos de destino con la siguiente estructura:
CREATE TABLE awsdms_validation_failures_v2 ( "RESYNC_ID" bigint NOT NULL, "TASK_NAME" varchar(128) NOT NULL, "TABLE_OWNER" varchar(128) NOT NULL, "TABLE_NAME" varchar(128) NOT NULL, "FAILURE_TIME" timestamp NOT NULL, "KEY_TYPE" varchar(128) NOT NULL, "KEY" varchar(7800) NOT NULL, "FAILURE_TYPE" varchar(128) NOT NULL, "DETAILS" varchar(7000) NOT NULL, "RESYNC_RESULT" varchar(128) NULL, "RESYNC_TIME" timestamp NULL, "RESYNC_ACTION" varchar(128) NULL );
Puede escribir una consulta en esta tabla para comprender las discrepancias de datos que se encuentran y cómo se resuelven.
Cuando la validación está habilitada, AWS DMS crea una tabla de errores de validación en la base de datos de destino. Si tiene algún problema, puede consultar la awsdms_control.awsdms_validation_failures_v2
tabla para saber qué discrepancias de datos se encuentran y cómo se resuelven. Para obtener más información, consulte la sección de solución de problemas de la validación AWS DMS de datos.
- Flujo de trabajo común:
-
Durante la validación en la resincronización de datos, el flujo de trabajo estándar es el siguiente:
Tareas que solo se cargan a plena carga:
-
Todas las tablas de la base de datos completan el proceso de carga.
-
Los desajustes se identifican en el proceso de validación en curso.
-
La resincronización de datos corrige los problemas identificados durante el proceso de validación.
-
El proceso de validación valida la rectificación.
-
La tarea de migración se ha completado correctamente.
Tareas de los CDC:
-
Todas las tablas de su base de datos completan el proceso de carga.
-
Los desajustes se identifican en el proceso de validación en curso.
-
Según el período programado de resincronización, la tarea de replicación se detiene durante un breve período.
-
La resincronización de datos corrige los problemas identificados durante el proceso de validación.
-
El proceso de replicación se reanuda y se repite según el cronograma.
-
Cualquier modificación que se realice en la tarea, como detener la tarea de replicación durante la operación de resincronización o volver a cargar y revalidar las tablas, puede afectar al comportamiento y al resultado de la tarea. Algunos de los cambios de comportamiento conocidos son los siguientes:
Al detener la tarea de replicación mientras la operación de resincronización está en curso:
-
La operación de resincronización no se reanuda automáticamente. Debe volver a reiniciarla.
-
Las operaciones de resincronización futuras se realizan según el programa configurado.
-
Las correcciones incompletas se intentarán en la siguiente ventana de programación de resincronización.
Al volver a cargar una tabla de la base de datos:
-
La operación de resincronización omite cualquier tabla que se esté recargando.
-
Se ignoran los errores de validación anteriores de una tabla que se ha vuelto a cargar.
-
La nueva validación comienza una vez finalizada la acción de recarga.
Al volver a validar una tabla de la base de datos:
-
Se restablecen todas las estadísticas de la operación de resincronización.
-
Se ignoran los errores de validación anteriores de una tabla que se ha revalidado.
nota
Al actualizar o mover una tarea a la versión 3.6.1 o superior del DMS, los errores de la awsdms_control.awsdms_validation_failures_v1
tabla no se vuelven a sincronizar. Solo se vuelven a sincronizar los errores de la tablaawsdms_validation_failures_v2
. Para volver a sincronizar los errores de la awsdms_control.awsdms_validation_failures_v2
tabla, debe volver a cargar la tarea, volver a cargar una o más tablas de la tarea o volver a validar una o más tablas. Para obtener más información, consulte los enlaces siguientes:
-
Para volver a cargar una tarea, consulta la referencia de la API.
StartReplicationTask
-
Para volver a cargar una o más tablas en una tarea, consulte
reload-tables
la documentación de referencia de comandos de la AWS CLI. -
Para volver a validar una o más tablas, consulte la
validate-only
opción en lareload-tables
sección de la documentación de referencia de comandos de la AWS CLI.
.
Reglas de expresión cron
Para configurar las operaciones de resincronización de datos durante una tarea de replicación, AWS DMS puede utilizar las reglas de expresiones cron. Estas reglas le permiten personalizar los intervalos de tiempo de resincronización y programarlos según las necesidades de su empresa. Puede utilizar varios parámetros, como minutos, horas, días, meses y días de la semana. Las reglas de expresión cron para cada parámetro son:
- Minutos:
-
-
Rango de minutos de 0 a 59.
-
Puede usar (
-
),or
/and
para especificar el rango. Máximo 10 elementos separados por una coma (,
). -
Ejemplos:
-
2-5
es igual a.2,3,5,5
-
1-2,3-4,5,7-10
es un rango válido. -
1,2,3,4,5,6,7,8,9,10
es un rango válido. -
1,2,3,4,5,6,7,8,9,10,11
no es un rango válido. La operación de resincronización se produce después del décimo elemento del rango.
-
-
Puede usar ().
*
Ejemplo:*
es igual a0-59
. -
Puede usar (
/
) solo en combinación con (-
) o (*
).Ejemplos:
-
2-7/2
es igual a2,4,6
. -
*/15
es igual a0,15,30,45
.
-
-
- Horas:
-
Igual que «Minutos», pero el intervalo válido va de
0
a23
.
- Días:
-
-
Igual que «Minutos», pero el intervalo válido va de
1
a31
. -
L
Se admite el uso de en la configuración de resincronización. Se interpreta como el último día del mes. No debe usarlo en combinación con otra sintaxis.
-
- Meses:
-
Igual que «Minutos», pero el intervalo válido va de
1
a12
.
- Días de la semana:
-
-
Igual que «Minutos», pero el intervalo válido va de
0
0 a6
. -
No se puede añadir un valor de cadena para el nombre de la semana.
-