Qual è il database migliore?

La domanda è la stessa per tutti. 

La risposta però è diversa.

Infatti cambiano le esigenze, e per forza di cose cambia il database di riferimento. 

E’ più importante che assicuri la scalabilità orizzontale, l’integrità dei dati, la velocità di esecuzione delle query? Deve gestire dati strutturati o altre tipologie di dati? Qual è il budget a disposizione?

Per sapersi orientare in mezzo alle centinaia di DBMS esistenti, ecco allora una pratica guida sui migliori database da usare nel 2024.

Iniziamo subito!

I 3 migliori DBMS open source gratuiti

MySQL, MariaDB e PostgreSQL sono i database gratuiti open source più utilizzati e diffusi. Vediamoli!

MySQL

Lodo del DB relazionale MySQL

MySQL è il database più popolare e utilizzato nel mondo tecnologico, soprattutto per la sua diffusione nelle applicazioni web. È stato creato nel 1995 da due ingegneri, Michael Widenius e David Axmark, come database open source. Venduto a Sun Microsystems nel 2008, MySQL è diventato parte della Oracle Corporation nel 2009, in seguito all’acquisizione di Sun Microsystems da parte di Oracle. 

MySQL è un database open-source, che dispone di due licenze, la Community Server gratuita e la Enterprise Server a pagamento. La licenza GPL open source consente ai programmatori di modificare il software MySQL per adattarlo ai propri ambienti e personalizzarlo.

MySQL è scritto in C e C++, e utilizza un linguaggio di query strutturato. Supporta la maggior parte dei linguaggi di programmazione come C, C++, Python, Java e PHP per la programmazione client. MySQL funziona su sistemi operativi Linux, Windows, OSX, FreeBSD e Solaris. Si tratta di un database maturo, robusto e stabile, e supporta database di grandi dimensioni (fino a 50+ milioni di righe in una singola tabella).

Sviluppato da: Oracle Corporation
Scritto in C, C++

MariaDB

Logo del RDBMS MariaDB

La storia di MariaDB è legata a quella di MySQL, in particolare ad uno specifico momento: l’acquisizione di Sun Microsystems da parte di Oracle nel 2009. In quel momento, il futuro open source di MySQL sembrò potesse essere minacciato, perché non si era sicuri della direzione in cui Oracle ne avrebbe guidato lo sviluppo. Michael Widenius, co-creatore di MySQL, allora fece un fork di MySQL, e così nacque MariaDB.

MariaDB è un sistema di gestione di database relazionali, completamente compatibile con il protocollo MySQL e i client MySQL. Il server MySQL può quindi essere sostituito con il server MariaDB senza alcuno sforzo di modifica del codice. MariaDB è più guidato dalla comunità rispetto a MySQL.

MariaDB offre due modelli di licenza: Community Server gratuito e Enterprise Server commerciale.

Sviluppato da: MariaDB Corporation, MariaDB Foundation
Scritto in: C, C++, Perl, Bash

PostgreSQL 

Logo del database open source PostgreSQL

PostgreSQL è un database relazionale a oggetti. Database open source e gratuito, è stato prodotto nel 1996 da Michael Stonebraker, già leader del team che aveva creato il database Ingres. A partire da quella esperienza, Stonebraker lavorò ad un progetto successivo, chiamato POSTGRES (Post-Ingres), nome poi modificato in PostgreSQL. Michael Stonebraker ha ricevuto un Turing Award nel 2014 grazie al suo lavoro sui database.

PostgreSQL è scritto in C ed è utilizzato dalle aziende che devono gestire un grande volume di dati. Funziona su diversi sistemi operativi, come Linux, Windows, OSX, FreeBSD e Solaris. Molte app di gioco online, suite di automazione di data center e registri di dominio utilizzano questo database. Si tratta del DBMS open source più avanzato a disposizione, con funzionalità di livello aziendale paragonabili a quelle di Oracle e Db2.

