Convalida dei dati di destinazione Amazon S3 - AWS Servizio di migrazione del Database

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Convalida dei dati di destinazione Amazon S3

AWS DMS supporta la convalida dei dati replicati nelle destinazioni Amazon S3. Poiché AWS DMS archivia i dati replicati come file flat in Amazon S3, utilizziamo le query Amazon Athena CREATE TABLE AS SELECT (CTAS) per convalidare i dati.

Le query sui dati archiviati in Amazon S3 richiedono molte risorse a livello di programmazione. Pertanto, AWS DMS esegue la convalida dei dati Amazon S3 durante l'acquisizione dei dati di modifica (CDC) solo una volta al giorno, a mezzanotte (00:00) UTC. Ogni convalida giornaliera eseguita da AWS DMS viene denominata convalida di intervallo. Durante una convalida di intervallo, AWS DMS convalida tutti i record di modifica che sono stati migrati nel bucket Amazon S3 di destinazione nelle 24 ore precedenti. Per ulteriori informazioni sulle limitazioni per la convalida di intervallo, consulta Limitazioni all'utilizzo della convalida della destinazione S3.

La convalida della destinazione Amazon S3 utilizza Amazon Athena, pertanto sono previsti costi aggiuntivi. Per ulteriori informazioni, consulta Prezzi di Amazon Athena.

Nota

La convalida della destinazione S3 richiede AWS DMS 3.5.0 o versioni successive.

Prerequisiti per la convalida della destinazione S3

Prima di utilizzare la convalida della destinazione S3, controlla le seguenti impostazioni e autorizzazioni:

  • Imposta su parquet il valore DataFormat per S3Settings dell'endpoint. Per ulteriori informazioni, consulta Impostazioni di Parquet per S3.

  • Assicurati che il ruolo assegnato all'account utente utilizzato per creare l'attività di migrazione disponga del set di autorizzazioni corretto. Consulta Autorizzazioni di seguito.

Per le attività che utilizzano la replica continua (CDC), controlla le seguenti impostazioni:

Autorizzazioni per l'utilizzo della convalida della destinazione S3

Per configurare l'accesso per l'uso della convalida della destinazione S3, assicurati che il ruolo assegnato all'account utente utilizzato per creare l'attività di migrazione disponga del seguente set di autorizzazioni. Sostituisci i valori di esempio con i tuoi valori.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "VisualEditor0", "Effect": "Allow", "Action": [ "athena:StartQueryExecution", "athena:GetQueryExecution", "athena:CreateWorkGroup" ], "Resource": "arn:aws:athena:<endpoint_region_code>:<account_id>:workgroup/dms_validation_workgroup_for_task_*" }, { "Effect": "Allow", "Action": [ "glue:CreateDatabase", "glue:DeleteDatabase", "glue:GetDatabase", "glue:GetTables", "glue:CreateTable", "glue:DeleteTable", "glue:GetTable" ], "Resource": [ "arn:aws:glue:<endpoint_region_code>:<account_id>:catalog", "arn:aws:glue:<endpoint_region_code>:<account_id>:database/aws_dms_s3_validation_*", "arn:aws:glue:<endpoint_region_code>:<account_id>:table/aws_dms_s3_validation_*/*", "arn:aws:glue:<endpoint_region_code>:<account_id>:userDefinedFunction/aws_dms_s3_validation_*/*" ] }, { "Effect": "Allow", "Action": [ "s3:GetBucketLocation", "s3:GetObject", "s3:ListBucketMultipartUploads", "s3:AbortMultipartUpload", "s3:ListMultipartUploadParts" ], "Resource": [ "arn:aws:s3:::<bucket_name>", "arn:aws:s3:::<bucket_name>/*" ] } ] }

Limitazioni all'utilizzo della convalida della destinazione S3

