Che cos’è un database chiave-valore?

La definizione di database chiave-valore

Un database chiave-valore è un database non relazionale che immagazzina i dati mediante un semplice metodo chiave-valore. Un database chiave-valore immagazzina i dati come un insieme di coppie di chiave-valore dove una chiave rappresenta un identificatore univoco. Le chiavi e i valori possono essere qualsiasi cosa, da un oggetto semplice ad articolati oggetti composti. I database chiave-valore sono altamente partizionabili e consentono un dimensionamento orizzontale a livelli che altri tipi di database non possono consentire. Per esempio, Amazon DynamoDB aggiunge un’ulteriore partizione a una tabella nel caso in cui una partizione esistente sia piena e sia necessario uno spazio maggiore.

Il seguente diagramma mostra un esempio di dati raccolti come coppie chiave-valore in DynamoDB.

Il diagramma mostra un esempio di dati raccolti come chiave-valore in DynamoDB.

Casi d'uso

Memorizzazione

Un’applicazione che prevede delle sessioni, come un’applicazione web, si avvia quando l’utente accede e rimane attiva fino a quando l’utente si disconnette o quando la sessione si interrompe. In questo lasso di tempo, l’applicazione immagazzina tutti i dati della sessione o nella memoria principale o nel database. I dati di una sessione possono includere le informazioni sul profilo dell’utente, messaggi, dati personalizzati e temi, raccomandazioni, promozioni mirate e sconti. Le sessioni utenti hanno un identificatore univoco. I dati di una sessione non vengono mai ripresi se non da una chiave primaria, quindi uno store chiave-valore veloce è auspicabile per le sessioni di dati. In generale, i database chiave-valore possono garantire minori spese per pagina rispetto ai database relazionali.

Carrello

Nei periodi di shopping in prossimità delle festività, un sito web di e-commerce può ricevere miliardi di ordini in pochi secondi. I database chiave-valore gestiscono grandi quantità di dati e numerosi cambiamenti di stato mentre vengono utilizzati in simultanea da milioni di clienti attraverso il calcolo distribuito e l’archiviazione. La ridondanza permette ai database chiave-valore di sopperire alla perdita di nodi materiale archiviato.

I database chiave-valore più diffusi

Amazon DynamoDB

Amazon DynamoDB è un database non relazionale che fornisce prestazioni affidabili su qualsiasi scala. Si tratta di un database multi master, multi regione e completamente gestito che fornisce latenza costante di pochi millisecondi e che offre sicurezza integrata, backup e ripristino e cache in memoria. Nel database DynamoDB, una voce è formata da una chiave primaria o composta da un numero variabile di attributi. Non sono esplicitamente previste limitazioni al numero di attributi associati a una singola voce, ma le dimensioni aggregate di una voce, inclusi tutti i nomi e i valori degli attributi, non possono superare i 400 KB. Le tabelle sono composte da una raccolta di voci di dati, mentre in un database relazionale sono composte da un insieme di righe. Ogni tabella può avere un numero infinito di voci di dati.

Puoi imparare a utilizzare DynamoDB in soli 10 minuti grazie a questo tutorial dettagliato. Approfondisci DynamoDB e inizia oggi stesso.

Nozioni di base su Amazon DynamoDB

Apache Cassandra

Apache Cassandra è un database non relazionale molto usato che garantisce ottime prestazioni. I clienti AWS che dispongono di Cassandra in locale potrebbero voler approfittare dei vantaggi di scalabilità, affidabilità, sicurezza ed economici forniti da Cassandra su Amazon EC2.

EC2 e Amazon Elastic Block Store (Amazon EBS) forniscono una capacità di calcolo sicura e ridimensionabile e l’archiviazione nel cloud AWS. Quando sono combinati, puoi adattare Cassandra e la scalabilità a seconda delle tue esigenze. Dato la varietà delle modalità di utilizzo, non è da sottovalutare la possibilità di selezionare la strategia che meglio si adatta al caso d’uso specifico. Utilizza la Guida per l’utilizzo di Apache Cassandra su Amazon EC2 per avere Apache Cassandra su AWS.

DataStax Enterprise (DSE) è la piattaforma dati sempre attiva per le applicazioni su cloud di Apache Cassandra. DSE è stata concepita per gestire grandi quantità di dati in più nodi senza avere un singolo punto critico. DSE fa fronte al problema dei punti critici attraverso un sistema peer-to-peer che coinvolge nodi omogenei dove i dati sono distribuiti in tutti i nodi del cluster. DSE offre funzionalità avanzate concepite per permetterti di creare più velocemente applicazioni su cloud intelligenti ed efficaci. Ogni nodo della piattaforma DSE presenta efficaci indici di ricerca, analisi e grafici grazie alla combinazione di Cassandra con Apache Solr, Apache Spark e DSE Graph. Puoi inserire i dati una sola volta e accedervi attraverso una serie di pattern di carichi di lavoro e di accesso. Tutto in una soluzione unica e coerente.  

Consulta la guida Avvio rapido AWS DataStax Quick Start (disponibile anche in formato PDF) per caricare il cluster DSE su AWS Cloud.