DynamoDB - Concetti di base

Prima di utilizzare DynamoDB, devi familiarizzare con i suoi componenti di base e l'ecosistema. Nell'ecosistema DynamoDB, lavori con tabelle, attributi e elementi. Una tabella contiene set di elementi e gli elementi contengono set di attributi. Un attributo è un elemento fondamentale dei dati che non richiede ulteriore scomposizione, cioè un campo.

Chiave primaria

Le chiavi primarie servono come mezzo di identificazione univoca per gli elementi della tabella e gli indici secondari forniscono flessibilità nelle query. DynamoDB trasmette gli eventi dei record modificando i dati della tabella.

La creazione della tabella richiede non solo l'impostazione di un nome, ma anche la chiave primaria; che identifica gli elementi della tabella. Non ci sono due elementi che condividono una chiave. DynamoDB utilizza due tipi di chiavi primarie:

  • Partition Key- Questa semplice chiave primaria è costituita da un singolo attributo denominato "chiave di partizione". Internamente, DynamoDB utilizza il valore della chiave come input per una funzione hash per determinare lo storage.

  • Partition Key and Sort Key - Questa chiave, nota come "Chiave primaria composita", è costituita da due attributi.

    • La chiave di partizione e

    • La chiave di ordinamento.

    DynamoDB applica il primo attributo a una funzione hash e memorizza gli elementi con la stessa chiave di partizione insieme; con il loro ordine determinato dalla chiave di ordinamento. Gli elementi possono condividere le chiavi di partizione, ma non le chiavi di ordinamento.

Gli attributi della chiave primaria consentono solo valori scalari (singoli); e tipi di dati stringa, numero o binario. Gli attributi non chiave non hanno questi vincoli.

Indici secondari

Questi indici consentono di eseguire query sui dati della tabella con una chiave alternativa. Sebbene DynamoDB non ne imponga l'uso, ottimizzano le query.

DynamoDB utilizza due tipi di indici secondari:

  • Global Secondary Index - Questo indice possiede chiavi di partizione e ordinamento, che possono differire dalle chiavi di tabella.

  • Local Secondary Index - Questo indice possiede una chiave di partizione identica alla tabella, tuttavia, la sua chiave di ordinamento è diversa.

API

Le operazioni API offerte da DynamoDB includono quelle del piano di controllo, del piano dati (ad esempio, creazione, lettura, aggiornamento ed eliminazione) e flussi. Nelle operazioni del piano di controllo, crei e gestisci le tabelle con i seguenti strumenti:

  • CreateTable
  • DescribeTable
  • ListTables
  • UpdateTable
  • DeleteTable

Nel piano dati, esegui operazioni CRUD con i seguenti strumenti:

Creare Leggere Aggiornare Elimina

PutItem

BatchWriteItem

GetItem

BatchGetItem

Query

Scansione

UpdateItem

Cancellare l'oggetto

BatchWriteItem

Le operazioni di flusso controllano i flussi della tabella. Puoi rivedere i seguenti strumenti di streaming:

  • ListStreams
  • DescribeStream
  • GetShardIterator
  • GetRecords

Throughput fornito

Nella creazione della tabella, specifichi la velocità effettiva con provisioning, che riserva le risorse per le letture e le scritture. Le unità di capacità vengono utilizzate per misurare e impostare la velocità effettiva.

Quando le applicazioni superano la velocità effettiva impostata, le richieste non riescono. La console GUI di DynamoDB consente il monitoraggio del throughput impostato e utilizzato per un provisioning migliore e dinamico.

Leggi coerenza

DynamoDB utilizza eventually consistent e strongly consistentlegge per supportare le esigenze delle applicazioni dinamiche. Alla fine, le letture coerenti non forniscono sempre i dati correnti.

Le letture fortemente coerenti forniscono sempre dati correnti (ad eccezione di guasti alle apparecchiature o problemi di rete). Alla fine, le letture coerenti servono come impostazione predefinita, richiedendo un'impostazione di true inConsistentRead parametro per modificarlo.

Partizioni

DynamoDB utilizza le partizioni per l'archiviazione dei dati. Queste allocazioni di archiviazione per le tabelle hanno il supporto SSD e vengono replicate automaticamente tra le zone. DynamoDB gestisce tutte le attività di partizione, senza richiedere il coinvolgimento dell'utente.

Nella creazione della tabella, la tabella entra nello stato CREATING, che alloca le partizioni. Quando raggiunge lo stato ATTIVO, è possibile eseguire operazioni. Il sistema altera le partizioni quando la sua capacità raggiunge il massimo o quando si modifica la velocità effettiva.