• Русский
  • Введение

    Alauda Database for MySQL — это решение для высокодоступных баз данных, основанное на технологии MySQL Group Replication и работающие в Kubernetes. Оно обеспечивает автоматизированное развертывание и управление кластерами MySQL Group Replication.

    Основные возможности

    • Высокая доступность: архитектура кластера на базе MySQL Group Replication, реализующая автоматическую синхронизацию данных между несколькими узлами и самовосстановление при сбоях, с автоматическим переключением при отказе основного узла, что снижает риски прерывания сервиса.
    • Согласованность данных: распределённая аутентификация на основе технологии group replication, обеспечивающая согласованность данных.
    • Автоматизированное управление: реализация полного жизненного цикла управления развертыванием кластера, обновлением конфигураций, резервным копированием и восстановлением через Operator, что системно снижает операционные затраты.
    • Эластичное масштабирование: поддержка онлайн-добавления и удаления узлов, автоматическая глобальная синхронизация состояния транзакций, адаптация к динамическим изменениям нагрузки.
    • Разделение чтения и записи: поддержка разделения чтения и записи через MySQL Router.

    Ограничения по использованию

    • Количество участников группы: максимальное число участников группы репликации MySQL — 9. Рекомендуется не менее 3 участников для обеспечения высокой доступности.
    • Движок InnoDB: опирается на движок хранения InnoDB; рекомендуется настроить disabled_storage_engines="MyISAM,BLACKHOLE,FEDERATED,ARCHIVE,MEMORY" для отключения неподдерживаемых движков хранения.
    • Явный первичный ключ: каждая таблица для репликации должна иметь определённый первичный ключ или эквивалент первичного ключа, где эквивалентами считаются уникальные ключи с ограничением NOT NULL. Для поддержки таблиц без явно заданных первичных ключей настройте sql_generate_invisible_primary_key: ON.
    • Качество сети: предназначено для развертывания в кластерах, где серверные инстансы расположены очень близко друг к другу, обеспечивая низкую сетевую задержку. Высокая задержка сети может привести к задержкам репликации или даже к её сбоям.
    • Ограничения уровня изоляции: рекомендуется использовать уровень изоляции READ COMMITTED; уровень SERIALIZABLE не поддерживается.
    • Ограничения внешних ключей: каскадные внешние ключи не рекомендуются в режиме multi-master.
    • Взаимные блокировки в multi-master: в режиме multi-master могут возникать взаимные блокировки при использовании операторов SELECT .. FOR UPDATE, так как блокировки не разделяются между участниками.
    • Конфликты при одновременных DDL и DML: в режиме multi-master операции DDL и DML могут вызывать конфликты; рекомендуется избегать одновременного выполнения DDL и DML.
    • Ограничения размера транзакций: необходимо, чтобы размер транзакции находился в пределах group_replication_transaction_size_limit (по умолчанию около 143 МБ) и могла быть завершена в течение периода group_replication_member_expel_timeout (по умолчанию 5 с).
    • Ограничения гетерогенной архитектуры: из-за ограничений плагина MySQL Clone гетерогенные сценарии в настоящее время не поддерживаются.
    • Ограничения при поэтапном обновлении: MySQL Pods будут перезапускать сначала вторичные участники, а основной участник — последним. Этот процесс может вызвать кратковременные прерывания соединения, требующие реализации повторных попыток на уровне приложения.