Cloud AWS
Cloud AWS
Inizia a usare Amazon DynamoDB

NoSQL è un termine utilizzato per descrivere i database non relazionali a elevate prestazioni. I database NoSQL utilizzano una serie di modelli di dati, tra cui documenti, grafi, coppie chiave-valore e colonne. I database NoSQL sono ampiamente riconosciuti per semplicità di sviluppo, scalabilità delle prestazioni, elevata disponibilità e resilienza. Di seguito troverai diverse risorse di supporto per iniziare a utilizzare i database NoSQL.

Scarica il whitepaper sulle best practice della migrazione da RDBMS ad Amazon DynamoDB.

Introduction to Amazon DynamoDB
6:44
Introduzione ad Amazon DynamoDB
  Database relazionali Database NoSQL
Modello di dati Il modello relazionale normalizza i dati in strutture tabulari note appunto come "tabelle", composte da righe e colonne. Uno schema definisce rigidamente tabelle, colonne, indici, relazioni tra tabelle e ulteriori elementi del database. I database non relazionali (NoSQL) di norma non applicano uno schema. In genere si utilizza una chiave di partizione per recuperare valori, serie di colonne o documenti parzialmente strutturati in JSON, XML o altri documenti contenenti attributi degli elementi pertinenti.
Proprietà ACID I sistemi di gestione dei database relazionali (RDBMS) tradizionali supportano una serie di proprietà definite dall'acronimo ACID: Atomicity (atomicità), Consistency (coerenza), Isolation (isolamento), Durability (durabilità). Atomicità significa "tutto o nulla": una transazione viene eseguita completamente o non viene eseguita affatto. Coerenza significa che, una volta confermata una transazione, i dati devono essere conformi allo schema del database. Isolamento richiede che le transazioni simultanee siano eseguite separatamente l'una dall'altra. Durabilità è la capacità di ripristinare i dati all'ultimo stato conosciuto in seguito a un guasto del sistema o a un'interruzione dell'alimentazione imprevisti. I database NoSQL spesso rinunciano ad alcune proprietà ACID dei tradizionali sistemi di gestione dei database relazionali (RDBMS) a favore di un modello di dati più flessibile e scalabile orizzontalmente. Queste caratteristiche rendono i database NoSQL un'ottima scelta in situazioni in cui i tradizionali RDBMS a livello di architettura presentano difficoltà nel superamento di situazioni che combinano colli di bottiglia nelle prestazioni, scalabilità, complessità a livello operativo e aumento dei costi di amministrazione e supporto.
Prestazioni Le prestazioni dipendono generalmente dal sottosistema di dischi. Per raggiungere il massimo livello di prestazioni, è necessario ottimizzare query, indici e struttura delle tabelle. Le prestazioni si calcolano generalmente in funzione delle dimensioni del cluster dell'hardware, della latenza di rete e dell'applicazione di chiamata.
Scalabilità L'aumento della capacità è più semplice con un hardware più veloce.  Affinché le tabelle relazionali possano coprire un sistema distribuito, sono necessari ulteriori investimenti. La progettazione prevede il ridimensionamento tramite l'utilizzo di cluster distribuiti di hardware a basso costo per aumentare il throughput senza incrementare la latenza.
API Le richieste di archiviazione e ripristino dati vengono comunicate tramite query conformi al linguaggio SQL (Structured Query Language). Le query vengono analizzate ed eseguite dai sistemi di gestione dei database relazionali (RDBMS). Le API basate su oggetti consentono agli sviluppatori di app di archiviare e ripristinare facilmente strutture di dati in memoria. Le chiavi di partizione danno alle app l'istruzione di cercare coppie chiave-valore, serie di colonne o documenti parzialmente strutturati contenenti oggetti e attributi serializzati delle app.
Strumenti Generalmente i database SQL mettono a disposizione una ricca offerta di strumenti per semplificare lo sviluppo di applicazioni basate sui database. I database NoSQL di solito offrono strumenti per la gestione di cluster e ridimensionamento. Le applicazioni sono l'interfaccia primaria dei dati.
15

Database a colonne

I database a colonne sono ottimizzati per la lettura e scrittura di colonne di dati (invece che di righe di dati). Lo storage basato su colonne per tabelle di database è un fattore molto importante quando si tratta di prestazioni di query analitiche, perché è in grado di ridurre drasticamente i requisiti generali di I/O di un disco, nonché di diminuire la quantità di dati da caricare da disco. Ulteriori informazioni »

Database di documenti

I database di documenti sono progettati per memorizzare dati parzialmente strutturati come i documenti, in genere in formato JSON o XML. A differenza dei database relazionali tradizionali, lo schema di ciascun documento non relazionale (NoSQL) può variare, consentendo una maggiore flessibilità nella gestione e nella memorizzazione di dati di applicazione, nonché riducendo lo storage necessario per i valori opzionali. Ulteriori informazioni »

Database grafici

I database grafici comprendono vertici e collegamenti diretti chiamati lati. I grafi possono essere creati su database relazionali (SQL) e non relazionali (NoSQL). A vertici e lati possono essere associate proprietà. Il diagramma sottostante rappresenta un grafo semplice delle relazioni tra gli amici e i rispettivi interessi. Ulteriori informazioni »

Archivi chiave-valore in memoria

Gli archivi chiave-valore in memoria sono database NoSQL ottimizzati per applicazioni con carichi di lavoro in lettura particolarmente gravosi, ad esempio social network, videogiochi, condivisione di file e portali di domande e risposte, oppure per carichi di lavoro con elevati requisiti di elaborazione, ad esempio motori di raccomandazione. Il caching in memoria migliora le prestazioni delle applicazioni perché memorizza informazioni critiche in una memoria che ha una latenza molto bassa all'accesso. Ulteriori informazioni »

SQL
MongoDB DynamoDB Cassandra Couchbase
Tabella Raccolta Tabella Tabella Bucket di dati
Riga Documento
Elemento Riga Documento
Colonna
Campo Attributo Colonna Campo
Chiave principale
ObjectId
Chiave principale Chiave principale ID documento
Indice Indice Indice secondario Indice
Indice
Visualizzazione Visualizzazione Indice secondario globale Vista materializzata Visualizzazione
Oggetto o tabella annidata
Documento incorporato Mappatura Mappa Mappatura
Array
Array Elenco Elenco Elenco

Amazon DynamoDB è molto semplice da utilizzare. Segui la Getting Started Guide per creare la prima tabella DynamoDB in pochi clic.

 

Inizia a usarlo gratis