Sobre o Amazon DynamoDB

O que é o Amazon DynamoDB?

O DynamoDB é um serviço de banco de dados não relacional rápido e flexível para qualquer escala. O DynamoDB permite que os clientes transfiram os encargos administrativos de operação e escalabilidade de bancos de dados distribuídos para a AWS. Dessa forma, os clientes não precisam se preocupar com provisionamento, instalação e configuração de hardware, planejamento de capacidade de throughput, replicação, aplicação de patches de software ou escalabilidade de clusters.

O que o DynamoDB pode gerenciar em meu nome?

O DynamoDB elimina um dos maiores obstáculos da escalabilidade de bancos de dados: o gerenciamento do software de banco de dados e o provisionamento do hardware necessário para executá-lo. Você pode implantar um banco de dados não relacional em apenas alguns minutos. O DynamoDB escala automaticamente a capacidade de throughput para atender às demandas das cargas de trabalho. Além disso, altera o particionamento dos dados à medida que o tamanho da tabela aumenta. Além disso, o DynamoDB replica dados de forma síncrona entre três instalações em uma região da AWS, proporcionado alta disponibilidade e resiliência de dados.

O que é o modelo de consistência do DynamoDB?

Ao fazerem a leitura de dados no DynamoDB, os usuários podem especificar se desejam que a leitura seja eventualmente consistente ou fortemente consistente:

  • Leituras eventualmente consistentes (padrão) – a opção de consistência eventual maximiza o throughput de leitura. Contudo, uma leitura eventualmente consistente pode não refletir os resultados de uma gravação concluída recentemente. Normalmente, todas as cópias de dados alcançam a consistência em um segundo. A repetição de uma leitura após um breve intervalo deve retornar os dados atualizados.
  • Leituras fortemente consistentes – além da consistência eventual, o DynamoDB também proporciona a flexibilidade e o controle de solicitar uma leitura fortemente consistente, se isso for exigido pelo aplicativo ou por um elemento do aplicativo. Uma leitura fortemente consistente retorna um resultado que reflete todas as gravações que receberam uma resposta bem-sucedida antes da leitura.
  • Transações ACID - As transações do DynamoDB fornecem aos desenvolvedores atomicidade, consistência, isolamento e durabilidade (ACID) em uma ou mais tabelas em uma única conta e região da AWS. Você pode usar transações ao criar aplicativos que exijam inserções, exclusões ou atualizações coordenadas de vários itens como parte de uma única operação comercial lógica.

Conceitos básicos

Que tipo de funcionalidade de consulta o DynamoDB suporta?

O DynamoDB oferece suporte a operações GET/PUT usando uma chave primária definida pelo usuário. A chave primária é o único atributo exigido para os itens em uma tabela. Você especifica a chave primária durante a criação da tabela. Essa chave identifica unicamente cada item. O DynamoDB também oferece consultas flexíveis por meio da pesquisa por atributos de chave não primária usando índices secundários globais e índices secundários locais.

Uma chave primária pode ser uma chave de partição de atributo único ou uma chave de classificação de partição composta. Uma chave de partição de atributo único pode ser, por exemplo, UserID. Essa chave de partição de atributo único permitiria ler e gravar rapidamente dados para cada item associado a um determinado ID do usuário.

O DynamoDB indexa uma chave composta de partição e ordenação como um elemento de chave de partição e um elemento de chave de ordenação. Essa chave de várias partes mantém uma hierarquia entre o primeiro e o segundo valor de elemento. Por exemplo, uma chave de classificação de partição composta pode ser uma combinação de UserID (partição) e Timestamp (classificação). Um elemento de chave de partição constante permite pesquisar no elemento de chave de classificação para recuperar itens. Essa pesquisa permitiria o uso da API Query para, por exemplo, recuperar todos os itens para um UserID específico em uma faixa de time stamps.

Como posso atualizar e consultar itens de dados com o DynamoDB?

Depois de criar uma tabela usando o console do DynamoDB ou a API CreateTable, você poderá usar as APIs PutItem ou BatchWriteItem para inserir itens. Em seguida, você pode usar GetItem, BatchGetItem ou, se as chaves primárias compostas estiverem habilitadas e em uso na tabela, a API Query para recuperar os itens que você adicionou à tabela.

O DynamoDB pode ser utilizado por aplicações em execução em qualquer sistema operacional?

Sim. O DynamoDB é um serviço gerenciado na nuvem que é acessado através de uma API. Aplicativos executados em qualquer sistema operacional (como Linux, Windows, iOS, Android, Solaris, AIX e HP-UX) podem usar o DynamoDB. Recomendamos o uso dos SDKS da AWS para começar a usar o DynamoDB.

Planejamento

Como sou cobrado pelo uso do DynamoDB?

Cada tabela do DynamoDB conta com taxas de throughput de leitura e gravação provisionadas associados a ela. Você será cobrado por hora para essa capacidade de taxa de transferência. Observe que a capacidade de taxa de transferência será cobrada por hora, independentemente de solicitações serem ou não enviadas à tabela. Se quiser alterar a capacidade de throughput provisionada da tabela, você poderá usar o Console de Gerenciamento da AWS, a API UpdateTable ou a API PutScalingPolicy para o Auto Scaling. Além disso, o DynamoDB também cobra o armazenamento físico de dados, bem como as taxas padrão de transferência de dados pela Internet.

