Configuración de tareas de validación de datos - AWS Database Migration Service

Configuración de tareas de validación de datos

Puede garantizar que los datos se han migrado de forma precisa del origen al destino. Si habilita la validación para una tarea, AWS DMS empieza a comparar los datos de origen y de destino inmediatamente después de realizar una carga completa para una tabla. Para obtener más información acerca de la validación de datos de tareas, sus requisitos, el ámbito de soporte de su base de datos y las métricas que notifica, consulte Validación de datos de AWS DMS. Para obtener información sobre cómo utilizar un archivo de configuración de tareas para establecer la configuración de las tareas, consulte Ejemplo de configuración de tarea.

La configuración de la validación de datos y sus valores incluye lo siguiente:

  • EnableValidation: habilita la validación de datos cuando se establece en verdadero. De lo contrario, la validación se deshabilita para la tarea. El valor predeterminado es false.

  • ValidationMode: controla cómo AWS DMS valida los datos de la tabla de destino con respecto a la tabla de origen. A partir de la versión 3.5.4 del motor de replicación, DMS lo establece automáticamente en GROUP_LEVEL para las rutas de migración compatibles, lo que ofrece un rendimiento de validación mejorado y un procesamiento considerablemente más rápido para conjuntos de datos de gran tamaño. Esta mejora se aplica a las migraciones de las rutas de migración enumeradas en la resincronización de datos de AWS DMS. Para todas las demás rutas de migración, el modo de validación está predeterminado en ROW_LEVEL.

    nota

    Independientemente de la configuración, AWS DMS valida todas las filas configuradas mediante la validación de tablas.

  • FailureMaxCount: especifica el número máximo de registros que pueden generar un error de validación antes de que se suspenda la validación de la tarea. El valor predeterminado es 10,000. Si desea que la validación continúe con independencia del número de registros que generen un error de validación, defina un valor superior al número de registros que hay en el origen.

  • HandleCollationDiff: cuando esta opción se establece en true, la validación tiene en cuenta las diferencias de intercalación de columnas entre las bases de datos de origen y de destino. De lo contrario, dichas diferencias en la intercalación de columna se pasan por alto para la validación. Las intercalaciones de columna pueden determinar el orden de las filas, lo cual es importante para la validación de datos. Al definir HandleCollationDiff en true se resuelven automáticamente estas diferencias de intercalación y se evitan falsos positivos en la validación de datos. El valor predeterminado es false.

  • RecordFailureDelayInMinutes: especifica el tiempo de retraso en minutos antes de notificar los detalles de error de validación.

    Si la latencia global de la tarea en modo CDC de DMS es superior al valor de RecordFailureDelayInMinutesthen, tendrá prioridad (por ejemplo, si RecordFailureDelayInMinutes es 5) y la latencia de CDC es de 7 minutos, DMS espera 7 minutos para informar de los detalles del error de validación.

  • RecordFailureDelayLimitInMinutes: especifica el retraso antes de notificar los detalles de los errores de validación. AWS DMS utiliza la latencia de la tarea para reconocer el retraso real de los cambios hasta llegar al destino para evitar falsos positivos. Esta configuración anula el valor real de retraso y de la latencia de la tarea en modo CDC de DMS y le permite establecer un retraso mayor antes de informar sobre las métricas de validación. El valor predeterminado es 0.

  • RecordSuspendDelayInMinutes: especifica el tiempo de espera en minutos antes de que se suspenda la validación de las tablas debido a que se ha establecido un umbral de error en FailureMaxCount.

  • SkipLobColumns: si esta opción se establece en true, AWS DMS omite la validación de datos de todas las columnas de LOB de la parte de la validación de tareas de la tabla. El valor predeterminado es false.

  • TableFailureMaxCount: especifica el número máximo de filas en una tabla que pueden generar un error de validación antes de que se suspenda la validación de la tabla. El valor predeterminado es 1,000.

  • ThreadCount: especifica el número de subprocesos de ejecución que AWS DMS utiliza durante la validación. Cada subproceso selecciona datos aún no validados del origen y del destino para compararlos y validarlos. El valor predeterminado es 5. Si establece ThreadCount en un número más elevado, AWS DMS puede completar la validación con mayor rapidez. Sin embargo, AWS DMS a continuación ejecuta más consultas simultáneas, consumiendo más recursos en el origen y el destino.

  • ValidationOnly: cuando esta opción se establece en true, la tarea realiza la validación de datos sin realizar ninguna migración ni replicación de datos. El valor predeterminado es false. No puede modificar la configuración de ValidationOnly una vez creada la tarea.

    Debe establecer TargetTablePrepMode en DO_NOTHING (el valor predeterminado para una tarea exclusiva de validación) y establecer el Tipo de migración en una de las siguientes opciones:

    • Carga completa: defina el tipo de migración de la tarea en Migrar los datos existentes en la consola de AWS DMS. O bien, en la API de AWS DMS, defina el tipo de migración en CARGA COMPLETA.

    • CDC: establezca la tarea Tipo de migración en Replicar solo cambios de datos en la consola de AWS DMS. O bien, en la API de AWS DMS, establezca el tipo de migración en CDC.

    Independientemente del tipo de migración elegido, los datos en realidad no se migran ni se replican durante una tarea exclusiva de validación.

    Para obtener más información, consulte Tareas exclusivas de validación.

    importante

    La configuración de ValidationOnly es inmutable. No se puede modificar para una tarea después de crearla.

  • ValidationPartialLobSize: especifica si desea realizar una validación parcial de las columnas de LOB en lugar de validar todos los datos almacenados en la columna. Esto puede resultarle útil al migrar solo una parte de los datos de LOB y no todo el conjunto de datos de LOB. El valor está en unidades de KB. El valor predeterminado es 0, lo que significa que AWS DMS valida todos los datos de la columna de LOB. Por ejemplo, "ValidationPartialLobSize": 32 significa que AWS DMS solo valida los primeros 32 KB de los datos de la columna, en el origen y en el destino.

  • PartitionSize: especifica el tamaño del lote de registros que se van a leer para compararlos entre el origen y el destino. El valor predeterminado es 10 000.

  • ValidationQueryCdcDelaySeconds: el tiempo que se retrasa la primera consulta de validación tanto en el origen como en el destino de cada actualización de CDC. Esto podría ayudar a reducir la contención de recursos cuando la latencia de migración es alta. Una tarea exclusiva de validación establece automáticamente esta opción en 180 segundos. El valor predeterminado es 0.

Por ejemplo, el siguiente JSON permite la validación de datos con dos veces el número predeterminado de procesos. También contabiliza las diferencias en el orden de registros provocadas por diferencias de intercalación de columnas en puntos de enlace de PostgreSQL. Asimismo, proporciona un retraso de informes de validación para incluir tiempo adicional para procesar los errores de validación.

"ValidationSettings": { "EnableValidation": true, "ThreadCount": 10, "HandleCollationDiff": true, "RecordFailureDelayLimitInMinutes": 30 }
nota

Para un punto de enlace de Oracle, AWS DMS utiliza DBMS_CRYPTO para la validación de BLOB. Si el punto de conexión de Oracle utiliza BLOB, conceda el permiso execute para DBMS_CRYPTO a la cuenta de usuario que accede al punto de conexión de Oracle. Para hacer esto, ejecute la siguiente instrucción.

grant execute on sys.dbms_crypto to dms_endpoint_user;