Descrizione del sistema di gestione di basi di dati orientato alle colonne

Mentre la maggior parte dei database distribuiscono le informazioni su righe, i sistemi di gestione di basi di dati orientati alle colonne procedono esattamente al contrario: i dati vengono ripartiti su colonne. Che senso ha tutto ciò? Scoprirete qui di seguito i vantaggi di questi database denominati anche database colonnari.

Come sono strutturati i sistemi di gestione di basi di dati orientati alle colonne?

In genere i database sono orientati alle righe: il sistema di gestione di basi di dati (DBMS) crea una riga per ogni voce. Pertanto i campi, con le rispettive informazioni, sono elencati uno dopo l’altro. Soprattutto i database relazionali si basano su questo principio. I sistemi di gestione di basi di dati orientati alle colonne capovolgono questo sistema. In essi ogni colonna rappresenta una voce: i dati relativi a ciascuna voce sono disposti uno sotto l’altro (e non uno accanto all’altro come nella variante orientata alle righe).

A titolo illustrativo ecco un esempio di sistema orientato alle righe:

Numero Cognome Nome Chiave
1 Skywalker Luke 3FN-Z768
2 Kenobi Obi-wan 7TR-K345
3 Organa Leia 8NN-R266

Il database colonnare sposta l’ordinamento degli elementi della stessa tabella nel modo seguente:

Numero 1 2 3
Cognome Skywalker Kenobi Organa
Nome Luke Obi-wan Leia
Chiave 3FN-Z768 7TR-K345 8NN-R266

Sul disco rigido, tuttavia, i dati si presentano monodimensionali e vengono, dunque, rappresentati consecutivamente. Per i database orientati alle righe ciò significa:

1, Skywalker, Luke, 3FN-Z768; 2, Kenobi, Obi-wan, 7TR-K345; 3, Organa, Leia, 8NN-R266

Anche il sistema di gestione di basi di dati orientato alle colonne memorizza le informazioni una dopo l’altra, ma il diverso orientamento comporta anche un diverso ordine dei dati:

1, 2, 3; Skywalker, Kenobi, Organa; Luke, Obi-wan, Leia; 3FN-Z768, 7TR-K345, 8NN-R266
Consiglio

Oltre ai sistemi di gestione di basi di dati orientati alle colonne esistono altre alternative al modello classico. I database NoSQL oppure la loro sottocategoria di database orientati ai documenti e gli analoghi database chiave -valore sono sempre più al centro dell’attenzione. Anche i database a grafo sono sempre più popolari, poiché consentono di mappare ottimamente dati altamente interconnessi.

Settori d’impiego dei sistemi di gestione di basi di dati orientati alle colonne

I sistemi relazionali basati su righe sono utilizzati soprattutto quando si devono effettuare velocemente molte operazioni, come scrivere, modificare o eliminare voci. I database colonnari, invece, sono utilizzati quando devono essere analizzate grandi quantità di dati.

In molti campi di applicazione, ad esempio nella ricerca, ma non solo, si elaborano dati di continuo. Ciò avviene molto più velocemente con un sistema a colonne in cui gli accessi al disco fissosonolimitati. I dati di una categoria sono vicini tra loro, per cui se si desidera leggere e valutare un insieme di dati è sufficiente caricare un blocco. Non è necessario scansionare l’intero database per trovare le informazioni archiviate.

Vantaggi e svantaggi di un database colonnare

I vantaggi dei sistemi di gestione di basi di dati orientati alle colonne emergono notevolmente nell’analisi di grandi quantità di dati, dunque dei big data. Dato che nella lettura di ogni database l’accesso al disco fisso rappresenta il collo di bottiglia, e poiché tale accesso in un database colonnare è più efficiente, la variante basata su colonne guadagna terreno.

Per le applicazioni transazionali, tuttavia, l’accesso è nella maggior parte dei casi diverso: qui devono essere distribuite nuove informazioni nell’intero database. Per svolgere questo compito un database a colonne agirebbe lentamente, come il modello classico.

Un altro vantaggio dei sistemi di gestione di basi di dati orientati alle colonne sono le possibilità di compressione. I dati di una colonna sono sempre dello stesso tipo, ad esempio una stringa (sequenza di caratteri) o un integer (numeri interi). Poiché tutte le voci di un tipo sono vicine tra loro, possono essere compresse in modo più efficiente.

I più noti sistemi di gestione di basi di dati orientati alle colonne

I sistemi di gestione di basi di dati su colonne sono già in uso da un tempo relativamente lungo, tuttavia il numero delle implementazioni disponibili rimane ancora basso, semplicemente perché il fabbisogno di database relazionali è maggiore. Alcuni sistemi sono comunque riusciti ad affermarsi.

  • Amazon Redshift: nell’ambito di Amazon Web Services (AWS), Redshift offre un data warehouse orientato alle colonne per big data.
  • MariaDB-ColumnStore: anche il DBMS MariaDB open source (fork di MySQL) con il ColumnStore offre una combinazione di database orientato alle colonne e relazionale.
  • SAP HANA: la piattaforma di sviluppo di SAP utilizza altresì una combinazione di database relazionale e orientato alle colonne.
  • Apache Cassandra: questo software gratuito si basa su Apache Hadoop ed è scritto in Java.
  • MonetDB: questo software open-source è stato sviluppato con particolare attenzione al data mining.

Abbiamo una proposta per te:
Web hosting a partire da 1 €/mese!

Dominio gratis
Certificato SSL Wildcard incluso
Assistenza clienti 24/7
A partire da 1 €/mese IVA escl. per un anno,
poi 8 €/ mese IVA escl.