O que é o DynamoDB?

P: 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.

P: 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.

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

Ao fazer 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.

Conceitos básicos

P: Que tipo de funcionalidade de consulta o DynamoDB oferece?

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. Além disso, o DynamoDB 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 composta de partição e ordenação. 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 valores de elemento. Por exemplo, uma chave composta de partição e ordenação pode ser uma combinação de UserID (partição)e Timestamp (ordenação). Um elemento de chave de partição constante permite pesquisar no elemento de chave de ordenaçã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.

P: Como eu 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 ativadas e em uso na tabela, a API Query para recuperar os itens que você adicionou à tabela.

P: O DynamoDB pode ser utilizado por aplicativos em execução em qualquer sistema operacional?

Sim. O DynamoDB é um serviço totalmente 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 AWS SDKs para começar a usar o DynamoDB.

Planejamento

P: Como sou cobrado pelo uso do DynamoDB?

Cada tabela do DynamoDB conta com throughputs de leitura e gravação provisionados associados a ela. A capacidade de throughput excedente ao nível gratuito será cobrada a cada hora. Observe que a capacidade de throughput será cobrada por hora, independentemente de solicitações serem ou não enviadas à tabela. Se quiser alterar o throughput provisionado da tabela, você poderá usar o Console de Gerenciamento da AWS, a API UpdateTable ou a API PutScalingPolicy API 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 definição de preço do DynamoDB.

P: Qual é o throughput máximo que eu posso provisionar para uma única tabela do DynamoDB?

O DynamoDB foi projetado para escalar sem limites. No entanto, se você quiser exceder as taxas de throughput de 10.000 unidades de capacidade de gravação ou 10.000 unidades de capacidade de leitura em uma tabela individual, deverá antes entrar em contato com a Amazon. Se deseja provisionar mais que 20.000 unidades de capacidade de gravação ou de 20.000 unidades de capacidade de leitura de uma conta de assinatura específica, você deverá antes entrar em contato conosco para solicitar um aumento de limite.

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

O menor throughput provisionado que pode ser solicitado é 1 unidade de capacidade de gravação e 1 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.

Como funciona

P: Modelos e APIs de dados

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

P: Escalabilidade, disponibilidade e resiliência

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

P: 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.

P: Segurança e controle

Para obter informações sobre a segurança e o controle do DynamoDB, consulte Controle de acesso e autenticação para Amazon DynamoDB.

Saiba mais sobre a definição de preço do Amazon DynamoDB

Acesse a página de definição de preço
Pronto para criar?
Comece a usar o DynamoDB
Mais dúvidas?
Entre em contato conosco