Quali sono gli svantaggi dell'utilizzo del cluster Galera anziché della replica master / slave?


13

Quali sono gli svantaggi dell'utilizzo del cluster Galera invece della normale replica master / slave? Il tempo di ritardo 0 slave di Galera, la replica sincrona e nessun singolo punto di errore sembrano molto interessanti, quindi perché il cluster Galera non è così comune?

Risposte:


16

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.


Grazie Bill, tra l'altro ho letto le tue presentazioni di Percona.
Sam,

3
Un altro svantaggio è avere un nodo donatore fuori da sé ed essere utilizzato per copiare (tramite xtrabackup, rsync, mysqldump) su qualsiasi nodo introdotto nel cluster, lasciando i nodi rimanenti nel cluster per eseguire il sollevamento pesante fino a quando il nuovo nodo non è sincronizzato. Non è un tale svantaggio per DB di piccole o medie dimensioni.
RolandoMySQLDBA

1
I metodi SST di @RolandoMySQLDBA come xtrabackup evitano precisamente di bloccare il donatore. Anche se è vero che in ogni caso, il donatore avrà prestazioni degradate se il database è di grandi dimensioni.
jynus il

3
@jynus, il problema non si sta bloccando sul nodo donatore , ma che il nodo ricevente non è in linea e non è disponibile per qualsiasi query mentre l'SST è in corso. Pertanto, se si utilizza il cluster per il bilanciamento del carico delle query, le query che sarebbero state inviate al nodo di ricezione devono essere inviate ad altri nodi fino al completamento dell'SST.
Bill Karwin,

2
Nel caso in cui qualcuno stia cercando, l'opzione a cui si riferisce Bill è 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.
Luke Cousins,

2

Alcuni svantaggi di Galera includono:

  • Supporto del motore di archiviazione: limitato a InnoDB / XtraDB (oltre al supporto sperimentale per MyISAM)
  • Supporto del sistema operativo: solo Oses Linux / Unix-like

Ci sono anche alcune limitazioni che dovrebbero essere notate, ma forse possono essere aggirate:

  • Per impostazione predefinita (Total Order Isolation), le operazioni DDL bloccano l'intero cluster fino al completamento
  • Ogni tabella deve avere una chiave primaria esplicita, singola o multi-colonna
  • Blocco: alcuni tipi di blocco esplicito non sono supportati.

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.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.