Esamina le seguenti limitazioni aggiuntive che si applicano quando si utilizza la convalida della destinazione S3. Per le limitazioni che si applicano a tutte le convalide, consulta Limitazioni.

  • Il valore DatePartitionSequence ha bisogno di un componente Day. La convalida della destinazione S3 non supporta il formato YYYYMM.

  • Quando la convalida di intervallo è in esecuzione durante la CDC, è possibile che nella tabella awsdms_validation_failures_v1 vengano visualizzati falsi errori di convalida. Questi errori si verificano perché AWS DMS migra le modifiche arrivate durante la convalida di intervallo nella cartella delle partizioni del giorno successivo. Normalmente, queste modifiche vengono scritte nella cartella delle partizioni del giorno corrente. Questi falsi errori rappresentano una limitazione della convalida della replica da un database di origine dinamico a una destinazione statica, come Amazon S3. Per esaminare questi falsi errori, verifica i record vicino alla fine della finestra di convalida (00:00 UTC), che è il momento in cui di solito compaiono questi errori.

    Per ridurre al minimo il numero di falsi errori, assicurati che il valore di CDCLatencySource per l'attività sia basso. Per informazioni sul monitoraggio della latenza, consulta Parametri dell'attività di replica.

  • Le attività nello stato failed o stopped non convalidano le modifiche del giorno precedente. Per ridurre al minimo gli errori di convalida dovuti a malfunzionamenti imprevisti, crea attività di sola convalida separate con le stesse mappature delle tabelle e gli stessi endpoint di origine e di destinazione. Per ulteriori informazioni sulle attività di sola convalida, consulta Utilizzo delle attività di sola convalida con la convalida della destinazione S3.

  • La colonna Stato di convalida nelle statistiche della tabella indica lo stato della convalida di intervallo più recente. Di conseguenza, una tabella che presenta delle discrepanze potrebbe apparire come convalidata dopo la convalida di intervallo del giorno successivo. Controlla s3_validation_failures folder nel bucket Amazon S3 di destinazione le mancate corrispondenze che si sono verificate più di un giorno prima.

  • S3 Validation utilizza la funzionalità bucketed table di Amazon Athena. Ciò consente alla convalida S3 di creare una copia bucket dei dati della tabella di destinazione. Ciò significa che la copia dei dati della tabella è suddivisa in sottoinsiemi che corrispondono al partizionamento interno della convalida DMS. I tavoli secchi Athena hanno un limite di 100.000 bucket. Tutte le tabelle che la convalida di S3 tenta di convalidare e che superano questo limite falliranno la convalida. Il numero di bucket che S3 Validation tenta di creare è uguale al seguente:

    (#records in the table) / (validation partition size setting)

    Per ovviare a questa limitazione, aumenta l'impostazione della dimensione della partizione di convalida in modo che il numero di bucket creati da S3 Validation sia inferiore a 100.000. Per ulteriori informazioni sul bucketing, consulta Partitioning and bucketing in Athena nella Amazon Athena User Guide.

Utilizzo delle attività di sola convalida con la convalida della destinazione S3

Un'attività di sola convalida esegue la convalida dei dati da migrare senza eseguire la migrazione.

Le attività di sola convalida continuano a essere eseguite, anche se l'attività di migrazione si interrompe, il che garantisce che AWS DMS non ignori la finestra di convalida di intervallo 00:00 UTC.

L'utilizzo delle attività di sola convalida con endpoint Amazon S3 presenta le seguenti limitazioni:

  • La convalida Amazon S3 per le attività di pieno carico con l'impostazione Validation-Only abilitata è supportata, ma funziona in modo diverso rispetto alle attività di pieno carico con l'impostazione Validation-Only per altri endpoint. Per S3 come destinazione, un'attività di questo tipo viene convalidata solo in base ai dati di pieno carico nella destinazione S3 e non in base ai dati migrati nell'ambito di una migrazione CDC. Utilizza questa funzionalità per convalidare i dati creati da un'attività solo pieno carico. L'utilizzo di questa modalità per convalidare i dati in una destinazione su cui è in esecuzione un'attività di CDC attiva non produce una convalida efficace.

  • Le attività di sola convalida convalidano solo le modifiche avvenute dopo l'ultima finestra di convalida di intervallo (00:00 UTC). Le attività di sola convalida non convalidano i dati di pieno carico o i dati CDC dei giorni precedenti.