Sebbene sia un DBMS relazionale ad oggetti, è possibile usarlo per creare database NoSQL. Infatti è possibile utilizzare questo database con la garanzia transazionale di un database SQL e la scalabilità orizzontale di un database NoSQL.

Sviluppato da: PostgreSQL Global Development Group
Scritto in: C
Supporto per: dati strutturati (SQL), dati semi-strutturati (JSON, XML), valore-chiave, dati spaziali

I 3 migliori DBMS commerciali

Per chi ha del budget da investire nel reparto database, i tre prodotti ‘storici’ sono quelli di Oracle, Microsoft e IMB. Eccoli qua!

Oracle Database

Logo di Oracle Database

Oracle è un sistema di gestione di database relazionale (RDBMS) commerciale. È stato creato da Larry Ellison nel 1979: allora un ingegnere del software, oggi Larry Ellison è il CTO della Oracle Corporation.

Oracle è l’RDBMS commerciale più usato e diffuso. Garantisce le transazioni ACID, supporta dati strutturati (SQL), dati semi-strutturati (JSON, XML), dati spaziali e archivio RDF. Inoltre, offre vari modelli di accesso a seconda del modello di dati specifico. Supporta sia il carico di lavoro OLTP che OLAP. 

Oracle fornisce funzionalità per Cloud, Document Store, Key-value storage, Graph DBMS, PDF Storage e BLOG.

Sviluppato da: Oracle Corporation
Scritto in: Assembly, C, C++, Java?
Supporto per: dati strutturati (SQL), dati semi-strutturati (JSON, XML), dati spaziali e archivio RDF.

Microsoft SQL Server

Logo del DBMS Microsoft SQL Server

Nel 1988, Microsoft si è unita ad Ashton-Tate e Sybase per creare un RDBMS come variante di Sybase SQL Server. Il frutto di questo progetto venne presentato l’anno successivo, il 1989, con il nome di Microsoft SQL Server. 

È un DBMS commerciale per sistemi operativi Windows e Linux. Presenta diverse licenze, sia gratuite (Developer ed Express) che commerciali (Standard ed Enterprise). La facilità d’uso e la stretta integrazione con l’ecosistema Windows di MS SQL Server lo rendono una scelta facile per tutti coloro che usano i prodotti Microsoft nelle proprie aziende.

Microsoft SQL Server può essere integrato con fonti non relazionali come Hadoop. I dati vengono interrogati tramite il linguaggio di query SQL. Supporta molti linguaggi lato server come T-SQL, .NET, R, Python e Java. Presenta un ottimo supporto per gli strumenti sia on-premise che cloud. Inoltre, Azure offre gli strumenti per spostare con facilità SQL Server locale nel cloud.

Sviluppato da: Microsoft Corporation
Scritto in C, C++
Supporto per: dati strutturati (SQL), dati semi-strutturati (JSON) e dati spaziali

IBM DB2

Logo del DB commerciale IBM DB2

Nel 1983 IBM ha rilasciato il suo primo database relazionale con licenza commerciale, IBM DB2, spinta dalla concorrenza con il database di Oracle.

Inizialmente esclusivo per mainframe, dal 1987 IBM DB2 supporta anche sistemi operativi Windows, Linux, Unix. Può essere ospitato su cloud, server fisico o entrambi contemporaneamente, e supporta modelli di dati SQL e NoSQL. Offre diverse licenza, una gratuita (Community), e due commerciali (Standard e Advanced).

Sviluppato da: IBM
Scritto in C, C++, Assembly
Supporto per: dati strutturati (SQL), dati semi-strutturati (JSON) e dati grafici.

➤ Scopri i linguaggi di programmazione più richiesti dalle aziende!

I 3 migliori DBMS NoSQL

Quando il relazionale va stretto, ecco che arrivano i database noSQL: MongoDB, Cassandra e Redis sono i principali DBMS non relazionali…vediamoli!

