Amazon MemoryDB é um banco em memória compatível com Redis, projetado para durabilidade e baixa latência.

Ele se diferencia de cache puro porque pode atuar como banco primário em memória para determinados workloads.

Amazon MemoryDB deve ser estudado a partir do padrão de acesso. Antes de escolher um banco, pergunte como a aplicação vai consultar, gravar, escalar e manter consistência.

muitas alternativas erradas parecem boas porque ignoram esse padrão de acesso.


O que é

Amazon MemoryDB deve ser entendido pelo modelo de dados, pelo padrão de consulta e pela consistência exigida. Banco de dados na nuvem não é apenas onde a informação fica guardada; é onde leitura, escrita, escala, backup, latência e custo se encontram.

A escolha do banco depende do padrão de acesso, consistência, escala, consulta e modelo de dados.


Por que existe

Amazon MemoryDB existe para resolver necessidades de persistência, consulta, consistência, escala ou especialização de dados. Escolher banco errado pode gerar custo alto, lentidão, modelagem confusa e dificuldade para manter a aplicação.


Como funciona

Usos

  • aplicações de baixa latência;
  • estado de sessão durável;
  • contadores;
  • placares;
  • workloads compatíveis com Redis que exigem persistência.

Decisão Arquitetural

Use MemoryDB quando a perda do dado em memória não é aceitável e quando a latência extremamente baixa justifica custo.

Se os dados já existem em outro banco e a intenção é apenas acelerar leitura, ElastiCache costuma ser a escolha mental mais simples.


Exemplo prático

Uma aplicação de pedidos pode usar:

Cada banco resolve um tipo de problema.


Diferenças importantes

Diferença para ElastiCache

Amazon ElastiCache é normalmente usado como cache.

MemoryDB busca oferecer durabilidade maior para dados em memória.

Como Diferenciar

  • RDS/Aurora: relacional e transacional.
  • DynamoDB: NoSQL chave-valor/documento.
  • ElastiCache: cache em memória.
  • Redshift: data warehouse.
  • Neptune: grafos.
  • Timestream: séries temporais.

Cuidados

Memória é cara.

Use quando latência e modelo de acesso justificam o custo.

Memória é uma camada cara. A modelagem precisa controlar tamanho dos dados, política de expiração, replicação, persistência e impacto financeiro.

A escolha do banco deve partir do padrão de acesso.

Perguntas importantes:

  • preciso de transação?
  • preciso de join?
  • preciso de baixa latência por chave?
  • preciso de analytics?
  • preciso de relacionamento em grafo?

Escolher banco só pelo nome do serviço costuma gerar arquitetura ruim.

NoSQL não é “sem modelagem”. Em DynamoDB, modelagem é orientada pelas consultas.


Relação com outras notas

Relação com ElastiCache

Amazon ElastiCache é usado principalmente como cache.

Amazon MemoryDB é mais adequado quando a aplicação quer compatibilidade com Redis, baixa latência e durabilidade maior para atuar como fonte primária de dados em memória.