Origine del termine

Il termine NoSQL è la sigla inglese di Not only SQL.

Cosa significa NoSQL

NoSQL è un movimento che promuove sistemi software dove la persistenza dei dati è in generale caratterizzata dal fatto di non utilizzare il modello relazionale, di solito usato dalle basi di dati tradizionali (RDBMS).

Fonte: Wikipedia

NoSQL è un approccio alla gestione dei database che può ospitare diversi tipi di modelli di dati, compresi i formati chiave-valore, documento, colonna e grafico.

Il termine NoSQL originariamente faceva riferimento al fatto che SQL non era usato come API per accedere ai dati.

Tuttavia, nel tempo molti database NoSQL hanno aggiunto il supporto per SQL.

Proprietà database NoSQL

  • Supporto schemi flessibili;
  • Utilizzo del calcolo distribuito;
  • Può processare dati strutturati e non strutturati;
  • Non sono presenti relazioni complesse.

Tipi di database NoSQL

  • Database di documenti: Database che memorizza i dati in documenti JSON, BSON o XML. I documenti possono essere annidati e determinati elementi possono essere indicizzati per un’interrogazione più veloce. E’ tra i database più popolari per la sua flessibilità e scalabilità;
  • Archivi chiave-valore: E’ il tipo più semplice di database. In esso ogni elemento è memorizzato come una coppia chiave-valore che consiste in un nome di attributo (o chiave) e un valore. E’ una sorta di database relazionale che ha solamente due colonne: la chiave o il nome dell’attributo e il valore;
  • Database orientati alle colonne: Database strutturato come un insieme di colonne. Ciò consente di leggere direttamente le colonne che si vogliono analizzare senza consumare memoria. E’ un database caratterizzato da letture veloci in quanto le colonne hanno una compressione efficiente. Le colonne sono spesso dello stesso tipo e beneficiano di una compressione più efficiente, rendendo le letture ancora più veloci;
  • Database a grafo: Database incentrato sulla relazione tra gli elementi di dati. Ogni elemento viene memorizzato sotto-forma di nodo e le connessioni tra gli elementi sono dette collegamenti o relazioni. Questo database ha due caratteristiche principali: quella di avere i collegamenti memorizzati direttamente e di essere ottimizzato per catturare e ricercare le connessioni tra elementi di dati.

Vantaggi database NoSQL

  • Scalabilità elastica: Database che hanno la capacità di scalare per poter gestire agevolmente la crescita dei dati mantenendo bassi i costi.
  • Alte prestazioni: Database progettati per poter offrire grandi prestazioni (sia di throughput sia di latenza);
  • Flessibilità: Database altamente flessibili che hanno la capacità di memorizzare e combinare diversi tipi di dati (strutturati e non strutturati);
  • Evoluzione: Database che consentono di aggiornare dinamicamente lo schema per evolvere insieme alle esigenze, assicurando al tempo stesso che non ci siano interruzioni o tempi di attesa nell’ applicazione;
  • Open Source: Database che non hanno licenze costose da pagare e hanno il vantaggio di poter essere eseguiti su hardware poco costosi.

Seguici su Instagram per non perdere le nostre pillole di conoscenza quotidiane!