Abbiamo effettuato di recente l’aggiornamento di MySQL dalla versione 5.1 alla 5.5.
L’aggiornamento coinvolge tutti i profili di hosting e VPS e server dedicati Managed.
Consigliamo tuttavia ai possessori del servizio VPS e server dedicati Unmanaged di aggiornare a loro volta MySQL alla 5.5 per determinati motivi che andremo a descrivere sistematicamente in questo articolo.
Le novità portate dalla versione 5.5 di MySQL si propagano in diversi aspetti, che vanno dai semplici fix di vulnerabilità, volti ad incrementare la sicurezza del servizio, sino al miglioramento del motore di storage, al fine di ottimizzare le performance del database.
Tra le novità introdotte ci teniamo ad evidenziare gli aspetti più interessanti, tra cui i netti miglioramenti sotto il punto di vista di scalabilità, affidabilità e prestazioni.
Tali aspetti erano da sempre potenziali punti deboli di MySQL, ma le innovazioni introdotte dalla versione 5.5 riescono ad escludere tali penalità.
InnoDB Barracuda
In MySQL 5.5, l’introduzione di un nuovo formato di file (conosciuto come “Barracuda“) nel plugin di InnoDB 1.1.x e di un nuovo formato di record più dinamico e compresso costituiscono un netto miglioramento per la performance I/O.
In tal modo gli sviluppatori potranno godere di affidabilità e stabilità, soprattutto con le transazioni più complesse, in quanto InnoDB sarà in grado di offrire migliori prestazioni.
Nella sintassi delle query MySQL, è stato sostituito il nome del parametro “TYPE” con “ENGINE”. Pertanto, nel caso si presentasse la necessità di importare un database precedentemente esportato da MySQL 5.1, sarà necessario modificare, nel file dump SQL, il nome del parametro che definisce il motore di storage di quel determinato database MySQL.
(Esempio: “TYPE=InnoDB” dovrà essere modificato in “ENGINE=InnoDB”, in modo da permettere una corretta interpretazione della query da parte della nuova versione di MySQL).
Information Schema migliorato
Tra le novità introdotte da MySQL 5.5 spicca in particolar modo il miglioramento dell’INFORMATION_SCHEMA, il quale consente ora l’accesso a più parametri ed ai tipi di data return utilizzati dalle procedure archiviate.
Nell’INFORMATION_SCHEMA sono ora disponibili molte più informazioni rispetto a quelle disponibili con MySQL 5.1.
Si può avere una rapida dimostrazione di ciò attraverso il comando “show processlist“, che mostra una lock di 4 secondi nella Query Cache. Finora non era infatti possibile conoscere in modo semplice cosa stesse accadendo nella “scatola chiusa” della Query Cache (Black box).
In tal modo saranno agevolati gli sviluppatori che utilizzano connettori come ODBC o JDBC, i quali avranno ora a disposizione più informazioni.
Migliore performance delle query
Oltre al miglioramento dell’Information Schema e del motore di storage, è stata migliorata anche la capacità di esecuzione delle subquery.
Nella versione 5.5 di MySQL queste vengono eseguite in una frazione del tempo rispetto alle versioni precendenti di MySQL, migliorando la performance delle query analitiche.
Altre funzionalità
Oltre alle funzionalità già descritte, è stata migliorata radicalmente la gestione dei thread. Essi infatti vengono ora gestiti attraverso operazioni pianificate da parte del sistema operativo, e non più tramite mutex.
Tra le varie novità troviamo infine la replicazione semi-sincrona, funzionalità interessante soprattutto sotto il punto di vista del backup dei dati.
La replicazione di MySQL viene utilizzata molto frequentemente, in quanto è di semplice implementazione e molto efficiente. Generalmente il ritardo nella replicazione risulta essere molto limitato, tuttavia, nelle versioni precedenti di MySQL non era garantita la replica. In MySQL 5.5, con la replicazione semisincrona viene garantita la trasmissione dei dati ad almeno un database di replica.