MongoDB

Logo del database non relazionale MongoDB

MongoDB è un database NoSQL, creato nel 2007. Il suo sviluppo iniziò quando la società 10gen, impegnata nella progettazione di una piattaforma open source di gestione della pubblicità online, non riuscì a trovare un database adeguato alle proprie necessità. Iniziò quindi a sviluppare per esigenze interne questo database, che chiamò MongoDB. Strada facendo la società capì il potenziale di questo prodotto, e si concentrò esclusivamente sul database, cambiando il proprio nome in MongoDB Inc. 

Quando si tratta di utilizzare un database NoSQL, MongoDB è la prima scelta. MongoDB è un database semplice, orientato agli oggetti, dinamico e altamente scalabile. Non è necessario gestire colonne e righe come i database tradizionali, ma memorizza gli oggetti-dati come documenti separati all’interno di una raccolta.

MongoDB viene usato per app mobili, analisi in tempo reale, IoT, e fornisce una visualizzazione in tempo reale di tutti i dati conservati. Supporta un’ampia gamma di linguaggi di programmazione come Scala, Groovy, Clojure e Java, e i sistemi operativi  Linux, OSX e Windows.

Sviluppato da: MongoDB Inc. 
Scritto in: C, C++ e JavaScript

Cassandra

Logo del database noSQL Cassandra

Apache Cassandra è un DBMS distribuito NoSQL, gratuito e open source. Si tratta di un database creato da due ingegneri di Facebook, reso necessario dalla crescita esponenziale del social network nella metà degli anni 2000. Impossibilitati a trovare una soluzione sul mercato, e ispirati dal lavoro fatto da Google su Big Table (2006) e da Amazon su Dynamo (2007), nel 2008 Avinash Lakshman e Prashant Malik svilupparono Cassandra.

Cassandra offre alta disponibilità ed elevata scalabilità, sia in lettura che in scrittura. La tolleranza ai guasti è un altro suo punto forte: decentralizzato e leaderless, Cassandra non ha un singolo punto di errore. Inoltre, replica in modo asincrono i dati su diversi nodi, rendendosi immune anche al guasto di interi data center.

Sviluppato da: Facebook
Scritto in: Java

Redis

Logo del DB non relazionale Redis

Redis (Remote Dictionary Server) è stato creato dallo sviluppatore italiano Salvatore Sanfilippo. Nel 2009, Sanfilippo aveva bisogno di un analizzatore di log in tempo reale per migliorare la scalabilità della sua startup. I database tradizionali davano problemi di scalabilità, così ha sviluppato la propria soluzione: un archivio chiave-valore distribuito in memoria, Redis. 

Redis, reso un progetto open source, è presto diventato popolare all’interno della comunità informatica. Ha registrato una diffusione particolare nella community di Ruby, con GitHub e Instagram tra le prime aziende ad adottarlo. Supporta lo scripting server-side in Lua, mentre lato client supporta moltissimi linguaggi, come ActionScript, Bash, C++, Clojure, Crystal, D, Dart, Erlang, Java, Matlab, Objective-C, Pascal, Perl, PHP, PL/SQL, Python, R, Ruby, Rust, Swift.

Sviluppato da: Salvatore Sanfilippo
Scritto in: C, ANSI C
Supporto per strutture di dati come stringhe, hash, elenchi, set, set ordinati con query di intervallo, bitmap, hyper-log, indici geospaziali e flussi


Ecco dunque i 9 database da utilizzare nel 2024:

MySQL, MariaDB e PostgreSQL sono tra i migliori database open source e gratuiti.

Se invece parliamo di database commerciali, Oracle, MS SQL Server e IBM DB2 sono i DBMS di punta.

Infine, MongoDB, Cassandra e Redis sono i più diffusi tra i database NoSQL. 

Noi di GeekandJob ci affidiamo ai relazionali open source: tu invece quale database hai scelto?