Selecione suas preferências de cookies

Usamos cookies essenciais e ferramentas semelhantes que são necessárias para fornecer nosso site e serviços. Usamos cookies de desempenho para coletar estatísticas anônimas, para que possamos entender como os clientes usam nosso site e fazer as devidas melhorias. Cookies essenciais não podem ser desativados, mas você pode clicar em “Personalizar” ou “Recusar” para recusar cookies de desempenho.

Se você concordar, a AWS e terceiros aprovados também usarão cookies para fornecer recursos úteis do site, lembrar suas preferências e exibir conteúdo relevante, incluindo publicidade relevante. Para aceitar ou recusar todos os cookies não essenciais, clique em “Aceitar” ou “Recusar”. Para fazer escolhas mais detalhadas, clique em “Personalizar”.

Práticas recomendadas para trabalhar com a Integração ETL zero do DynamoDB e o OpenSearch Service

Modo de foco
Práticas recomendadas para trabalhar com a Integração ETL zero do DynamoDB e o OpenSearch Service - Amazon DynamoDB

O DynamoDB tem uma integração ETL zero do DynamoDB com o Amazon OpenSearch Service. Para ter mais informações, consulte o plug-in do DynamoDB para ingestão do OpenSearch e as práticas recomendadas específicas para o Amazon OpenSearch Service.

Configuração

  • Somente indexe os dados nos quais você precisa realizar pesquisas. Sempre use um modelo de mapeamento (template_type: index_template e template_content) e include_keys para implementar isso.

  • Monitore os logs em busca de erros relacionados a conflitos de tipos. O OpenSearch Service espera que todos os valores de uma chave específica tenham o mesmo tipo. Ele gera exceções quando há incompatibilidades. Se você encontrar um desses erros, poderá adicionar um processador para conferir se uma chave específica sempre tem o mesmo valor.

  • Geralmente, use o valor de metadados primary_key para o valor document_id. No OpenSearch Service, o ID do documento é equivalente à chave primária no DynamoDB. O uso da chave primária facilitará a localização do documento e garantirá que as atualizações sejam replicadas de forma consistente e sem conflitos.

    É possível usar a função auxiliar getMetadata para ter a chave primária (por exemplo, document_id: "${getMetadata('primary_key')}"). Se você estiver usando uma chave primária composta, a função auxiliar as concatenará para você.

  • Em geral, use o valor de metadados opensearch_action para a configuração action. Isso garantirá que as atualizações sejam replicadas de forma que os dados no OpenSearch Service correspondam ao estado mais recente no DynamoDB.

    É possível usar a função auxiliar getMetadata para ter a chave primária (por exemplo, action: "${getMetadata('opensearch_action')}"). Também é possível ter o tipo de evento de fluxos por meio de dynamodb_event_name para casos de uso como filtragem. No entanto, normalmente, você não deve usá-lo para a configuração action.

Observabilidade

  • Sempre use uma fila de mensagens não entregues (DLQ) em seus coletores do OpenSearch para lidar com eventos descartados. O DynamoDB geralmente é menos estruturado do que o OpenSearch Service, e sempre é possível que algo inesperado aconteça. Com uma fila de mensagens não entregues, é possível recuperar eventos individuais e até mesmo automatizar o processo de recuperação. Isso ajudará você a evitar a necessidade de recriar todo o índice.

  • Sempre defina alertas de que o atraso na replicação não ultrapassa o valor esperado. Normalmente, é seguro presumir um minuto para que o alerta não seja muito ruidoso. Isso pode variar dependendo da intensidade do tráfego de gravação e das configurações da unidade de computação do OpenSearch (OCU) no pipeline.

    Se o atraso na replicação ultrapassar 24 horas, o fluxo começará a descartar eventos e você terá problemas de precisão, a menos que faça uma recriação completa do índice.

Escalabilidade

  • Use o ajuste de escala automático para pipelines a fim de ajudar a aumentar ou reduzir a escala verticalmente das OCUs e melhor atender à workload.

  • Para tabelas de throughput provisionadas sem ajuste de escala automático, recomendamos configurar OCUs com base nas unidades de capacidade de gravação (WCUs) divididas por mil. Defina o mínimo como 1 OCU abaixo desse valor (mas pelo menos 1) e defina o máximo como pelo menos 1 OCU acima desse valor.

    • Fórmula:

      OCU_minimum = GREATEST((table_WCU / 1000) - 1, 1) OCU_maximum = (table_WCU / 1000) + 1
    • Exemplo: sua tabela tem 25.000 WCUs provisionadas. As OCUs do pipeline devem ser definidas com um mínimo de 24 (25.000/1.000 - 1) e máximo de pelo menos 26 (25.000/1.000 + 1).

  • Para tabelas de throughput provisionadas sem ajuste de escala automático, recomendamos configurar OCUs com base nas WCUs divididas por 1.000. Defina o mínimo como 1 OCU abaixo do mínimo do DynamoDB e defina o máximo como pelo menos 1 OCU acima do máximo do DynamoDB.

    • Fórmula:

      OCU_minimum = GREATEST((table_minimum_WCU / 1000) - 1, 1) OCU_maximum = (table_maximum_WCU / 1000) + 1
    • Exemplo: sua tabela tem uma política de ajuste de escala automático com um mínimo de 8.000 e máximo de 14.000. As OCUs do pipeline devem ser definidas com um mínimo de 7 (8.000/1.000 - 1) e um máximo de 15 (14.000/1.000 + 1).

  • Para tabelas de throughput sob demanda, recomendamos configurar OCUs com base em picos e vales típicos para unidades de solicitação de gravação por segundo. Talvez seja necessário calcular a média por um longo período, dependendo da agregação disponível para você. Defina o mínimo como 1 OCU abaixo do mínimo do DynamoDB e defina o máximo como pelo menos 1 OCU acima do máximo do DynamoDB.

    • Fórmula:

      # Assuming we have writes aggregated at the minute level OCU_minimum = GREATEST((min(table_writes_1min) / (60 * 1000)) - 1, 1) OCU_maximum = (max(table_writes_1min) / (60 * 1000)) + 1
    • Exemplo: sua tabela tem um vale médio de 300 unidades de solicitação de gravação por segundo e um pico médio de 4.300. As OCUs do pipeline devem ser definidas com um mínimo de 1 (300/1.000 - 1, mas pelo menos 1) e máximo de 5 (4.300/1.000 + 1).

  • Siga as práticas recomendadas para escalar os índices de destino do OpenSearch Service. Se os índices estiverem subescalados, isso diminuirá a ingestão do DynamoDB e poderá causar atrasos.

nota

GREATEST é uma função SQL que, considerando-se um conjunto de argumentos, exibe o argumento com o maior valor.

PrivacidadeTermos do sitePreferências de cookies
© 2025, Amazon Web Services, Inc. ou suas afiliadas. Todos os direitos reservados.