BT

Disseminando conhecimento e inovação em desenvolvimento de software corporativo.

Contribuir

Tópicos

Escolha a região

Início Notícias Amazon DynamoDB Accelerator (DAX): uma memória cache para leituras intensivas de cargas de trabalho

Amazon DynamoDB Accelerator (DAX): uma memória cache para leituras intensivas de cargas de trabalho

A AWS criou o Amazon DynamoDB Accelerator (DAX): um serviço de gerenciamento de cache de gravação direta que está disposto logicamente na frente das tabelas do DynamoDB para melhoria do desempenho das cargas de trabalho de leitura intensiva. DAX, disponível apenas para o SDK Java, é uma API compatível com DynamoDB, ou seja, as aplicações existentes não precisarão ser reescritas para aproveitar os seus recursos.

Amazon DynamoDB é um serviço de banco de dados NoSQL totalmente gerenciável e escalável que oferece suporte a modelos de documento e chave-valor. De acordo com o blog da AWS, o DynamoDB é utilizado em adtech, IoT, jogos, comércios eletrônicos e finanças. Alguns clientes armazenam mais de 100 terabytes em uma única tabela DynamoDB e fazem milhões de pedidos de leitura ou gravação por segundo. O DAX foi criado para fornecer desempenho adicional rápido na memória para aplicativos com leituras intensivas e eventualmente consistentes das cargas de trabalho.

DAX aborda três cenários principais:

  • Como cache na memória, DAX reduz a latência das cargas de trabalho de leitura eventualmente consistentes por uma ordem de grandeza de milissegundos para microssegundos.
  • DAX reduz a complexidade operacional e de aplicação ao fornecer um gerente de serviços que é uma API compatível com o Amazon DynamoDB e, portanto, requer apenas mudanças funcionais mínimas para que possa ser implementado em aplicações existentes.
  • Para cargas de trabalho de leitura leves ou pesadas, DAX proporciona um aumento na taxa de transferência e, potencial redução de custos operacionais, reduzindo a necessidade de sobrecarregar unidades de leitura. Isto é especialmente benéfico para aplicações que possuem chave "quente" ou para processamento de leitura com conjunto de dados DynamoDB muito grandes, nas quais as unidades de leitura são distribuídas de forma igual nas partições.

Como um serviço gerenciado, um cluster DAX é criado através da interface do usuário da AWS e as tarefas operacionais de software, como manutenção de cluster, replicação ou gerenciamento de falhas, são tratadas automaticamente (uma janela de manutenção pode ser especificada). Cada cluster DAX pode conter de 1 a 10 nós, e os nós são adicionados para aumentar o rendimento geral de leitura. O tamanho do cache é baseado no tamanho do nó, variando de dax.r3.large para dax.r3.8xlarge, que é especificado quando o cluster é inicializado. Os cluster são executados dentro de um VPC, e os nós que podem ser distribuídos em zonas de disponibilidade.

O DAX atualmente suporta apenas a API do DynamoDB Java SDK, e um novo SDK DAX para Java deve ser usado para a comunicação com o DAX. A documentação da AWS indica que isso ocorre porque o SDK se comunica com o cluster usando uma interface TCP de baixo nível que está ajustada para baixa latência e alta taxa de transferência. O suporte para acesso ao DAX em outros idiomas está no roteiro do produto.

De acordo com o guia do desenvolvedor DAX, casos de uso positivo para este tipo de cache incluem:

  • Aplicações que exigem um tempo de resposta rápido para as leituras.
  • Aplicações que lêem um pequeno número de itens com mais frequência do que outros. Por exemplo, para minimizar impactos de uma chave "quente" e uma distribuição de dados não uniforme, a atividade de leitura pode ser descarregada para um cache DAX.
  • Aplicações de leitura intensiva, mas que sejam sensíveis ao custo. O DAX permite que a atividade de leitura seja descarregada de uma tabela DynamoDB para um cluster DAX, reduzindo assim, a quantidade de unidades de leitura que seriam necessárias da outra forma.
  • Aplicações que requerem repetidas leituras de um grande conjunto de dados. Por exemplo, uma análise de dados de longa duração poderia consumir temporariamente toda a capacidade de leitura em uma tabela DynamoDB, o que afetaria negativamente outros aplicativos que precisam acessar os mesmos dados. Com o DAX, a análise pode ser realizada nos dados em cache.

Dax não é ideal para:

  • Aplicações que exigem leituras fortemente consistentes ou não podem tolerar leituras eventualmente consistentes (no entanto, o DAX pode ser configurado para se referir a tabela DynamoDB ao processar leituras consistentes).
  • Aplicações que não requerem tempo de resposta para leitura em microsegundos.
  • Aplicações de escrita intensivas ou que não executem muita atividade de leitura.
  • Aplicações que já estão usando uma solução de cache diferente com o DynamoDB, e usam sua própria lógica do lado do cliente para trabalhar com essa solução de cache.

O Amazon DAX está disponível hoje nas regiões Leste dos EUA (Norte da Virgínia), no Oeste dos EUA (Oregon e N. Califórnia), Asia (Tokyo) e da UE (Irlanda). Informações adicionais podem ser encontradas no guia de desenvolvimento DAX.

Avalie esse artigo

Relevância
Estilo/Redação

Conteúdo educacional

BT