Validação de dados de destino do Amazon S3 - AWS Database Migration Service

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Validação de dados de destino do Amazon S3

O AWS DMS é compatível com a validação de dados replicados em destinos do Amazon S3. Como o AWS DMS armazena dados replicados como arquivos sem formatação no Amazon S3, usamos consultas CREATE TABLE AS SELECT (CTAS) do Amazon Athena para validar os dados.

As consultas de dados armazenados no Amazon S3 exigem uso intensivo de comutação. Portanto, o AWS DMS executa a validação nos dados do Amazon S3 durante a captura de dados de alteração (CDC) somente uma vez por dia, à meia-noite (0h) UTC. Cada validação diária que o AWS DMS executa é chamada de validação de intervalo. Durante uma validação de intervalo, o AWS DMS valida todos os registros de alteração que foram migrados para o bucket de destino do Amazon S3 nas últimas 24 horas. Para obter mais informações sobre as limitações de validação de intervalo, consulte Limitações da utilização da validação de destino do S3..

A validação de destino do Amazon S3 utiliza o Amazon Athena, portanto, custos adicionais são aplicados. Para obter mais informações, consulte Preços do Amazon Athena.

nota

A validação de destino do S3 requer o AWS DMS versão 3.5.0 ou posterior.

Pré-requisitos da validação do S3 de destino

Antes de utilizar a validação de destino do S3, verifique as seguintes configurações e permissões:

  • Defina o valor de DataFormat das S3Settings do endpoint como parquet. Para ter mais informações, consulte Configurações de parquet para S3.

  • Verifique se o perfil atribuído à conta do usuário utilizada para criar a tarefa de migração tem o conjunto de permissões correto. Consulte Permissões a seguir.

Para tarefas que utilizam a replicação contínua (CDC), verifique as seguintes configurações:

Permissões para utilizar a validação de destino do S3

Para configurar o acesso para utilizar a validação do destino do S3, verifique se o perfil atribuído à conta de usuário utilizada para criar a tarefa de migração tem o seguinte conjunto de permissões. Substitua os valores de amostra por seus próprios valores.

{ "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>/*" ] } ] }

Limitações da utilização da validação de destino do S3.

Visualize as seguintes limitações adicionais que se aplicam à utilização da validação de destino do S3. Para obter as limitações que se aplicam a todas as validações, consulte Limitações.

  • O valor de DatePartitionSequence precisa de um componente Day. A validação de destino do S3 não é compatível com o formato YYYYMM.

  • Quando a validação do intervalo está em execução durante a CDC, é possível ver erros de validação falsos na tabela awsdms_validation_failures_v1. Esses erros ocorrem porque o AWS DMS migra as alterações que chegaram durante a validação do intervalo para a pasta de partições do dia seguinte. Normalmente, essas alterações são gravadas na pasta de partições do dia atual. Esses erros falsos são uma limitação da validação da replicação de um banco de dados de origem dinâmico para um destino estático, como o Amazon S3. Para investigar esses erros falsos, verifique os registros perto do final da janela de validação (0h UTC), que é quando esses erros normalmente aparecem.

    Para minimizar o número de erros falsos, verifique se o valor de CDCLatencySource da tarefa é baixo. Para obter informações sobre como monitorar a latência, consulte Métricas de tarefas de replicação.

  • As tarefas no estado failed ou stopped não validam as alterações do dia anterior. Para minimizar os erros de validação causados por falhas inesperadas, crie tarefas separadas somente de validação com os mesmos mapeamentos de tabela e endpoints de origem e de destino. Para obter mais informações sobre as tarefas de somente validação, consulte Utilizar tarefas de somente validação com a validação do S3 de destino.

  • A coluna Status de validação nas estatísticas da tabela reflete o estado da validação do intervalo mais recente. Como resultado, uma tabela com incompatibilidades pode ser mostrada como validada após a validação do intervalo do dia seguinte. Verifique s3_validation_failures folder no bucket do Amazon S3 de destino para obter as incompatibilidades que ocorreram há mais de um dia.

  • A validação do S3 usa o recurso de tabela agrupada do Amazon Athena. Isso permite que a validação do S3 faça uma cópia agrupada dos dados da tabela de destino. Isso significa que a cópia dos dados da tabela é dividida em subconjuntos que correspondem ao particionamento interno da validação do DMS. As mesas com compartimentos Athena têm um limite de 100.000 baldes. Todas as tabelas que a validação do S3 tentar validar que excedam esse limite falharão na validação. O número de buckets que o S3 Validation tenta criar é igual ao seguinte:

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

    Para contornar essa limitação, aumente a configuração do tamanho da partição de validação para que o número de buckets criados pelo S3 Validation seja inferior a 100.000. Para obter mais informações sobre o armazenamento em intervalos, consulte Particionamento e armazenamento em intervalos no Athena no Guia do usuário do Amazon Athena.

Utilizar tarefas de somente validação com a validação do S3 de destino

Uma tarefa somente de validação executa a validação nos dados que devem ser migrados sem executar a migração.

As tarefas somente de validação continuam sendo executadas, mesmo que a tarefa de migração seja interrompida, o que garante que o AWS DMS não perca a janela de validação do intervalo de 0h UTC.

A utilização de tarefas de somente validação com os endpoints de destino do Amazon S3 apresenta as seguintes limitações:

  • A validação de tarefas de carga máxima do Amazon S3 com a configuração Somente validação ativada é compatível, mas opera de forma diferente das tarefas de carga máxima e de somente validação de outros endpoints. Para o S3 como destino, uma tarefa desse tipo valida somente com base nos dados de carga máxima no destino do S3 e não validará em relação a nenhum dado migrado como parte de uma migração de CDC. Utilize esse recurso somente para validar os dados criados por uma tarefa somente de carga máxima. A utilização desse modo para validar os dados em um destino que tenha uma tarefa de CDC ativa em execução não produzirá uma validação eficaz.

  • As tarefas somente de validação validam somente as alterações desde a última janela de validação do intervalo (0h UTC). As tarefas de somente validação não validam dados de carga máxima ou de dados de CDC de dias anteriores.