O Amazon MemoryDB para Redis é um serviço de banco de dados na memória compatível com Redis, durável e com performance ultrarrápida. Foi desenvolvido especificamente para aplicações modernas com arquiteturas de microsserviços.

O Amazon MemoryDB é compatível com o Redis, um armazenamento de dados de código aberto bastante usado, permitindo que os clientes criem aplicações rapidamente usando as mesmas estruturas de dados, APIs e comandos flexíveis e descomplicados do Redis que eles já usam hoje. Com o Amazon MemoryDB, todos os seus dados são armazenados na memória, o que permite que você obtenha latência de leitura de microssegundos, latência de gravação de milissegundos de um dígito, além de alto throughput. O Amazon MemoryDB também armazena dados de forma durável em várias zonas de disponibilidade (AZs) usando um log transacional distribuído para permitir failover rápido, recuperação de banco de dados e reinicializações de nós. Oferecendo performance na memória e durabilidade multi-AZ, o Amazon MemoryDB pode ser usado como um banco de dados primário de alta performance para suas aplicações de microsserviços, eliminando a necessidade de gerenciar separadamente um cache e um banco de dados durável.

Compatibilidade com Redis

O Redis é um armazenamento rápido de dados de chave-valor de código aberto e na memória. Desenvolvedores usam o Redis para obter tempos de resposta inferiores a um milissegundo, permitindo milhões de solicitações por segundo para aplicações em tempo real em setores como jogos, tecnologia de anúncios, serviços financeiros, saúde e IoT. Em 2021, o Redis foi considerado o “banco de dados mais amado” do Stack Overflow pelo quinto ano consecutivo.

O Redis oferece APIs, comandos e estruturas de dados flexíveis, como fluxos, conjuntos e listas, para criar aplicações ágeis e versáteis. O MemoryDB mantém a compatibilidade com o Redis de código aberto e oferece suporte ao mesmo conjunto de tipos de dados, parâmetros e comandos do Redis que você conhece. Isso significa que o código, as aplicações, os drivers e as ferramentas que você já utiliza com o Redis podem ser usados com o MemoryDB para criar aplicações rapidamente.

Performance ultrarrápida

O MemoryDB armazena todo o seu conjunto de dados na memória para fornecer latência de leitura de microssegundos, latência de gravação de milissegundos de um dígito e alto throughput. Ele consegue processar mais de 13 trilhões de solicitações por dia e oferece suporte a picos de 160 milhões de solicitações por segundo.

Desenvolvedores que criam arquiteturas de microsserviços precisam de altíssima performance, pois essas aplicações podem envolver interações com muitos componentes de serviço por interação do usuário ou chamada de API. Com o MemoryDB, você pode habilitar a latência extremamente baixa para fornecer performance em tempo real para usuários finais.

O Amazon MemoryDB para Redis inclui multiplexação aprimorada de entrada/saída (E/S), que oferece melhorias significativas no throughput e na latência em grande escala. A multiplexação de entrada/saída (E/S) aprimorada é ideal para workloads limitadas por throughput com várias conexões de clientes. Os benefícios aumentam de acordo com o nível de simultaneidade da workload. Por exemplo, usando o nó r6g.4xlarge e executando 5.200 clientes simultâneos, você pode obter até 46% de aumento de throughput (operações de leitura e gravação por segundo) e até 21% de redução na latência do P99, em comparação com o MemoryDB para Redis 6. Para esses tipos de workloads, o processamento de entrada/saída (E/S) de rede de um nó pode se tornar um fator limitante na escalabilidade. Com a multiplexação aprimorada de entrada/saída (E/S), cada thread de E/S de rede dedicado encaminha comandos de vários clientes para o mecanismo Redis, aproveitando a capacidade do Redis de processar comandos em lotes com eficiência, conforme ilustrado no diagrama a seguir:

A multiplexação aprimorada de entrada/saída (E/S) está disponível automaticamente ao usar o Redis 7, sem custo adicional. Nenhuma alteração de configuração de aplicações ou serviços é necessária para usar a multiplexação de entrada/saída (E/S) aprimorada do MemoryDB para Redis.

Para obter mais informações, consulte a documentação.

Durabilidade multi-AZ

Além de armazenar todo o conjunto de dados na memória, o MemoryDB usa um log transacional distribuído para fornecer durabilidade, consistência e chances de recuperação de dados. O MemoryDB armazena dados em várias AZs, permitindo recuperação e reinicialização rápidas do banco de dados. Utilize o MemoryDB como um único serviço de banco de dados primário para suas workloads que exigem baixa latência e alto throughput, em vez de gerenciar separadamente um cache para velocidade e outro banco de dados relacional ou não relacional para confiabilidade.

Escalabilidade

Você pode escalar o cluster do MemoryDB para atender às demandas variáveis de aplicações: horizontalmente, adicionando ou removendo nós, ou verticalmente, movendo para tipos de nós maiores ou menores. O MemoryDB é compatível com escalabilidade de gravação com fragmentação e escalabilidade de leitura por meio da adição de réplicas. Seu cluster permanece online e oferece suporte a operações de leitura e gravação durante as operações de redimensionamento.

Totalmente gerenciados

Fácil de usar

É simples começar a usar o MemoryDB. Basta iniciar um novo cluster MemoryDB usando o Console de Gerenciamento da AWS, ou utilize a AWS CLI ou o SDK. As instâncias de banco de dados do MemoryDB são pré-configuradas com definições e parâmetros adequados para o tipo de nó selecionado. Você pode iniciar um cluster e conectar sua aplicação em minutos, sem necessidade de configuração adicional.

Monitoramento e métricas

O MemoryDB gera métricas do Amazon CloudWatch para instâncias de banco de dados. É possível usar o Console de Gerenciamento da AWS para visualizar mais de 35 das principais métricas operacionais de clusters, inclusive computação, memória, armazenamento, throughput, conexões ativas e mais.

Correção automática de software

O MemoryDB mantém automaticamente seus clusters em dia com as novas atualizações, e você pode atualizar facilmente seus clusters para as versões mais recentes do Redis.

Segurança

Redes

O MemoryDB é executado na Amazon VPC, permitindo que você isole seu banco de dados em sua própria rede virtual e se conecte à sua infraestrutura de TI on-premises usando VPNs IPsec criptografadas padrão do setor. Além disso, ao usar a configuração da VPC do MemoryDB, é possível configurar as definições do firewall e controlar o acesso de rede às suas instâncias de banco de dados.

Criptografia

Com o MemoryDB, os dados em repouso são criptografados usando chaves criadas e controladas pelo AWS Key Management Service (KMS). Os clusters criados com os tipos de nó AWS Graviton2 contam com criptografia DRAM de 256 bits sempre ativa. O MemoryDB oferece suporte a criptografia em trânsito usando Transport Layer Security (TLS).

Permissões no nível da API

Ao usar os recursos do AWS Identity and Access Management (IAM) integrados ao Amazon MemoryDB, você poderá controlar as ações que os usuários e os grupos do AWS IAM poderão executar nos recursos do Amazon MemoryDB. Por exemplo, você poderá configurar suas regras do IAM para ajudar a garantir que determinados usuários tenham acesso somente para leitura. Ao mesmo tempo, um administrador poderá criar, modificar e excluir recursos. Para obter mais informações sobre permissões em nível de API, consulte Using AWS IAM Policies for Amazon MemoryDB (Como usar políticas do AWS IAM para o Amazon MemoryDB).

Autenticação e autorização

O MemoryDB usa listas de controle de acesso (ACLs) do Redis para controlar a autenticação e a autorização do cluster. Com as ACLs, é possível definir permissões diferentes para usuários distintos no mesmo cluster.

Integração com o Kubernetes

O AWS Controllers para Kubernetes (ACK) para Amazon MemoryDB permite definir e usar recursos do MemoryDB diretamente do cluster do Kubernetes. Sendo assim, você aproveita o MemoryDB para oferecer suporte às suas aplicações Kubernetes sem precisar definir recursos do MemoryDB fora do cluster ou executar e gerenciar recursos de banco de dados na memória dentro do cluster. Baixe a imagem do contêiner do MemoryDB ACK do Amazon ECR e consulte a documentação para obter orientações sobre a instalação. Você também pode acessar o blog para obter informações mais detalhadas.

Observação: o ACK para Amazon MemoryDB agora está disponível ao público em geral. Envie seus comentários em nossa página do Github.

ACK for Amazon MemoryDB

Compatibilidade com JSON

O Amazon MemoryDB oferece suporte nativo para documentos JavaScript Object Notation (JSON), além das estruturas de dados incluídas no Redis de código aberto, sem custo adicional. Simplifique o desenvolvimento de aplicações usando os comandos internos criados e otimizados para documentos JSON. O MemoryDB oferece suporte a atualizações parciais de documentos JSON, bem como pesquisa e filtros eficazes usando a linguagem de consulta JSONPath. O suporte a JSON está disponível para uso do Redis 6.2 e versões superiores. Para obter mais informações, consulte a documentação do MemoryDB.

O Amazon MemoryDB para Redis permite que modelos de machine learning (ML) e inteligência artificial (IA) generativa funcionem com dados armazenados no Amazon MemoryDB em tempo real e sem transferir seus dados. Com o Amazon MemoryDB, você pode armazenar, pesquisar, indexar e consultar incorporações vetoriais nas estruturas de dados do Redis.

Vetores são representações numéricas de dados não estruturados, como texto, imagens e vídeo, criados a partir de modelos de ML que ajudam a capturar o significado semântico dos dados subjacentes. É possível armazenar incorporações de vetores de modelos de ML e de IA, como os do Amazon Bedrock e do Amazon SageMaker, em seu banco de dados do Amazon MemoryDB. Leia nossa documentação para saber mais sobre a pesquisa de vetores no Amazon MemoryDB.

Com a visualização prévia da pesquisa de vetores para o MemoryDB, você pode armazenar milhões de incorporações vetoriais e realizar dezenas de milhares de consultas por segundo (QPS) com recuperação de mais de 99% com pesquisas de vetores de um dígito de milissegundo e latências de atualização.

A pesquisa de vetores para o MemoryDB é adequada para casos de uso em que desempenho e escala máximos são os critérios de seleção mais importantes. Você pode usar a pesquisa e vetores para potencializar aplicações de ML e IA generativa em tempo real em casos de uso como geração aumentada de recuperação (RAG) para bots de bate-papo, detecção de fraudes, recomendações em tempo real e recuperação de documentos.

Otimização de custos

O MemoryDB oferece camadas de dados como uma forma escalar seus clusters até centenas de terabytes de capacidade com menor custo. Os níveis de dados oferecem uma opção de preço/performance para MemoryDB utilizando unidades de estado sólido (SSDs) de baixo custo em cada nó de cluster, além de armazenar dados na memória. É ideal para workloads que acessam até 20% do conjunto de dados geral regularmente e para aplicações que podem tolerar latência adicional ao acessar dados em SSDs.

Ao utilizar clusters com camadas de dados, o MemoryDB é projetado para mover automaticamente e de forma transparente os itens menos usados da memória para SSDs NVMe conectados localmente quando a capacidade de memória disponível é consumida. Ao acessar um item armazenado no SSD, o MemoryDB o move de volta à memória antes de atender ao pedido. A classificação de dados do MemoryDB está disponível nos nós R6gd baseados em Graviton2. Os nós R6gd têm quase 5x mais capacidade total (memória + SSD) e podem ajudar você a obter mais de 60% de economia nos custos de armazenamento ao executar com utilização máxima, em comparação com os nós R6g (somente memória). Assumindo valores de string de 500 bytes, você normalmente pode esperar uma latência adicional de 450 µs para solicitações de leitura para dados armazenados em SSD em comparação com solicitações de leitura para dados na memória.

O MemoryDB oferece nós reservados que permitem economizar até 55% sobre os preços dos nós sob demanda em troca de um compromisso de uso por um período de um ou três anos. Os nós reservados são complementares aos nós sob demanda do MemoryDB e oferecem flexibilidade às empresas para ajudar a reduzir custos. O MemoryDB disponibiliza três opções de pagamento de nós reservados (sem pagamento adiantado, pagamento adiantado parcial e pagamento adiantado integral) que permitem estabelecer um equilíbrio entre o valor pago adiantado e o preço por hora efetivo.

Os nós reservados do MemoryDB oferecem flexibilidade de tamanho dentro de uma família de nós e na região da AWS. Isso significa que a taxa de nós reservados com desconto será aplicada automaticamente ao uso de todos os tamanhos na mesma família de nós. O recurso de flexibilidade de tamanho reduz o tempo necessário para gerenciar seus nós reservados e, como você não está mais vinculado a um tamanho específico de nó de banco de dados, pode aproveitar ao máximo seu desconto, mesmo que seu banco de dados precise de atualizações.

Saiba mais sobre a definição de preço
Consulte os preços do MemoryDB

Descubra as opções de preços do MemoryDB

Saiba mais 
Aprenda com um tutorial
Aprenda com um tutorial

Veja como configurar seu primeiro cluster do MemoryDB.

Saiba mais  
 Comece a criar com o MemoryDB
Comece a criar com o MemoryDB

Confira o guia do usuário do MemoryDB para começar a usar.

Leia a documentação