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

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.

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 de una tarea, AWS DMS comienza a comparar los datos de origen y destino inmediatamente después de completar la carga de 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 la forma en que DMS validará los datos de la tabla de destino con respecto a la tabla de origen. AWS DMS proporciona esta configuración para una futura extensibilidad. Actualmente, el único valor válido y predeterminado esROW_LEVEL. AWS DMS valida todas las filas entre las tablas de origen y destino.

  • 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 columna en los puntos de conexión de PostgreSQL y Microsoft SQL Server cuando identifica los registros de origen y de destino que se comparan. 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.

  • RecordFailureDelayLimitInMinutes: especifica el retraso antes de notificar los detalles de error de validación. Normalmente, AWS DMS utiliza la latencia de tareas para reconocer el retraso real en los cambios que hacer en el destino a fin de evitar falsos positivos. Esta configuración anula el valor de retraso real y le permite establecer un retraso mayor antes de notificar 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 está establecida entrue, AWS DMS omite la validación de datos de todas las columnas 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 se AWS DMS utilizan durante la validación. Cada hilo selecciona not-yet-validated datos del origen y el destino para compararlos y validarlos. El valor predeterminado es 5. Si se establece ThreadCount en un número mayor, AWS DMS se puede completar la validación más rápido. 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 TargetTablePrepModeen DO_NOTHING (el valor predeterminado para una tarea únicamente 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 AWS DMS consola. O bien, en la AWS DMS API, 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 AWS DMS API, establece 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, tanto en el origen como 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 final de Oracle, AWS DMS utiliza DBMS_CRYPTO para validar los BLOBs. 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;