Cosa sono i database non relazionali (NoSQL)

I database non relazionali, pur non essendo una novità assoluta, hanno registrato una crescita esponenziale nel loro sviluppo e utilizzo negli ultimi mesi grazie al sempre più crescente bisogno di scalare in orizzontale, dove i classici RDBMS (database relazionali) presentano diverse limitazioni. Pensate infatti ai sempre più in voga sistemi cloud dove i nodi possono diventare veramente molti, gestire un RDBMS in un ambiente del genere risulta complicato e la potenza computazionale non viene sfruttata in modo ottimale (pensate per esempio alla replicazione con MySQL dove il log binario costituisce già di per sé un enorme calo prestazionale).

Viste le problematiche di cui sopra, i giganti del web, che si trovano a dover gestire database di dimensioni veramente imponenti, hanno sviluppato (o contribuito allo sviluppo) vari NRDBMS (database non relazionali) con approci leggermente diversi, ma tutti con gli stessi principi di base, si raggruppano infatti sotto la dicitura di movimento NoSQL (Not Only SQL).

 

I principali metodi d’implementazione dei database NoSQL sono i seguenti:

 

Coloumnfamily: i dati sono organizzati in righe e colonne, ma le righe possono avere quante colonne si vogliono e non c’è bisogno di definire le colonne come prima cosa.

 

Document store: è l’evoluzione del metodo key/value, rispetto ai normali database relazionali invece che immagazzinare i dati in tabelle con dei campi fissi, questi vengono messi in un documento che può contenere illimitati campi di illimitata lunghezza, così se ad esempio di una persona conosciamo solo nome e cognome, ma magari di un’altra persona anche indirizzo, data di nascita e codice fiscale, si evita che per il primo nominativo ci siano campi inutilizzati che occupano inutilmente spazio.

 

Graph: i dati vengono immagazzinati sotto forma di strutture a grafi, rendendo più performante l’accesso a questi da applicativi orientati agli oggetti.

 

Key/Value: in questo caso i dati vengono immagazzinati in un elemento che contiene una chiave assieme ai dati veri e propri, questo metodo è il più semplice da implementare, ma anche il più inefficiente se la maggior parte delle operazioni riguardano soltanto una parte di un elemento.

 

 

2 risposte su “Cosa sono i database non relazionali (NoSQL)”

Buonasera.
Articolo interessantissimo. Voi potreste tenere un corso (per 9 persone) su questo argomento (i database NoSQL)?
O, in alternativa, potete indicarmi ditta che può tenerlo?
Grazie.

[…] I database NoSQL hanno iniziato a prendere piede intorno agli anni 2006/2007, proprio nel momento in cui i sistemi relazionali SQL, come Oracle, DB2 e PostgreSQL, avevano il predominio assoluto. I pionieri dei sistemi NoSQL hanno sempre confermato che il loro obiettivo non era quello di sostituire i database SQL, ma solo trovare una soluzione che potesse consentire di liberarsi dalle restrizioni che caratterizzano in genere i sistemi SQL. Questa decisione era dettata dalle nuove esigenze richieste da Internet per la gestione delle banche dati anche in tempo reale. […]

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.