Il database open source più famoso al mondo
Italia: +39 06 99268193
USA Subscription Renewals: +1-866-221-0634
EMEA: +353 1 6919191
Il database MySQL Cluster è disponibile dalle pagine di download della comunità, con licenza GPL. Versioni commerciali sono disponibili per le seguenti edizioni:
Le opzioni sono disponibili ad un costo aggiuntivo. Contattate il team di vendita MySQL/a>
Gli utenti in possesso di una licenza MySQL Cluster hanno a disposizione varie opzioni di assistenza tecnica. Fare clic qui per saperne di più sulle offerte di sviluppo e supporto in produzione.
MySQL Cluster offre il supporto completo alle transazioni ACID (atomic, consistent, isolated, durable).
Per garantire prestazioni in tempo reale, MySQL Cluster conserva gli indici nella memoria principale. I dati possono essere inoltre conservati e gestiti nella memoria principale quando è necessario accedervi per le applicazioni ad alte prestazioni e bassa latenza.
I dati che devono essere altamente disponibili, ma che non necessitano delle caratteristiche di prestazioni in tempo reale dei dati in memoria principale, possono essere conservati su disco. Ciò consente a MySQL Cluster di essere usato per una vasta gamma di applicazioni, offrendo all’utente la possibilità di creare cluster di database ancora più grandi, gestendoli efficacemente.
L’architettura di MySQL Cluster è progettata per garantire la disponibilità 99.999%. Ciò si traduce in tempi di fermo inferiori a 5 minuti l’anno, incluse le regolari operazioni di manutenzione. MySQL Cluster è costituito da più 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. Conservando e distribuendo i dati in un’architettura di tipo Shared-Nothing, (ovvero senza usare un disco condiviso), in caso di guasto di Data Node, ci sarà sempre almeno un ulteriore Data Node sul quale sono memorizzate le stesse informazioni. Ciò consente di continuare a soddisfare richieste e transazioni senza interruzione, garantendo dei dati sui nodi.
Fate clic qui per maggiori informazioni sull’architettura di MySQL Cluster.
Poiché tutti i dati del database vengono automaticamente replicati su più Data Node all’interno di uno stesso gruppo, i dati sono replicati in modo sincrono durante le transazioni (l’effetto di ciascuna transazione è propagato a tutti i Data Node appropriati durante la transazione). Quando una transazione è pronta per essere inviata, a tutti i Data Node coinvolti viene spedita una richiesta. Quando tutti i nodi confermano di essere pronti, la transazione viene inviata e l’applicazione viene informata circa il successo della transazione. Per garantire che il database sia sempre aggiornato, nel caso in cui un Data Node si guasti durante una transazione, quest’ultima viene abortita e l’applicazione ne viene informata, affinché si possa eseguire il roll-back e riavviare la transazione.
Poiché tutti i dati sono già replicati su più nodi usando la replicazione sincrona, e grazie all’individuazione istantanea degli eventuali guasti, il failover su un altro nodo avviene in meno di un secondo. L’architettura Shared-Nothing di MySQL Cluster garantisce che non vi siano ulteriori complessità e rallentamenti a causa dello storage condiviso.
I nodi del database MySQL Cluster sono in gradi di riavviarsi automaticamente, ripristinarsi e riconfigurarsi dinamicamente in caso di guasto. Le caratteristiche di failover e autoguarigione di MySQL Cluster sono completamente trasparenti agli occhi delle applicazioni e dei client.
I record di dimensioni variabili sono gestiti in modo efficiente da MySQL Cluster, affinché solo i dati che si trovano effettivamente all’interno della riga consumino memoria. Non si spreca quindi più memoria, possono essere memorizzate più righe per gigabyte e possono essere utilizzati dataset più grandi per i dati in-memory.
MySQL Cluster offre il partizionamento automatico dei dati quale funzionalità standard. Per potenziare ulteriormente la scalabilità lineare, MySQL Cluster consente a sviluppatori e DBA di perfezionare l’accesso attraverso il partizionamento definito dall’utente, consentendo quindi di accedere ai dati efficientemente su un singolo nodo, senza bisogno di comunicazioni tra cluster per eseguire una transazione o un look-up.
Per garantire l’operatività continua, MySQL Cluster consente di effettuare aggiornamenti online dello schema del database, così come aggiornamenti dell’infrastruttura hardware e software del cluster.
MySQL Cluster supporta gli aggiornamenti online dello schema, come l’aggiunta e la rimozione di tabelle o indici, così come la modifica degli schemi delle tabelle (ad esempio, l’aggiunta di colonne). Con MySQL Cluster, l’aggiunta e la rimozione di tabelle e indici è eseguita come un’operazione normale sul cluster e non richiede alcun aggiornamento in sequenza del cluster.
Usando un upgrade in sequenza, i singoli componenti si spengono, caricano l’aggiornamento e si riavviano, mentre le parti ridondanti continuano a elaborare le richieste del client. Le sessioni del database possono quindi essere mantenute e gli aggiornamenti non causano rallentamenti.
MySQL Cluster è eseguito su tutti i principali componenti hardware e le principali piattaforme di sistema operativo, liberando quindi gli utenti sia dall’uso di piattaforme di tipo proprietario, sia dal vincolo a fornitori singoli, riducendo quindi i costi. Gli utenti possono partire con host Cluster di largo consumo, aggiungendo via via nodi con l'aumentare del carico di lavoro o della dimensione del database, allo stesso tempo mantenendo al minimo i costi delle acquisizioni.
Grazie ai Data Node Multi-Threaded di MySQL Cluster, gli utenti possono scalare su host attrezzati con più socket, core o thread CPU, offrendo prestazioni migliori con una quantità inferiore di risorse hardware. Di conseguenza, gli utenti possono ridurre la proliferazione di hardware, riducendo quindi il costo totale di gestione grazie alla ridotta amministrazione dei sistemi e al ridotto consumo di spazio e energia del cluster.
MySQL Cluster CGE consente di effettuare backup su un cluster in esecuzione. Il backup è un’instantanea aggiornata del database, che può essere archiviata e copiata in una locazione sicura e remota. I backup possono più tardi essere applicati, se necessario, a un database per ripristinarne i contenuti.
I MySQL Server Node permettono l’accesso SQL ai Data Node clusterizzati. Ciò offre agli sviluppatori un’interfaccia SQL standard con la quale programmare. A sua volta, MySQL Server gestisce l’invio delle richieste ai Data Node, eliminando quindi il ricorso alla programmazione di basso livello specifica per cluster all’interno dell’applicazione.
Le applicazioni che necessitano delle massime prestazioni in tempo reale dal database MySQL Cluster dovrebbero usare direttamente l’API NDB nativa. Questa API C++ è descritta iin dettaglio nella MySQL Cluster API Developer Guide; disponibile all’indirizzo: http://dev.mysql.com/doc/#cluster
Sono disponibili inoltre interfacce Java e HTTP per l’API NDB, per garantire l'indipendenza degli sviluppatori e semplificare l'integrazione di MySQL Cluster con una vasta gamma di applicazioni web ed enterprise.
MySQL CGE è in grado di aggiungere nodi online ad un cluster in esecuzione. Ciò si ottiene ripartizionando i dati via via che si aggiungono nuovi gruppi di nodi, per garantire che il cluster mantenga l’operatività e la connettività delle applicazioni.
Attraverso l’On-Line Add Node gli utenti possono scalare dinamicamente la capacità e le prestazioni, aggiungendo più nodi a un cluster attivo e consentendo alle applicazioni mission-critical di scalare facilmente, senza alcuna interruzione.
MySQL Cluster è stato ampiamente utilizzato all’interno delle reti dei provider di servizi di comunicazione, sui database per la gestione delle sottoscrizioni. MySQL Cluster CGE 7.0 (e versioni superiori) può essere utilizzato come data store di back-end per i server di directory LDAP, consentendo agli utenti di ottimizzare gli investimenti esistenti nella tecnologia LDAP. MySQL Cluster consente agli operatori di avviare iniziative che sfruttino appieno i dati degli utenti e delle reti, attualmente distribuiti su più applicazioni e reti esistenti.
Per poter utilizzare una gamma di servizi di prossima generazione altamente personalizzati, forniti attraverso le reti per le comunicazioni, gli operatori devono presentare i dati della rete e dei sottoscrittori in modo standard. I profili dei sottoscrittori stanno diventando più ricchi, poiché catturano preferenze di rete e oggetti multimediali insieme ai tradizionali dati sui clienti e i servizi. Allo stesso tempo, i requisiti di sicurezza e auditing costringono i dati a essere più transazionali. Usando le directory standard LDAP, con MySQL Cluster in qualità di data store, gli operatori possono sfruttare le interfacce LDAP per l’autenticazione e l’autorizzazione di dispositivi e sottoscrittori con prestazioni in tempo reale, disponibilità carrier-grade e una soluzione completa, che reduce costi, rischi e complessità per i data set di grandi dimensioni e con elevato volume di transazioni.
Directory LDAP come Sun OpenDS e OpenLDAP forniscono driver per MySQL Cluster.
La capacità di resistere ai guasti del sito per mezzo della replicazione dei cluster su più locazioni remote rappresenta una funzionalità importante in molte installazioni. La replicazione geografica è disponibile quale opzione di MySQL Cluster Carrier Grade Edition ed è ideale per le organizzazioni con più data center. Alcuni dei motivi più comuni per implementare la replicazione geografica includono:
I clienti commerciali di MySQL Cluster CGE possono supportare progetti NRE (Non-Recurring Engineering) implementati da MySQL. Questi progetti prevedono la ricerca, lo sviluppo, la progettazione e il testing di potenziali nuove funzionalità che offrano ai clienti le capacità necessarie per risolvere specifiche problematiche aziendali o tecniche, oppure per creare nuove soluzioni a valore aggiunto con MySQL Cluster.

