Integração ETL zero do DynamoDB com o Amazon OpenSearch Service - Amazon DynamoDB

Integração ETL zero do DynamoDB com o Amazon OpenSearch Service

O Amazon DynamoDB oferece uma integração ETL zero ao Amazon OpenSearch Service por meio do plug-in do DynamoDB para OpenSearch Ingestion. O Amazon OpenSearch Ingestion oferece uma experiência totalmente gerenciada e sem código para a ingestão de dados no Amazon OpenSearch Service.

Com o plug-in do DynamoDB para OpenSearch Ingestion, é possível usar uma ou mais tabelas do DynamoDB como fonte para ingestão em um ou mais índices do OpenSearch Service. É possível navegar e configurar os pipelines do OpenSearch Ingestion com o DynamoDB como fonte do OpenSearch Ingestion ou do DynamoDB Integrations no AWS Management Console.

Como funciona

O plug-in usa a exportação do DynamoDB para Amazon S3 para criar um snapshot inicial para carregar no OpenSearch. Depois que o snapshot for carregado, o plug-in usa o DynamoDB Streams para replicar quaisquer outras alterações quase em tempo real. Cada item é processado como um evento no OpenSearch Ingestion e pode ser modificado com plug-ins de processador. É possível eliminar atributos ou criar atributos compostos e enviá-los para índices diferentes por meio de rotas.

É necessário ter a recuperação para um ponto no tempo (PITR) habilitada para usar a exportação para o Amazon S3. Também é necessário ter o DynamoDB Streams habilitado (com a opção imagens novas e antigas selecionada) para poder usá-lo. É possível criar um pipeline sem tirar um snapshot excluindo as configurações de exportação.

Você também pode criar um pipeline com apenas um snapshot e sem atualizações excluindo as configurações do Streams. O plug-in não usa throughput de leitura ou gravação em sua tabela, portanto, é seguro usá-lo sem afetar o tráfego de produção. Há limites para o número de consumidores paralelos em um fluxo em que você deve pensar antes de criar essa ou outras integrações. Para saber outras considerações, consulte Práticas recomendadas para integração com o DynamoDB.

Para pipelines simples, uma única unidade de computação do OpenSearch (OCU) pode processar cerca de 1 MB por segundo de gravações. Isso equivale a cerca de mil unidades de solicitação de gravação (WCUs). Dependendo da complexidade do pipeline e de outros fatores, você pode conseguir mais ou menos do que isso.

O OpenSearch Ingestion comporta uma fila de mensagens não entregues (DLQ) para eventos que causam erros irrecuperáveis. Além disso, o pipeline pode continuar de onde parou sem a intervenção do usuário, mesmo se houver uma interrupção do serviço com o DynamoDB, o pipeline ou o Amazon OpenSearch Service.

Se a interrupção persistir por mais de 24 horas, isso poderá causar a perda de atualizações. No entanto, o pipeline continuaria processando as atualizações ainda disponíveis quando a disponibilidade fosse restaurada. Você precisaria criar um índice para corrigir quaisquer irregularidades devido aos eventos descartados, a menos que eles estivessem na fila de mensagens não entregues.

Para ver todas as configurações e os detalhes do plug-in, consulte a documentação do plug-in do OpenSearch Ingestion DynamoDB.

Experiência de criação integrada por meio do console

O DynamoDB e o OpenSearch Service têm uma experiência integrada no AWS Management Console, o que simplifica o processo inicial. Quando você passar por essas etapas, o serviço selecionará automaticamente o esquema do DynamoDB e adicionará as informações apropriadas do DynamoDB para você.

Para criar uma integração, acompanhe o Guia de introdução do OpenSearch Ingestion. Quando você chegar à Etapa 3: Criar um pipeline, substitua as etapas 1 e 2 pelas seguintes:

  1. Navegue até o console do DynamoDB.

  2. No painel de navegação à esquerda, selecione Integração.

  3. Selecione a tabela do DynamoDB que você deseja replicar no OpenSearch.

  4. Escolha Criar.

A partir daqui, você pode continuar com o restante do tutorial.

Próximas etapas

Para entender melhor como o DynamoDB se integra ao OpenSearch Service, consulte o seguinte: