MariaDB Galera Cluster — это решение для организации синхронной многомастеровой репликации реляционных баз данных на основе технологий Galera. Оно представляет собой кластер узлов, каждый из которых исполняет полноценный экземпляр сервера баз данных и принимает как запись, так и чтение, обеспечивая согласованность данных между всеми участниками кластера. Подобная архитектура направлена на повышение доступности, масштабируемости и отказоустойчивости систем, где требуется минимизация окон несогласованности и быстрая восстановляемость после сбоев.
Технологически кластер реализует синхронную репликацию на уровне групповой коммуникации, при которой транзакции подтверждаются только после применения на всех узлах кластера или на достаточном кворуме, что обеспечивает консистентное состояние данных. В состав решения входят механизмы определения состояния участников, автоматической репликации DML-операций, конфликтного разрешения при конкурентных записях и инструментов для управления добавлением и удалением узлов. MariaDB Galera Cluster применяется в сценариях с высоким требованием к доступности сервисов, критичных к потере транзакций, а также в системах с географически распределёнными инстансами при условии обеспечения сетевой задержки на приемлемом уровне.
- Синхронная репликация: подтверждение транзакций после их применения на репликах, что обеспечивает консистентность состояния между узлами.
- Многомастерость: все узлы могут принимать записи, что упрощает масштабирование и повышает доступность записи данных.
- Автоматическое согласование: встроенные механизмы обнаружения конфликтов и согласования последовательности транзакций.
- Быстрое восстановление: автоматическая синхронизация отработанных транзакций для вновь подключаемых или восстановленных узлов.
- Детектирование состояния узлов: мониторинг живости и корректности участников кластера с управлением разделением мозгов (split-brain) и кластерной стабильностью.
- Конфигурация кворума: поддержка политик, определяющих, какое число узлов необходимо для продолжения обслуживания и согласованности.
- Совместимость с инструментами MariaDB: интеграция с существующими средствами администрирования, резервного копирования и мониторинга MariaDB.
- Производительность при нагрузке чтения: возможность масштабирования чтения за счёт распределения запросов по узлам кластера.
- Сетевые требования: зависимость от качественной сети с малой задержкой для обеспечения эффективной синхронизации транзакций.
- Гибкость развёртывания: поддержка одноузловых и многозоновых конфигураций, а также процедур для безопасного расширения и сокращения кластера.