MySQL

MySQL

MySQL

MySQL è uno degli strumenti di sviluppo maggiormente utilizzato per la realizzazione di applicazioni on line e di siti internet. Si tratta di un database server molto diffuso che viene utilizzato con una moltitudine di linguaggi di programmazione, framework e tecnologie.

La diffusione di MySQL è da ricercarsi in due fattori. Innanzitutto MySQL è un progetto Open Source, e Open Source può significare bassi costi di adozione (nessuna licenza di utilizzo) e una community che mette a disposizione le proprie competenze tramite forum, blog e manuali disponibili gratuitamente in rete. In secondo luogo MySQL è un database semplice, o almeno semplice a confronto con i database più blasonati e semplice nell’utilizzo delle sue funzioni fondamentali.

L’esposione di utilizzo di MySQL si deve soprattutto all’altissimo numero di applicazoni web che lo hanno impiegato, e che continuano ad impiegarlo. Oggi MySQL è la scelta standard per applicazioni in PHP, Ruby on Rails, Perl, e viene utilizzato per prodotti molto diffusi come WordPress, Drupal, Joomla, Magento oltre a venire di norma offerto in tutti i pacchetti di hosting web.

Tuttavia MySQL non è immune a critiche. Le principali arrivano dal cugino Open Source, Postgresql, che rileva in alcune scelte architetturali di MySQL delle pecche che lo rendono poco professionale. Altri dubbi arrivano in relazione al futuro di MySQL; dopo il passaggio nelle mani di Sun e il passaggio dell’intera Sun nelle mani di Oracle ci si chiede quale sia il vero interesse di Oracle a sviluppare un prodotto che è per molto aspetti in diretta concorrenza con il proprio prodotto di punta.

Esistono pacchetti di MySQL per qualsiasi sistema operativo con una buona utenza: Windows, Linux, OSX, FreeBSD. La compilazione dei sorgenti di MySQL risulta inoltre molto semplice ed è quindi possibile decidere di scartare l’opzione del pacchetto di installazione e installare il database server direttamente da sorgenti.

Esistono driver per MySQL per Java, Ruby, Python, PHP, Perl, ma anche per linguaggi meno diffusi; la maggior parte degli ORM inoltre supportano ufficialmente questo database.