Il database MySQL® è il database open source più conosciuto al mondo grazie a prestazioni veloci, elevata affidabilità e facilità d'uso.
MySQL® è anche il database utilizzato per una nuova generazione di applicazioni basate sullo stack LAMP (Linux, Apache, MySQL, PHP / Perl / Python). MySQL può essere eseguito su più di 20 piattaforme, tra cui Linux, Windows, Mac OS, Solaris, HP-UX, IBM AIX, offrendo quella flessibilità che mette l'utente al comando.
MySQL Cluster è l’unico vero database in tempo reale, che combina la flessibilità di un database relazionale ad alta disponibilità con il ridotto costo totale di gestione (TCO) dell’open source. MySQL Cluster offre un’architettura distribuita di tipo "shared-nothing", senza alcun single point of failure, per garantire la disponibilità al 99.999% e permettervi di soddisfare i requisiti applicativi più esigenti.
Il sistema è costituito da 3 nodi, che possono essere distribuiti tra gli host per garantire la costante disponibilità in caso di guasto di un nodo, di un componente hardware o della rete. MySQL Cluster Carrier Grade Edition usa uno storage engine costituito da un insieme di Data Node per memorizzare i dati, ai quali si accede attraverso un’interfaccia native C++ API, Java, LDAP o SQL standard.
I Data Node sono i nodi principali del cluster e forniscono le seguenti funzionalità:
Gli Application Nodes sono le applicazioni che si collegano al database. Ciò può consistere iin un’applicazione che utilizza le API NDB ad alte prestazioni, oppure nell'uso di server MySQL che eseguono la funzione di interfacce SQL nei dati conservati all’interno del cluster. Le applicazioni possono quindi accedere simultaneamente ai dati del MySQL Cluster usando un insieme di interfacce, come SQL, LDAP e servizi web. Oltre a ciò, è possibile aggiungere ulteriori Application Node online.
I Management Node sono responsabili della gestione del cluster e di rendere le informazioni sulla configurazione del cluster disponibili agli altri nodi. I Management Node sono usati all’avvio e quando è in atto una riconfigurazione del sistema. I Management Node possono essere interrotti e riavviati senza influire in alcun modo sull’esecuzione dei Data Node e degli Application Node. Per default, i Management Node forniscono anche servizi di arbitrato nel caso in cui un guasto della rete generi uno "split-brain", oppure un cluster presenti il partizionamento della rete.
Grazie a questa architettura distribuita, dove le dipendenze sono state ridotte al minimo, le applicazioni continuano ad essere eseguite e i dati rimangono costanti, anche in caso di guasto di uno dei Data, Application, o Management Node.