database-non-relazionali

I database non relazionali, perché usarli

Per database non relazionali intendiamo quelle banche dati che sono flessibili e scalabili e che vengono utilizzati in modo massiccio dai social, dai cloud computing e dalle applicazioni per computer mobili. Concettualmente il DB non relazionale ha preso il sopravvento sul classico SQL, il database relazionale per eccellenza. Oggi ad esempio Mongo DB, uno dei più diffusi database non relazionali, è certamente tra i maggiormente utilizzati in determinati ambiti nei reparti di IT.

Bisogna però fare una premessa. L’avvento dei DB non relazionali non ha affossato e fatto morire per sempre gli SQL, che al contrario continuano la loro storia all’interno dell’information technology, solo che, negli ambiti più avanzati del computing, il DB non relazionale offre performance più in linea con le necessità del settore.

Cosa è un database relazionale

Lo dice il termine stesso: alla base di questo database c’è una fitta rete d’interconnessione tra pacchetti di dati. Come in una sorta di ragnatela, i dati vengono inseriti in colonne dette tabelle. Ogni dato diventa un’informazione che può essere utilizzata dal database solo se si incrocia con il suo ID. Tutto questo fa sì che un’informazione complessa venga frammentata all’interno del database per poi essere ricomposta a richiesta dello user. I legami che consentono alle tabelle di comunicare tra di loro vengono detti Join e sono algoritmi che determinano la logica del sistema.

Va da sé che tanto più è complesso il database più il sistema si trova a essere sollecitato. L’uso di un database relazionale è sconsigliato quando si ha a che fare con una mole di dati davvero molto grande. La frammentazione potrebbe provocare dei crash, dei bug o corrompere le tabelle.

Cosa sono i database non relazionali

I DB non relazionali sono conosciuti nell’ambiente informatico anche come NoSQL ed hanno una peculiarità che li rende in partenza ben diversi dallo SQL. La base su cui poggia tutta la costruzione del DB non è costituita da tabelle di dati ma da documenti. Questo significa che non vi è una continua interrogazione del sistema sui dati che ha in pancia, ma i documenti vengono catalogati per oggetto secondo una logica ben precisa. Sono due infatti i principi di catalogazione dei documenti: key value, che è la forma arcaica del NoSQL, oppure Document Store che si basa su semantica JSON.

I dati vengono raccolti in documenti e associati a un’entità. L’applicazione valuta l’informazione contenuta nell’entità dentro il documento. La forza di questo principio è proprio che tutto quello che serve all’applicazione risiede nel documento già precompilato.

Solo questa logica basterebbe a giustificare l’utilizzo di un DB NoSQL per la gestione di grandi banche dati. Si evitano le frammentazioni dell’informazione e la sua ricostruzione con i rischi di perdere dati o averne di corrotti. Un aumento di flessibilità che velocizza le operazioni e offre risposte più veloci all’user.

Vantaggi e svantaggi del NoSQL

Nel paragrafo precedente si accennava che i DB NoSQL siano più performanti rispetto a quelli di vecchia generazione. La velocità e la risposta alle sollecitazioni che arrivano dallo user fanno sì che il database non relazionale sia preferibile nei casi di big data, quando si ha a che fare con grandi quando non enormi moli di dati. Il problema che si potrebbe presentare è che i NoSQL favoriscono per certi versi la duplicazione dei documenti, anche se con i moderni sistemi gestionali di DB questo aspetto sta assumendo sempre più un valore di minore importanza.

Un altro aspetto che depone a favore dei DB non relazionali sta nel fatto che con essi l’inserimento di nuovi dati risulta facile e privo di rischi. Con i vecchi SQL invece, era palese la possibilità che si potessero corrompere i legami tra le tabelle e quindi trovarsi di fronte a risultati poco edificabili.

Per gli informatici un aspetto rilevante è dato dalla possibilità di scalare orizzontalmente i dati. Un linguaggio tecnico che definisce la programmazione del DB in maniera lineare e con una forte riduzione di rischi di errori in fase d’inserimento di nuovi dati.

Chi utilizza i DB NoSQL?

In base a quanto abbiamo analizzato è evidente che strutture in possesso di una grande mole di dati deve necessariamente rivolgersi a DB NoSQL. Parliamo ad esempio dei grandi social network con Facebook, Instagram, o Twitter, ma anche WhatsApp e WeChat.

Insomma, la flessibilità del sistema unita alla capacità di elaborare terabyte su terabyte di dati rendono i NoSQL, al momento assolutamente insuperabili.