21.2 Обзор кластера NDB
- 21.2.1 Основные понятия кластера NDB
- 21.2.2 Узлы, группы узлов, фрагментные реплики и разделы кластера NDB
- 21.2.3 Требования к оборудованию, программному обеспечению и сети для кластера NDB
- 21.2.4 Что нового в MySQL NDB Cluster
- 21.2.5 Добавленные, устаревшие и удаленные параметры, переменные и опции NDB
- 21.2.6 Сравнение сервера MySQL с InnoDB и кластера NDB
- 21.2.7 Известные ограничения кластера NDB
Кластер NDB — это технология, которая позволяет кластеризовать базы данных в оперативной памяти в системе «shared-nothing». Архитектура «shared-nothing» позволяет использовать очень недорогие аппаратные средства и минимальные требования к оборудованию и программному обеспечению.
Кластер NDB разработан таким образом, чтобы не было единой точки отказа. В системе «shared-nothing» каждый компонент должен иметь собственную память и диск, и использование механизмов совместного хранения, таких как сетевые общие ресурсы, сетевые файловые системы и SAN, не рекомендуется и не поддерживается.
Кластер NDB интегрирует стандартный сервер MySQL с кэшируемым кластеризованным хранилищем данных, называемым NDB (что означает «“Сетевая База Данных”). В нашей документации термин NDB относится к части настройки, специфической для хранилища данных, а “MySQL NDB Cluster” — к комбинации одного или нескольких серверов MySQL с NDB хранилищем данных.
Кластер NDB состоит из набора компьютеров, известных как узлы, на каждом из которых выполняются один или несколько процессов. Эти процессы, известные как узлы, могут включать серверы MySQL (для доступа к данным NDB), узлы данных (для хранения данных), один или несколько серверов управления и, возможно, другие специализированные программы доступа к данным. Взаимодействие этих компонентов в кластере NDB показано здесь:
Рисунок 21.1 Компоненты кластера NDB
Все эти программы работают вместе, образуя кластер NDB (см. Раздел 21.5, «Программы кластера NDB»). Когда данные хранятся с помощью NDB хранилища данных, таблицы (и данные таблиц) хранятся в узлах данных. Такие таблицы напрямую доступны со всех других серверов MySQL (узлов SQL) в кластере. Таким образом, в приложении для расчета заработной платы, хранящем данные в кластере, если одно приложение обновляет зарплату сотрудника, все другие серверы MySQL, которые обращаются к этим данным, сразу же увидят это изменение.
Хотя узел SQL кластера NDB использует демон сервера mysqld, он отличается по ряду критических аспектов от бинарника mysqld, поставляемого с дистрибутивами MySQL 5.7, и две версии mysqld не взаимозаменяемы.
Кроме того, сервер MySQL, который не подключен к кластеру NDB, не может использовать NDB хранилище данных и не может получить доступ к данным кластера NDB.
Данные, хранящиеся в узлах данных кластера NDB, могут быть дублированы; кластер может обрабатывать сбои отдельных узлов данных без каких-либо других последствий, кроме того, что небольшое количество транзакций будет прервано из-за потери состояния транзакции. Поскольку ожидается, что транзакционные приложения будут обрабатывать сбои транзакций, это не должно быть источником проблем.
Отдельные узлы можно останавливать и перезапускать, а затем вновь присоединять к системе (кластеру). Поэтапный перезапуск (при котором все узлы перезапускаются по очереди) используется для внесения изменений в конфигурацию и обновления программного обеспечения (см. Раздел 21.6.5, «Поэтапный перезапуск кластера NDB»). Поэтапный перезапуск также используется в процессе добавления новых узлов данных онлайн (см. Раздел 21.6.7, «Добавление узлов данных кластера NDB онлайн»). Дополнительную информацию об узлах данных, о том, как они организованы в кластере NDB, и о том, как они обрабатывают и хранят данные кластера NDB, см. в Разделе 21.2.2, «Узлы, группы узлов, фрагментные реплики и разделы кластера NDB».
Резервное копирование и восстановление баз данных кластера NDB можно выполнить с помощью встроенной функциональности клиента управления кластером NDB и программы ndb_restore, включенной в дистрибутив кластера NDB. Дополнительную информацию см. в Разделе 21.6.8, «Онлайн-резервное копирование кластера NDB» и Разделе 21.5.24, «ndb_restore — Восстановление резервной копии кластера NDB». Также можно использовать стандартную функциональность MySQL для этих целей в программе mysqldump и сервере MySQL. Дополнительную информацию см. в Разделе 4.5.4, «mysqldump — Программа резервного копирования базы данных».
Узлы кластера NDB могут использовать различные механизмы передачи данных для межсетевого взаимодействия; в большинстве реальных развертываний используется TCP/IP по стандартной сети Ethernet со скоростью 100 Мбит/с или выше.
© 2025 Oracle
Licensed under the GPLv2 License.