O que é um banco de dados de chave-valor?

Definição de banco de dados de chave-valor

Um banco de dados de chave-valor é um tipo de banco de dados não relacional que usa um método de chave-valor simples para armazenar dados. Um banco de dados de chave-valor armazena dados como um conjunto de pares de chave-valor em que uma chave funciona como um identificador exclusivo. A chave e os valores podem ser qualquer coisa, desde objetos simples até objetos compostos complexos. Bancos de dados de chave-valor são altamente particionáveis e permitem escalabilidade horizontal que outros tipos de bancos de dados não conseguem alcançar. Por exemplo, o Amazon DynamoDB alocará partições adicionais a uma tabela se uma partição existente for preenchida até o limite de capacidade e mais espaço de armazenamento for necessário.

O diagrama a seguir mostra um exemplo de dados armazenados como pares de chave-valor no DynamoDB.

O diagrama que mostra um exemplo de dados armazenados como pares de chave-valor no DynamoDB

Casos de uso

Armazenamento de sessões

Um aplicativo orientado por sessão, como um aplicativo da Web, começa uma sessão quando o usuário faz login e fica ativo até que o usuário se desconecte ou a sessão expire. Durante esse período, o aplicativo armazena todos os dados relativos à sessão na memória principal ou em um banco de dados. Os dados da sessão podem incluir informações de perfil do usuário, mensagens, dados e temas personalizados, recomendações, promoções direcionadas e descontos. Cada sessão de usuário tem um identificador exclusivo. Os dados de sessão nunca são consultados por nada além de uma chave primária, então um armazenamento de chave-valor rápido é mais adequado para dados de sessão. Em termos gerais, os bancos de dados de chave-valor podem proporcionar menor sobrecarga por página do que bancos de dados relacionais.

Carrinho de compras

Na temporada de compras de fim de ano, um site de comércio eletrônico pode receber bilhões de pedidos em questão de segundos. Bancos de dados de chave-valor podem lidar com a escalabilidade de grandes quantidades de dados e volumes extremamente altos de mudanças de estado enquanto atendem a milhões de usuários simultâneos por meio do processamento e armazenamento distribuído. Bancos de dados de chave-valor também têm redundância incorporada, que podem lidar com a perda de nós de armazenamento.

Bancos de dados de chave-valor populares

Amazon DynamoDB

O Amazon DynamoDB é um banco de dados não relacional que fornece performance confiável em qualquer escala. O serviço é um banco de dados totalmente gerenciado que pode operar em várias regiões e com vários mestres para oferecer latência consistente abaixo de 10 milissegundos e incorpora recursos de segurança, backup e restauração, além de armazenamento em cache de memória. No DynamoDB, um Item é composto por uma chave primária ou composta e um número flexível de atributos. Não há um limite explícito para o número de atributos associados a um item individual, mas o tamanho agregado de um item, incluindo todos os nomes e os valores de atributo, não pode ultrapassar 400 KB. Uma tabela é um conjunto de itens de dados, assim como uma tabela em um banco de dados relacional é um conjunto de filas. Cada tabela pode ter um número infinito de itens de dados.

Você pode começar a usar o DynamoDB em apenas 10 minutos com este tutorial detalhado. Saiba mais sobre o DynamoDB e comece a usar hoje mesmo.

Conceitos básicos do Amazon DynamoDB

Apache Cassandra

O Apache Cassandra é um banco de dados não relacional e de alta performance comumente usado. Os clientes da AWS que atualmente mantêm o Cassandra no local também podem aproveitar a escalabilidade, a confiabilidade, a segurança e os benefícios econômicos da execução do Cassandra no Amazon EC2.

O EC2 e o Amazon Elastic Block Store (Amazon EBS) proporcionam armazenamento e capacidade computacional seguros e redimensionáveis na Nuvem AWS. Quando combinados, você pode implantar o Cassandra e escalar a capacidade de acordo com suas necessidades. Considerando o número de possíveis topologias de implantação, nem sempre é trivial selecionar a estratégia mais adequada para seu caso de uso. Use as Melhores práticas para a execução do Apache Cassandra no Amazon EC2 para implantar o Apache Cassandra na Nuvem AWS.

O DataStax Enterprise (DSE) é a plataforma de dados para aplicativos de nuvem baseada no Apache Cassandra que está sempre ativada. O DSE foi projetado para lidar com cargas de trabalho de big data por vários nós sem nenhuma falha. O DSE lida com o problema de falhas ao empregar o sistema distribuído peer-to-peer ao longo de nós homogêneos nos quais os dados são distribuídos entre todos os nós no cluster. O DES oferece funcionalidade avançada projetada para acelerar sua capacidade de criar aplicativos inteligentes e atrativos na nuvem. Integradas a cada nó de DSE, existem funcionalidades potentes de indexação, pesquisa, análise e gráfico criadas ao combinar o Cassandra com o Apache SoIr, o Apache Spark e o DSE Graph. Você pode gravar os dados uma vez e depois acessá-los por meio de uma variedade de cargas de trabalho e padrões de acesso, tudo isso usando uma solução única e coesa.  

Use o AWS DataStax Enterprise Quick Start (também disponível em formato PDF) para implantar um cluster de DSE na Nuvem AWS.