Создание кластеров MySQL – это технология, позволяющая распределить базу данных MySQL на множество независимых узлов, чтобы до критического минимума уменьшить вероятность любых локальных сбоев и ошибок. Создание кластеров позволяет почти неограниченно масштабировать ваши приложения или сайты, основанные на системе управления базами данных (СУБД) MySQL, распределяя их работу горизонтально между относительно несложными и недорогими аппаратными средствами.
Создание кластеров позволяет почти неограниченно масштабировать ваши приложения или сайты, основанные на системе управления базами данных (СУБД) MySQL, распределяя их работу горизонтально между относительно несложными и недорогими аппаратными средствами.
Кластеры создаются средствами СУБД Cluster MySQL. Эта работа требует некоторой квалификации. Создание кластеров доступно, начиная с версии СУБД MySQL 5.0. Чтобы создать кластер, необходимо выделить три группы физических или виртуальных узлов (серверов MySQL): для хранения, для обработки запросов и для управления.
Создание кластеров MySQL: узлы хранения, обработки запросов и управления
Рекомендация. Для обеспечения максимальной доступности кластера MySQL, в каждую группу должно входить не менее 3 узлов.
Необходимо чётко понимать, что кластерирование БД MySQL не устраняет нужды в бэкапе (резервном копировании) БД MySQL. Кластеры хороши для повышения доступности и производительности, но не способны напрямую противостоять таким угрозам, как человеческие ошибки, вирусы или проблемы MySQL. Если ваше приложение включает оператор DROP DATABASE, не существует пути для восстановления удалённого содержимого БД – неважно, сколько узлов хранения имеет при этом ваш кластер. Чтобы узнать больше о бэкапе MySQL, пожалуйста, прочтите соответствующую статью.
Следующая важная вещь, которую следует знать о резервном копировании MySQL, заключается в том, что некоторые реализации СУБД MySQL плохо работают с конкурирующими процессами чтения и записи. Это значит, что при активной работе вашей СУБД на запись резервное копирование может производиться в течение слишком длительного времени. Обычно эта проблема преодолевается с помощью репликации MySQL, после которой один из компьютеров (master) работает на запись, а связанный с ним компьютер для доступа к данным (slave) – на чтение. Так же имейте в виду, что для работы с MySQL версии 8.1 и более поздних релизов необходимо использовать Handy Backup с поддержкой 64-битной архитектуры.
Однако столь же прекрасные результаты даёт комбинация кластерирования и бэкапа. Кластеры MySQL используют систему хранения данных Network DataBase (NDB), являющуюся загружаемым в память приложением для распределённого хранения и доступа. Каждая запись, попадающая в NDB, автоматически копируется в узлы хранения. Система автоматически распределяет данные между различными узлами, поэтому в сильно загруженных записью данных сценариях работы одни узлы могут тотчас же начинать работать на бэкап, в то время как другие продолжают принимать данные. Эта схема обычно чуть медленнее, чем схема доступа, основанная на репликации баз данных, но значительно быстрее прямого доступа к единственному серверу MySQL. Чтобы найти инструкции по созданию кластеров MySQL, пожалуйста, обратитесь к официальному руководству по MySQL.
Кратко просуммируем все преимущества подхода к организации баз данных на основе кластеров MySQL:
И недостатки такого подхода:
Версия 8.6.4 от 9 июня 2025. 153 MB
30-дневный полнофункциональный пробный период