Risposte:
Queste 3 cose non hanno nulla a che fare l'una con l'altra. Ti darò un'introduzione e potrai cercare o chiedere ulteriori dettagli separatamente:
MySQL Cluster è il nome commerciale di ciò che molti di noi chiamano - per evitare confusioni come quella di cui si soffre attualmente - "NDB Cluster" o "MySQL NDB Cluster". Si tratta di un archivio di valori-chiave sincrono, prevalentemente di sola memoria, che consente un'architettura a nulla condiviso per MySQL (che fornisce un back-end al motore NDB). Fornisce lo sharding automatico (quindi, una migliore velocità di lettura e scrittura) e un'elevata disponibilità. Funziona bene con i sistemi di dati di piccole dimensioni con valori-chiave ad alto rendimento, ma è relativamente complesso da configurare (portando a problemi se non è configurato correttamente o se viene utilizzato in modo non intenzionale) e non è la migliore latenza- saggio (velocità grezza). Questa è una versione semplificata (può essere utilizzata per qualcosa di più della sola memoria e del valore-chiave, ma è stata progettata attorno ad essa). A mio avviso, un ottimo pezzo di ingegneria, ma ha casi d'uso limitati, in quanto è un prodotto diverso rispetto al normale server MySQL con download separati (e richiede l'uso di un motore specifico).
MySQL Fabric è un set di strumenti / middleware scritti in Python che consente la gestione di un set di normali server MySQL in un ambiente GTID replicato . Non è un cluster di per sé, ma facilita la gestione di uno. Ha collegamenti a (per ora) connettori Java e Python, quindi può gestire automaticamente lo sharding e l'alta disponibilità dei server, ma è uno strato sopra i normali server MySQL e la replica regolare (è possibile utilizzare motori di archiviazione regolari come InnoDB) . La replica, fino ad ora, è asincrona (o semi-sincrona), quindi potrebbe non fornire da sola la migliore coerenza e sicurezza; questo potrebbe cambiare nelle future versioni 5.7. Tuttavia, questo approccio ha un sovraccarico minore in termini di latenza e utilizza la tecnologia di replica più familiare di MySQL DBA. MySQL Fabric è un ragazzo relativamente nuovo nel vicinato, quindi non ancora molto esteso, ma sembra essere la reazione di Oracle (insieme alla replica sincrona annunciata) ai cluster basati su Galera della concorrenza.
Se hai bisogno di sharding e HA, puoi usare uno dei 2 prodotti precedenti, ma probabilmente per scenari totalmente diversi.
WebScaleSQL non è una soluzione HA, come le precedenti, è solo il nome che diverse aziende hanno dato a un fork / versione di MySQL in cui condividono patch specifiche di cui hanno bisogno e che forse Oracle non ha applicato. Per quanto ne so, è stato creato da Facebook, Twitter, LinkedIn e Google e hanno ribattezzato le proprie versioni di MySQL su quella base comune. Non forniscono supporto o versioni binarie. Se sei un utente finale, probabilmente non dovresti preoccuparti di usarlo, ma dovresti tenere d'occhio il progetto per vedere cosa si evolverà da esso o la risposta di altri fornitori.
Se stai cercando di imparare / iniziare con MySQL HA / ridimensionamento, inizia con la replica di base di MySQL (potrebbe non essere la migliore, ma è la cosa più semplice con cui iniziare), quindi puoi continuare da lì ad altre soluzioni: DRBD [ sic], replica GTID, NDB, Galera, Tungsteno.
MySQL Fabric è implementato come nodo / processo MySQL Fabric (che esegue funzioni di gestione) e connettori compatibili con Fabric che sono in grado di indirizzare query e transazioni direttamente al server MySQL più appropriato. Il nodo MySQL Fabric archivia le informazioni sullo stato e sul routing nel suo archivio di stato (che è un database MySQL).
MySQL Cluster è una tecnologia che consente il clustering di database in memoria in un sistema a nulla condiviso. L'architettura a nulla condiviso consente al sistema di funzionare con hardware molto economico e con un minimo di requisiti specifici per hardware o software.