Risposte:
Perché come qualsiasi altra ottimizzazione, non si adatta a tutti i carichi di lavoro.
Galera può essere sopraffatta da un alto tasso di transazioni o quando le transazioni aggiornano molte righe. Può inoltre causare ritardi nelle applicazioni su COMMIT durante la sincronizzazione del cluster.
Anche Galera non aggiorna altri nodi in modo sincrono. Trasmette solo workset in modo sincrono. In questo modo, è un po 'come la replica standard in modalità semi-sincrona. Pertanto, esiste ancora una piccola possibilità di leggere dati non aggiornati da un altro nodo del cluster. C'è un'opzione che puoi impostare per forzare SELECT ad attendere fino a quando la coda dei workets ha aggiornato il database, ma ciò significa che hai dei ritardi su SELECT. E anche la possibilità di ottenere un deadlock su SELECT, che sembra controintuitivo.
Galera è geniale, ma non è una tecnologia adatta a tutti. Ci sono ancora buoni motivi per usare la replica asincrona.
wsrep_causal_reads
... impostata su ON SET GLOBAL wsrep_causal_reads = 'ON';
per ottenere le selezioni per attendere fino al completamento di tutti i set di scrittura.
Alcuni svantaggi di Galera includono:
Ci sono anche alcune limitazioni che dovrebbero essere notate, ma forse possono essere aggirate:
Per maggiori informazioni, vedi i dettagli su Codership (e qui sul blocco di DDL), MariaDB e Percona .
EDIT: Notare anche che alcuni sostengono che i cluster di database strettamente accoppiati, come Galera, non dovrebbero avere nodi geo-distribuiti a causa dei problemi derivanti dall'inaffidabilità intrinseca del livello di rete. Invece, in questi casi devono essere utilizzate soluzioni asincrone. Vedi: Come non fare MySQL Alta disponibilità: distribuzione geografica dei nodi con uso improprio della replica basata su Galera . Tuttavia, il blog Galera afferma che (2015):
Il caso della creazione di cluster di database geo-distribuiti è forte. L'approccio Galera alla replica e le caratteristiche specifiche del prodotto rendono pratico la creazione di cluster Galera che si estendono su più data center e più utenti hanno tali cluster già in produzione.