Software

MySQL, cos’è, perché sceglierlo

Nel panorama dei relational database management system (RDBMS) spicca per diffusione e longevità MySQL che si presta molto bene in certi ambiti, pure avendo alcuni limiti

Pubblicato il 07 Dic 2022

MySQL

MySQL è un software free e open source rilasciato sotto l’egida della GNU General Public License, ossia una licenza definita “Copyleft” che propone prodotti e opere libere, imponendo che altrettanto siano le modifiche eventualmente apportate.

Poiché MySQL ha attirato negli anni una popolazione di utenti e di implementazioni di tutto rispetto, approfondiamo il tema a vantaggio di chi sta per scegliere una soluzione per la gestione dei database relazionali.

Cos’è MySQL

MySQL è un relational database management system (RDBMS) basato su codice open source al quale sono affiancate delle distribuzioni personalizzate e a pagamento. MySQL è tra i software maggiormente documentati e conta anche su una community numerosa, aspetti questi di fondamentale importanza soprattutto quando ci si muove nel mondo dei software open.

Oltre all’archiviazione dei dati, lo scopo principale di un database relazionale è la gestione dei dati stessi che avviene mediante un codice con cui gli elementi inseriti in tabelle diverse vengono relazionati tra loro. Questo offre una maggiore praticità a partire dalla fase in cui si progetta l’architettura di un database fino a quella in cui i dati devono essere interrogati, il che si traduce in un’ampia diffusione degli RDMBS, più gettonati da quelle aziende e quelle organizzazioni chiamate a gestire grandi quantità di dati. Altro discorso, come vedremo, è l’analisi dei dati.

Per fare un esempio facilmente comprensibile, si possono immaginare due tabelle. La prima contiene tutti i dati anagrafici dei clienti di un’azienda, la seconda tabella contiene soltanto gli ordini effettuati dai clienti. Le due tabelle hanno in comune la colonna ID (una chiave) ed è tramite questa che viene creata una relazione tra i dati anagrafici dei clienti e gli ordini che hanno effettuato. Un’elasticità che non riguarda soltanto i dati ma anche la struttura dei database la cui gestione rende meno tribolata l’operatività dei database administrator.

Poiché risulta impossibile dichiarare con certezza quante istallazioni dei diversi software per database siano oggi attive al mondo, si può stimare una sorta di classifica della loro popolarità esaminandone le rispettive menzioni online, le ricerche effettuate dagli utenti, la frequenza con cui se ne parla dal punto di vista tecnico e l’offerta di impiego destinata agli specialisti delle diverse tecnologie.

MySQL

Appare evidente quale spazio MySQL si è guadagnato nell’ecosistema dei software per database e ciò è dovuto soltanto in parte al fatto che lo si può usare gratuitamente.

Le origini di MySQL

I database relazionali esistono dagli anni Settanta del secolo scorso e MySQL, la cui prima versione risale al 1995, non ne è il capostipite ma soltanto uno degli attori contemporanei. Ripercorrere brevemente la storia di MySQL è utile a comprendere quanto sia vitale il ruolo ricoperto dai database nell’economia.

Nel 1995 MySQL è stato sviluppato da MySQL AB, azienda fondata da Michael Widenius, David Axmark e Allan Larsson e che, nel 2008, è stata acquistata da Sun Microsystems per un miliardo di dollari. Due anni dopo, siamo quindi nel 2010, Oracle Corporation ha messo sul piatto 7,4 miliardi di dollari per acquisire Sun Microsystems diventando così proprietaria di due software per database, ossia Oracle e MySQL i quali, oggi sono di fatto i più diffusi al mondo nonostante Oracle non preveda, al contrario di MySQL, versioni “Copyleft”. In altre parole, Oracle Corporation è leader del comparto dei database disponendo sia di Oracle che è a pagamento, sia di MySQL che è utilizzabile nella forma gratuita e in quella a pagamento. I più avvezzi al mondo dei database possono obiettare che esiste anche una versione gratuita di Oracle ed è un’affermazione vera. Si tratta di Oracle database express edition che non permette di creare database più grandi di 12 GB e limita l’uso della Ram a 2 GB. Una soluzione ottima per le imprese molto piccole, per l’istruzione o per fare dei test ma che non è sufficiente per le organizzazioni più grandi.

Michael Widenius, uno dei creatori di MySQL, è rimasto attivo nel comparto dei database lanciando MariaDB, un fork del prodotto originale che viene però sviluppato in modo diverso.

Cosa si può fare con MySQL

Oggi si può considerare il database di riferimento per il web, basti pensare che WordPress e MySQL sono ormai un tutt’uno, così come è pressoché inscindibile il sodalizio con il linguaggio Php molto diffuso per creare applicazioni web.

