Informazioni su Amazon DynamoDB

DynamoDB è un servizio di database non relazionale rapido e flessibile per qualsiasi scala. DynamoDB solleva i clienti dagli oneri amministrativi connessi alla gestione e al dimensionamento dei database distribuiti su AWS; non dovranno dunque occuparsi di provisioning di hardware, installazioni e configurazioni, pianificazione della capacità di throughput, repliche, applicazioni di patch o dimensionamento di cluster.

DynamoDB elimina la principale difficoltà del dimensionamento di database: la gestione del software di database e il provisioning dell'hardware necessario al suo funzionamento. Così è possibile distribuire un database non relazionale in pochi minuti. DynamoDB dimensiona automaticamente la capacità di throughput per soddisfare le richieste dei carichi di lavoro e partiziona e ripartiziona i dati man mano che crescono le dimensioni della tabella. Inoltre, DynamoDB replica simultaneamente i dati su tre strutture in una regione AWS, garantendo così disponibilità e durabilità elevate dei dati.

Quando leggono i dati provenienti da DynamoDB, gli utenti possono specificare se vogliono che la lettura sia a consistenza finale o forte:

  • Operazioni di lettura a consistenza finale (impostazione predefinita): l'opzione di consistenza finale massimizza il throughput di lettura. Tuttavia, una lettura a consistenza finale può non riflettere i risultati di una scrittura completata recentemente. Tutte le copie di dati raggiungono solitamente la coerenza entro un secondo. Una lettura ripetuta qualche minuto dopo dovrebbe fornire i dati aggiornati.
  • Operazioni di lettura fortemente consistenti: oltre alla consistenza finale, DynamoDB fornisce ulteriore flessibilità e controllo dando la possibilità di richiedere una lettura fortemente consistente se l'applicazione, o un elemento dell'applicazione, lo richiede. Una lettura fortemente consistente fornisce un risultato che riflette tutte le scritture che hanno ricevuto una risposta positiva prima della lettura.
  • Transazioni ACID – Le transazioni DynamoDB forniscono agli sviluppatori atomicità, coerenza, isolamento e durabilità (ACID) su una o più tabelle in un unico account AWS e in un’unica regione. Puoi utilizzare le transazioni quando crei applicazioni che richiedono inserimenti, eliminazioni o aggiornamenti coordinati in più elementi nell’ambito di un’unica operazione aziendale logica.

Nozioni di base

DynamoDB supporta operazioni GET/PUT utilizzando una chiave primaria definita dall'utente. La chiave primaria è l'unico attributo richiesto per gli elementi in una tabella. Specificare la chiave primaria quando si crea una tabella che identifica in modo univoco ciascun elemento. DynamoDB offre inoltre query flessibili, consentendo di eseguire query sugli attributi chiave non primari utilizzando indici secondari globali e indici secondari locali.

Una chiave primaria può essere una chiave di partizione ad attributo singolo o una chiave di ordinamento a partizione-composta. Una chiave di partizione a attributo singolo potrebbe essere, per esempio, ID utente. Una chiave di partizione ad attributo singolo permette di leggere e scrivere rapidamente i dati di una voce associata a un determinato ID utente.

Dynamo DB indicizza una chiave di partizione-ordinamento composta come un elemento chiave di partizione e un elemento chiave di ordinamento. Questa chiave a più sezioni mantiene una gerarchia fra i valori del primo e del secondo elemento. Per esempio, una chiave di ordinamento a partizione composta può essere una combinazione di ID utente (partizione) e Timestamp (ordinamento). Mantenere uno stesso elemento chiave di partizione consente di effettuare ricerche nell'elemento chiave di ordinamento. Queste ricerche consentono di utilizzare l'API Query per recuperare tutte le voci di un singolo ID utente su una serie di timestamp.

Sì. DynamoDB è un servizio cloud interamente gestito a cui si accede attraverso API. Le applicazioni in esecuzione su qualsiasi sistema operativo (come Linux, Windows, iOS, Android, Solaris, AIX e HP-UX) possono utilizzare DynamoDB. Consigliamo di usare gli SDK di AWS per iniziare a utilizzare con DynamoDB.

