- Produtos›
- Banco de dados›
- Amazon DynamoDB
Amazon DynamoDB FAQs
Sobre o Amazon DynamoDB
What is 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 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.
- 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. Além disso, o DynamoDB fornece consultas flexíveis ao possibilitar a consulta de atributos de chaves não primários usando índices secundários globais e índices secundários locais.
Uma chave primária pode ser uma chave de partição composta por um único atributo ou uma chave de classificação de partição composta. Uma chave de partição composta por um único atributo 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 entre 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. Com essa pesquisa, você pode usar a API Query para, por exemplo, recuperar todos os itens de um único UserID ao longo de um intervalo de carimbos de data/hora.
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. É recomendável usar os AWS SDKs 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 você deseja alterar a capacidade de throughput provisionada da sua tabela, é possível fazer isso ao usar o Console de Gerenciamento da AWS, a API UpdateTable ou a API PutScalingPolicy para o ajuste de escala automático. 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 obter mais informações sobre os preços do DynamoDB, consulte 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ê deseja solicitar um aumento de limite, 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.
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ê. Consulte mais informações sobre os preços da classe 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 de dados e APIs
Para obter mais informações sobre modelos de dados e APIs, 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.