Para saber mais sobre o preço do DynamoDB, acesse a página de preços do DynamoDB.

Qual é o throughput máximo que posso fornecer para uma tabela do DynamoDB específica?

O throughput máximo por tabela do DynamoDB é praticamente ilimitado. Para obter informações sobre os limites implementados, consulte Limites do DynamoDB. Se você quiser solicitar um aumento dos limites, entre em contato com a Amazon

Qual é o throughput mínimo que posso provisionar para uma tabela do DynamoDB específica?

O menor throughput provisionado que pode ser solicitado é uma unidade de capacidade de gravação e uma unidade de capacidade de leitura no provisionamento de throughput manual ou pelo Auto Scaling. Esse provisionamento fica dentro dos limites do nível gratuito, que permite 25 unidades de capacidade de gravação e 25 unidades de capacidade de leitura. O nível gratuito é aplicado na conta, e não na tabela. Em outras palavras, se você acrescentar a capacidade provisionada de todas as suas tabelas e se a capacidade total não for superior a 25 unidades de capacidade de gravação e 25 unidades de capacidade de leitura, sua capacidade provisionada estará qualificada para o nível gratuito.

O que são as classes de tabelas do DynamoDB?

O DynamoDB oferece duas classes de tabela criadas para ajudar você a otimizar os custos. A classe de tabela DynamoDB Standard é a padrão e é a opção recomendada para a grande maioria das workloads. A classe de tabela DynamoDB Standard-Infrequent Access (DynamoDB Standard-IA) é otimizada para tabelas que armazenam dados acessados com pouca frequência, no qual o armazenamento é o custo dominante. Cada tabela é a associada a uma classe e cada classe oferece preços diferentes para armazenamento de dados, bem como solicitações de leitura e gravação. Você pode selecionar a classe de tabela mais econômica com base nos requisitos de armazenamento e nos padrões de acesso a dados da sua tabela.

Quando devo usar o DynamoDB Standard-IA?

O DynamoDB Standard-IA ajuda a reduzir os custos totais do DynamoDB para tabelas que armazenam dados acessados com pouca frequência, como registros de aplicações, postagens antigas de mídia social, histórico de pedidos de comércio eletrônico e conquistas anteriores em jogos. Se o armazenamento for seu custo de tabela dominante (o custo de armazenamento excede 50% do custo de throughput (leituras e gravações) de forma consistente), então a classe de tabela DynamoDB Standard-IA é a escolha mais econômica para você. Saiba mais sobre os preços do DynamoDB Standard-IA na página de preços do DynamoDB.

Como as tabelas do DynamoDB Standard-IA funcionam com os atributos existentes do DynamoDB e se integram a outros produtos da AWS?

As tabelas do DynamoDB Standard-IA não são diferentes das tabelas do DynamoDB Standard no suporte a todos os atributos existentes do DynamoDB, incluindo tabelas globais, índices secundários, backups sob demanda e recuperação para um ponto no tempo (PITR). As tabelas do DynamoDB Standard-IA também têm integração incorporada com outros produtos da AWS da mesma maneira que as tabelas do DynamoDB Standard. Por exemplo, você pode monitorar a performance de suas tabelas do DynamoDB Standard-IA usando o Amazon CloudWatch, usar modelos do AWS CloudFormation para provisionar e gerenciar as tabelas do DynamoDB Standard-IA, adicionar um cache com DynamoDB Accelerator (DAX) para acelerar a performance, transmitir seus registros de alteração de dados para o Amazon Kinesis Data Streams e exportar suas tabelas de dado do DynamoDB Standard-IA para o Amazon Simple Storage Service (Amazon S3).

Como funciona

Modelos e APIs de dados

Para obter mais informações sobre modelos e APIs de dados, consulte Amazon DynamoDB: como funciona.

Escalabilidade, disponibilidade e resiliência

Para obter informações sobre escalabilidade, disponibilidade e resiliência, consulte os detalhes do produto do Amazon DynamoDB.

Auto Scaling

Para obter informações sobre o Auto Scaling do DynamoDB, consulte Como gerenciar a capacidade de throughput automaticamente com o Auto Scaling do DynamoDB.

Segurança e controle

Para obter informações sobre a segurança e o controle do DynamoDB, consulte Gerenciamento de identidade e acesso no Amazon DynamoDB.

Imagem de página da web
Acesse a página de definição de preço

Veja a definição de preço do Amazon DynamoDB

Saiba mais 
Imagem de cadastramento de conta
Cadastre-se para obter uma conta gratuita

Obtenha acesso instantâneo ao nível gratuito da AWS. 

Cadastre-se 
Imagem da caixa de ferramentas
Comece a criar no console

Comece a criar com o Amazon DynamoDB no Console de Gerenciamento da AWS.

Faça login