Pianificazione

Ogni tabella DynamoDB è associata a una velocità di trasmissione effettiva di lettura e di scrittura assegnata. La capacità di velocità effettiva è fatturata all'ora. È importante notare che viene applicato un addebito all'ora per la capacità di velocità effettiva indipendentemente dal fatto che si inviino o meno richieste alla tabella. Per cambiare la capacità effettiva di trasmissione assegnata alla tua tabella puoi utilizzare la Console di gestione AWS, l'API UpdateTableo l'API PutScalingPolicy per il dimensionamento automatico. Inoltre DynamoDB fattura lo storage dei dati e le spese standard di trasferimento dei dati su internet.

Per ulteriori informazioni sui prezzi di DynamoDB, consulta la pagina dei prezzi di DynamoDB.

La velocità di trasmissione effettiva massima per una singola tabella DynamoDB è praticamente illimitata. Per informazioni sui limiti in vigore, consulta la sezione relativa ai limiti in DynamoDB. Se desideri richiedere l'aumento di un limite, contatta Amazon

La velocità di trasmissione effettiva assegnata minima che puoi richiedere è 1 unità di capacità in scrittura e 1 unità di capacità in lettura per il dimensionamento automatico e il provisioning manuale della velocità di trasmissione effettiva. Questa assegnazione rientra nel piano gratuito che comprende 25 unità di capacità in scrittura e 25 unità di capacità in lettura. Il piano gratuito è valido a livello dell'account, non a livello delle tabelle. In altre parole, se si aggiunge della capacità assegnata a tutte le tabelle e la capacità totale non supera 25 unità di capacità in scrittura e 25 unità di capacità in lettura, la capacità assegnata rientra nel piano gratuito.

DynamoDB Standard (accesso infrequente) aiuta a ridurre i costi totali per le tabelle DynamoDB che archiviano dati consultati raramente come i registri delle applicazioni, i vecchi post sui social media, lo storico degli ordini degli e-commerce e gli obiettivi passati raggiunti nei videogiochi. Se l'archiviazione rappresenta il costo principale della tabella (il costo di archiviazione supera costantemente del 50% il costo della velocità di trasmissione effettiva, sia di lettura che di scrittura), allora la classe di tabella DynamoDB Standard (accesso infrequente) è la scelta più conveniente. Per ulteriori informazioni sui prezzi di DynamoDB Standard IA, consulta la pagina dei prezzi di DynamoDB.

Le tabelle DynamoDB Standard - accesso infrequente, esattamente come le tabelle DynamoDB Standard, hanno tutte le caratteristiche esistenti di DynamoDB, fra cui: tabelle globali, indici secondari, backup on demand e ripristino point-in-time (PITR). Le tabelle DynamoDB Standard - accesso infrequente inoltre sono dotate di integrazioni ad altri servizi AWS, proprio come le tabelle DynamoDB Standard. Per esempio, è possibile monitorare le prestazioni delle tabelle DynamoDB Standard -accesso infrequente utilizzando Amazon CloudWatch, usare i modelli AWS CloudFormation per effettuare il provisioning e gestire le tabelle DynamoDB Standard -accesso infrequente, aggiungere una cache con DynamoDB Accelerator (DAX) per accelerare le prestazioni, trasmettere le modifiche dei record di dati al flusso di dati Amazon Kinesis ed esportare i dati delle tabelle DynamoDB Standard - accesso infrequente su Amazon Simple Storage Service (Amazon S3).

Come funziona

Per ulteriori informazioni su modelli di dati e API, consulta la pagina Amazon DynamoDB: How It Works.

Per informazioni su scalabilità, disponibilità e durabilità consulta la sezione Dettagli del prodotto Amazon Dynamo DB.

Per informazioni sul dimensionamento automatico di DynamoDB, consulta Gestione automatica della capacità effettiva di trasmissione con dimensionamento automatico di Dynamo DB.

Per informazioni sulla sicurezza e il controllo di DynamoDB, consulta Identity and Access Management in Amazon DynamoDB.