Caratteristiche e Confronto tra MySQL e MongoDB

Caratteristiche e Confronto tra MySQL e MongoDB

MySql

Mysql è un relational database management system (RDBMS) composto da un client a riga di comando e un server. MySQL permette di creare, modificare e usare un database sul server. Infatti, è un software libero, rilasciato a doppia licenza compresa la GNU General Public License ed è sviluppato per essere il più possibile conforme agli standard ANSI SQL e ODBC SQL.

In particolare, MySQL è molto popolare per le applicazioni di web hosting a causa della sua sovrabbondanza di funzionalità ottimizzate per il Web come i tipi di dati HTML e perché è disponibile gratuitamente. Fa parte dell’architettura Linux, Apache, MySQL, PHP (LAMP), una combinazione di piattaforme che viene frequentemente utilizzata per fornire e supportare applicazioni Web avanzate. MySQL inoltre gestisce i database back-end di alcuni siti Web famosi, tra cui Wikipedia, Google e Facebook, a testimonianza della sua stabilità e robustezza nonostante la sua filosofia decentralizzata e gratuita per tutti.

Caratteristiche e Confronto tra MySQL e MongoDB

MongoDB

MongoDB è un DBMS non relazionale sviluppato in C++, open-source, document-oriented, scalabile e altamente performante. Esso è stato realizzato in maniera tale da avere alte prestazioni in lettura e scrittura. Le letture più consistenti infatti possono essere distribuite in più server replicati, le interrogazioni sono più semplici e veloci grazie all’assenza di join e l’approccio ai documenti rende possibile la rappresentazione di relazioni gerarchiche complesse attraverso documenti nidificati e array.

Ecco le sua caratteristiche distintive:

  1. Database document-oriented: i dati vengono archiviati sotto forma di documenti in stile JSON con schema dinamici, secondo una struttura molto semplice e potente;
  2. Supporto completo agli indici: indicizzazione di qualsiasi attributo;
  3. Replicazione: facilità nella replicazione dei dati attraverso la rete e alta scalabilità;
  4. Sharding: scalabilità orizzontale senza compromettere nessuna funzionalità;
  5. Query document-based.

Comparazione e confronto tra MySQL e MongoDB

In questo paragrafo, si fornisce una comparazione tra MongoDB e il database relazionale MySQL. Vengono analizzate le prestazioni di inserimento e interrogazione dei due database per fornire una serie di risultati che andranno a svelare eventuali punti di forza e debolezza di entrambi.

L’analisi di benchmarking (a cura dell’Università di Padova) è stata condotta esaminando, prima di tutto, le prestazioni di inserimento attraverso diversi metodi di inserimento: ad esempio, utilizzando i prepared statement per MySQL o i bulk insert per MongoDB. In secondo luogo, si sono testate le prestazioni dei due metodi interrogazione. In particolare, si sono testate le prestazioni del map-reduce di MongoDB e poi è stata scritta l’interrogazione speculare in SQL da essere applicata a MySQL.

Dai risultati ottenuti dalle prove sui database MySQL e MongoDB, si evince che MongoDB è sicuramente più performante di MySQL per l’inserimento e l’interrogazione di grosse quantità di dati. Su piccole quantità di dati, presenta una latenza trascurabile, guadagnando esponenzialmente nei tempi quando si interrogano milioni di documenti/record.
Tuttavia, si nota anche che al crescere dei dati, le operazioni di lettura e inserimento di MongoDB subiscono un notevole peggioramento delle prestazioni.

Infine, si può concludere dicendo che MongoDB risulta essere una valida alternativa ai database relazionali grazie all’innovativo modello dei dati basato sui documenti che fornisce una maggiore interazione con i linguaggi di programmazione orientati agli oggetti, all’agile e semplice linguaggio di interrogazione e alla possibilità di essere facilmente scalabile.
MongoDB è, inoltre, in grado di fornire ottime prestazioni in scrittura e in lettura addirittura migliori rispetto ai database relazionali.

Pubblicato da Vito Lavecchia

Lavecchia Vito Ingegnere Informatico (Politecnico di Bari) Email: [email protected] Sito Web: https://vitolavecchia.altervista.org

Lascia un commento

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