Quando si parla di RDBMS occorre partire dall’uso che se ne vuole fare e questo non vale soltanto per MySQL. Si presta molto bene per i gestionali di aziende di medie e grosse dimensioni anche perché non ha limiti di tabelle e può gestire miliardi di dati, tuttavia, al di là di quanto si possa credere, non è la soluzione più adatta per eseguire query complicate tra grandi moli di dati (Big data). Di fatto, non essendo stato progettato per simultaneità elevate, può restituire prestazioni dalla velocità perfettibile.

Ciò che si può fare con MySQL non è di per sé dissimile a ciò che si può fare con altri RDBMS se ci si limita alla capacità di immagazzinare e organizzare dati. Sono altre le necessità e le considerazioni che dovrebbero spingere verso l’una o l’altra tecnologia.

MySQL e i Big data

MySQL non è nato come soluzione specifica per i Big data, questo non vuole dire che non possa essere usato per lavorare con grandi moli di dati ma che occorre considerare lo scenario nel suo insieme. Non è lo strumento più adatto per eseguire query complesse su enormi moli di dati e, per sua natura, non è in grado di scalare tra più core della CPU e di eseguire query su più nodi anche se ci sono diversi metodi per ovviare in parte a queste limitazioni, per lo più incentrati sul monitoraggio e l’ottimizzazione dei database MySQL. Un’altra strada percorribile è da ricercare in Apache Spark, un framework che può velocizzare le query. In linea di principio per l’analisi dei dati esistono alternative migliori a MySQL.

Che linguaggio usa MySQL

Come si legge ovunque, MySQL è scritto in C e in C++, informazione corretta ma incompleta. Poiché MySQL implementa un modello client-server, laddove un agente (e quindi un client) interroga un database (server) occorre capire come questi comunichino tra loro. La risposta è nell’acronimo SQL, ovvero Structured Query Language, un linguaggio standardizzato per i database relazioni implementato per creare, modificare e interrogare database e dati.

Su quali sistemi operativi si può installare MySQL

Poiché multipiattaforma, MySQL può essere installato su una varietà di sistemi operativi, tra i quali:

  • Microsoft Windows client e server
  • GNU / Linux
  • Sun OS
  • Solaris
  • MacOS
  • NetBSD
  • OpenBSD
  • FreeBSD
  • Novell NetWare

Quelli sopra sono una parte dei sistemi operativi su cui MySQL può correre, come ben sanno i nostalgici di AmigaOS. Allo stesso modo esistono diversi tipi di MySQL Manager, ossia strumenti per l’amministrazione di MySQL il più popolare dei quali è MySQL Workbench anche se i puristi non disdegnano la riga di comando.

MySQL

Differenze tra SQL e MySQL

Anche in questo caso occorre fare alcuni distinguo, perché si tratta di termini ambigui. Se con SQL si intende Structured Query Language, allora la differenza con MySQL è già nota: SQL è un linguaggio per la gestione dei database, mentre MySQL è un RDBMS.

Se il termine SQL è usato come sinonimo di Microsoft SQL Server, le differenze vanno analizzate più in profondità, cominciando dal fatto che risale agli anni Ottanta e quindi – dal punto di vista anagrafico – è qualcosa di simile al fratello maggiore di MySQL.

Microsoft SQL Server è un prodotto a pagamento e, al contrario di MySQL, può essere eseguito su un numero limitato di sistemi operativi. Anche la sintassi è differente, nonostante entrambi i RDBMS siano basati sul linguaggio SQL.

Quali aziende usano MySQL

Facebook, Twitter, YouTube, Google, Amazon, Microsoft e un numero iperbolico di altre aziende di ogni comparto dell’economia. Le piattaforme di Cloud computing Azure (di Microsoft) e AWS (di Amazon) mettono a disposizione dei rispettivi clienti MySQL o prodotti e servizi basati su MySQL. Va da sé che le grandi aziende hanno risorse sufficienti per andare oltre le versioni community (quelle gratuite) e si muovono con una certa disinvoltura tra le versioni a pagamento che offrono servizi supplementari.

Quanto costa MySQL

Come già detto, la versione sotto licenza GPL è gratuita. Esistono però altre versioni di MySQL, tra le quali Standard Edition, Enterprise Edition e Cluster Carrier Edition, ognuna delle quali include sistemi e servizi per migliorare l’efficienza e la sicurezza del software come, per esempio, Partitioning, Monitoring, High-Availability, Firewall e altre ancora. I prezzi variano da 2mila a 20mila euro annui circa.

La versione community è mantenuta (molto bene) dalla comunità di appassionati e professionisti. È vasta e condivide la propria conoscenza con tutti, tant’è che chi dovesse riscontrare un problema nell’uso di MySQL può quasi certamente trovare la soluzione online, scritta e documentata da chi ha già affrontato e risolto la medesima difficoltà. Le versioni a pagamento offrono un servizio di assistenza incluso nel prezzo e quindi fornito da un team di professionisti e non da una community di volontari.

Valuta la qualità di questo articolo

La tua opinione è importante per noi!

Articoli correlati