Відповіді:
Оскільки, як і будь-яка інша оптимізація, вона не відповідає кожному навантаженню.
Galera може переповнитися високою швидкістю транзакцій або коли транзакції оновлюють багато рядків. Це також може зробити затримку ваших програм у COMMIT, коли кластер синхронізується.
Galera також не оновлює інші вузли синхронно. Він просто передає робочі набори синхронно. Таким чином, це трохи схоже на стандартну реплікацію в напівсинхронному режимі. Тому є ще невеликий шанс прочитати застарілі дані з іншого вузла кластера. Існує опція, яку ви можете встановити, щоб змусити SELECT чекати, поки черга робочих наборів не оновить базу даних, але це означає, що у вас є затримки на SELECT. І навіть шанс отримати тупик на SELECT, який здається контрінтуїтивним.
"Галера" - це геніальна, але не технологія одного розміру. Є ще вагомі причини використовувати асинхронну реплікацію.
wsrep_causal_reads
... встановити значення ON, SET GLOBAL wsrep_causal_reads = 'ON';
щоб отримати вибір, щоб чекати, поки всі набори записів будуть виконані.
Деякі недоліки Galera включають:
Існують також деякі обмеження, які слід зазначити, але, можливо, їх можна вирішити:
Для отримання додаткової інформації дивіться деталі в Codership (і тут про блокування DDL), MariaDB та Percona .
EDIT: Зауважте також, що деякі стверджують, що щільно пов'язані кластери баз даних, такі як Galera, не повинні мати георозподілених вузлів через проблеми, що виникають із притаманної ненадійності мережевого рівня. Натомість в цих випадках повинні використовуватися асинхронні рішення. Дивіться: Як не робити MySQL Висока доступність: Розподіл географічних вузлів із неправильним використанням реплікації на основі Galera . Тим не менш, у блозі Galera зазначається, що (2015 р.):
Справа для створення кластерів баз даних з розподіленою географічною базою дуже сильна. Підхід Galera до реплікації та специфічні особливості продукту роблять практичним створення кластерів Galera, що охоплюють декілька центрів обробки даних, а у багатьох користувачів такі кластери вже є у виробництві.