È un debutto poco felice quello che negli scorsi giorni ha caratterizzato MySQL 5.1, nuova major release del famoso database management system open source. A poche ore dal rilascio della nuova versione, uno dei creatori di questo software ha infatti “spifferato” al mondo le principali magagne – alcune ritenute piuttosto serie – che ancora affliggono il nuovo MySQL.
A lavare i panni sporchi in pubblico è niente meno che Michael “Monty” Widenius , principale artefice dell’architettura di MySQL ed ex CTO di MySQL AB, società acquisita da Sun all’inizio dell’anno. Widenius, che fa tuttora parte del team di sviluppo di MySQL, ha pubblicato un lungo post sul proprio blog dove spiega perché, contrariamente a quanto affermato da Sun, la versione GA (Generally Available) di MySQL 5.1 non sia adatta per l’utilizzo in ambienti di produzione .
Widenius afferma che la nuova release del famoso database contiene dei “fatal bugs” capaci di causare il crash del software e, nei casi peggiori, corrompere tabelle e record. Il co-fondatore di MySQL AB elenca una ventina di bug noti di MySQL 5.1 GA , ed arriva persino a dichiarare che questa versione del software andrebbe considerata una beta.
“A mio parere non ci sono buone ragioni per dichiarare qualcosa GA, specialmente ricordando come la 5.0 GA fosse in uno stato terribile quando venne rilasciata”, scrive Monty. “La cosa peggiore è che la qualità delle nuove funzionalità di MySQL 5.1 non è migliore di quella che caratterizzava MySQL 5.0 quando venne dichiarato GA”.
La versione 5.0 di MySQL venne ufficialmente rilasciata nell’ottobre del 2005: l’attuale release 5.1 è dunque il frutto di almeno tre anni di lavoro.
Widenius sconsiglia l’aggiornamento a MySQL 5.1 a chi oggi utilizza la versione 5.0, ma ai nuovi utenti suggerisce invece l’installazione dell’ultima release : a suo dire, infatti, questa “è quanto meno migliore della versione community di MySQL 5.0, che non viene più aggiornata da tempo”.
Le frizioni tra Widenius e Sun sono ben note, e sono all’incirca le stesse che lo scorso ottobre hanno spinto l’altro co-fondatore di MySQL AB, David Axmark, a lasciare Sun e il team di sviluppo di MySQL. Nonostante ciò, Widenius afferma che Sun non è responsabile dei difetti che affliggono MySQL 5.1 : lo sviluppatore dirige le proprie accuse soprattutto verso Mårten Mickos , senior vice president del Database Group di Sun ed ex CEO di MySQL AB. Secondo Widenius, il rilascio prematuro di una versione GA va cercata nel desiderio di Mickos di avere “qualcosa che si possa vendere, non importa se a scapito della qualità”.
A parere di Widenius urge un cambio di rotta nella gestione dello sviluppo di MySQL, pena un’irrimediabile perdita d’immagine per MySQL e Sun. In particolare, egli ritiene che lo sviluppo del database debba seguire un modello più community-driven e adottare test di qualità più rigorosi e standardizzati. Sebbene non lo dica espressamente, appare chiaro che Windenius si stia candidando a ricoprire un ruolo di comando all’interno della divisione database di Sun.
Monty sembra godere di un ampio consenso all’interno della comunità di MySQL, ma c’è anche chi ritiene che le sue prese di posizione siano strumentali , e mirate soprattutto a fare lo scalpo a Mickos per prenderne il posto. Sun afferma che la nuova release di MySQL è stata progettata per migliorare le performance e semplificare la gestione delle applicazioni basate su database di grandi dimensioni: in quest’ultimo campo applicativo, MySQL 5.1 fornirebbe in media il 15% in più di performance rispetto alla versione attuale.
Tra le novità della nuova release si citano il supporto a cinque differenti tipi di partizionamento orizzontale dei dati (range, hash, key, list e composite), replica ibrida e raw-based dei dati, tool per lo scheduling degli eventi, e un nuovo Upgrade Advisor per l’add-on commerciale MySQL Enterprise Monitor.
Il partitioning, che fa la prima comparsa in questa nuova release, permette una gestione dei dati suddivisa su diverse tabelle fisiche: la velocità di accesso alle informazioni aumenta notevolmente, ed è una soluzione fondamentale quando i dati crescono e non si disponga di un partizionamento “logico” lato applicazione. Tale caratteristica è presente in quasi tutte le edizioni enterprise dei principali database commerciali.
Tra le novità maggiormente attese da chi necessita di elevate performance e affidabilità c’è l’utilizzo del disco per lo storage NBD, che permette a MySQL Cluster, la versione parallela di MySQL sotto licenza GPL2, di non essere più un database totalmente in memoria, il che ne dovrebbe ampliare gli ambiti di utilizzo.
Da citare infine l’uso di uno scheduler interno al database, che permette di lanciare procedure o istruzioni SQL senza appoggiarsi al cron di Linux o al task scheduler di Windows.
Per approfondire le novità di MySQL 5.1, e scaricarne i binari per Windows, Linux e varie piattaforme Unix, si rimanda a questa pagina .