DynamoDB - conceitos básicos
Antes de usar o DynamoDB, você deve se familiarizar com seus componentes básicos e ecossistema. No ecossistema DynamoDB, você trabalha com tabelas, atributos e itens. Uma tabela contém conjuntos de itens e os itens contêm conjuntos de atributos. Um atributo é um elemento fundamental de dados que não requer decomposição adicional, ou seja, um campo.
Chave primária
As chaves primárias servem como meio de identificação exclusiva para itens da tabela, e os índices secundários fornecem flexibilidade de consulta. O DynamoDB transmite eventos de registro modificando os dados da tabela.
A Criação da Tabela requer não apenas a definição de um nome, mas também da chave primária; que identifica os itens da tabela. Não há dois itens que compartilhem uma chave. DynamoDB usa dois tipos de chaves primárias -
Partition Key- Esta chave primária simples consiste em um único atributo conhecido como "chave de partição". Internamente, o DynamoDB usa o valor da chave como entrada para uma função hash para determinar o armazenamento.
Partition Key and Sort Key - Essa chave, conhecida como “Chave primária composta”, consiste em dois atributos.
A chave de partição e
A chave de classificação.
O DynamoDB aplica o primeiro atributo a uma função hash e armazena itens com a mesma chave de partição juntos; com sua ordem determinada pela chave de classificação. Os itens podem compartilhar chaves de partição, mas não chaves de classificação.
Os atributos de chave primária permitem apenas valores escalares (únicos); e string, número ou tipos de dados binários. Os atributos não-chave não têm essas restrições.
Índices Secundários
Esses índices permitem consultar os dados da tabela com uma chave alternativa. Embora o DynamoDB não force seu uso, eles otimizam a consulta.
O DynamoDB usa dois tipos de índices secundários -
Global Secondary Index - Este índice possui chaves de partição e classificação, que podem ser diferentes das chaves de tabela.
Local Secondary Index - Este índice possui uma chave de partição idêntica à da tabela, porém sua chave de classificação é diferente.
API
As operações API oferecidas pelo DynamoDB incluem as do plano de controle, plano de dados (por exemplo, criação, leitura, atualização e exclusão) e fluxos. Nas operações do plano de controle, você cria e gerencia tabelas com as seguintes ferramentas -
- CreateTable
- DescribeTable
- ListTables
- UpdateTable
- DeleteTable
No plano de dados, você executa operações CRUD com as seguintes ferramentas -
Crio | Ler | Atualizar | Excluir |
---|---|---|---|
PutItem BatchWriteItem |
GetItem BatchGetItem Inquerir Varredura |
UpdateItem | Apagar item BatchWriteItem |
As operações de fluxo controlam os fluxos da tabela. Você pode revisar as seguintes ferramentas de fluxo -
- ListStreams
- DescribeStream
- GetShardIterator
- GetRecords
Taxa de transferência provisionada
Na criação da tabela, você especifica a taxa de transferência provisionada, que reserva recursos para leituras e gravações. Você usa unidades de capacidade para medir e definir o rendimento.
Quando os aplicativos excedem o rendimento definido, as solicitações falham. O console da GUI do DynamoDB permite o monitoramento do rendimento definido e usado para um provisionamento melhor e dinâmico.
Consistência de leitura
DynamoDB usa eventually consistent e strongly consistentlê para oferecer suporte às necessidades de aplicativos dinâmicos. Leituras eventualmente consistentes nem sempre fornecem dados atuais.
As leituras fortemente consistentes sempre fornecem dados atuais (com exceção de falha de equipamento ou problemas de rede). Leituras eventualmente consistentes servem como configuração padrão, exigindo uma configuração de verdadeiro noConsistentRead parâmetro para alterá-lo.
Partições
O DynamoDB usa partições para armazenamento de dados. Essas alocações de armazenamento para tabelas têm suporte de SSD e são replicadas automaticamente nas zonas. O DynamoDB gerencia todas as tarefas de partição, não exigindo o envolvimento do usuário.
Na criação da tabela, a tabela entra no estado CREATING, que aloca as partições. Quando atinge o estado ATIVO, você pode realizar operações. O sistema altera as partições quando sua capacidade atinge o máximo ou quando você altera o rendimento.