Spec-Zone.ru › MySQL 5.7

21.6.7.1 Добавление узлов данных NDB Cluster онлайн: Общие вопросы

В этом разделе предоставляется общая информация о поведении и текущих ограничениях при добавлении узлов кластера NDB онлайн.

Перераспределение данных. Возможность добавления новых узлов онлайн включает средства реорганизации данных и индексов таблиц NDBCLUSTER таким образом, чтобы они распределялись по всем узлам данных, включая новые, с помощью инструкции ALTER TABLE ... REORGANIZE PARTITION. Поддерживается реорганизация таблиц как для таблиц в оперативной памяти, так и для таблиц на диске. Это перераспределение в настоящее время не включает уникальные индексы (перераспределяются только упорядоченные индексы).

Перераспределение для таблиц NDBCLUSTER, уже существовавших до добавления новых узлов данных, не является автоматическим, но может быть выполнено с помощью простых SQL-запросов в mysql или другом приложении-клиенте MySQL. Однако все данные и индексы, добавленные в таблицы, созданные после добавления новой группы узлов, распределяются автоматически по всем узлам данных кластера, включая те, что были добавлены в рамках новой группы узлов.

Частичный запуск. Возможно добавление новой группы узлов без запуска всех новых узлов данных. Также возможно добавление новой группы узлов в деградированный кластер — то есть кластер, который запущен только частично, или где один или несколько узлов данных не работают. В последнем случае кластер должен иметь достаточно работающих узлов для работоспособности, прежде чем можно будет добавить новую группу узлов.

Воздействие на текущие операции. Обычные операции DML с использованием данных кластера NDB не препятствуют созданию или добавлению новой группы узлов, или реорганизации таблиц. Однако нельзя выполнять DDL одновременно с реорганизацией таблиц — то есть, нельзя выдавать другие инструкции DDL во время выполнения инструкции ALTER TABLE ... REORGANIZE PARTITION. Кроме того, во время выполнения ALTER TABLE ... REORGANIZE PARTITION (или любой другой инструкции DDL) нельзя перезапускать узлы данных кластера.

Обработка ошибок. Ошибки узлов данных во время создания группы узлов и реорганизации таблиц обрабатываются, как показано в следующей таблице:

Таблица 21.60 Обработка ошибок узлов данных во время создания группы узлов и реорганизации таблиц

Таблица 21.60 Обработка ошибок узлов данных во время создания группы узлов и реорганизации таблиц
Ошибка во время Ошибка в узле данных “Старый” Ошибка в узле данных “Новый” Ошибка системы
Создание группы узлов
  • Если произошла ошибка в узле, отличном от главного: Создание группы узлов всегда выполняется дальше.

  • Если произошла ошибка в главном узле:

    • Если внутренняя точка фиксации достигнута: Создание группы узлов выполняется дальше.

    • Если внутренняя точка фиксации еще не достигнута. Создание группы узлов отменяется

  • Если произошла ошибка в узле, отличном от главного: Создание группы узлов всегда выполняется дальше.

  • Если произошла ошибка в главном узле:

    • Если внутренняя точка фиксации достигнута: Создание группы узлов выполняется дальше.

    • Если внутренняя точка фиксации еще не достигнута. Создание группы узлов отменяется

  • Если выполнение CREATE NODEGROUP достигло внутренней точки фиксации: При перезапуске кластер включает новую группу узлов. В противном случае нет.

  • Если выполнение CREATE NODEGROUP еще не достигло внутренней точки фиксации: При перезапуске кластер не включает новую группу узлов.

Реорганизация таблиц
  • Если произошла ошибка в узле, отличном от главного: Реорганизация таблицы всегда выполняется дальше.

  • Если произошла ошибка в главном узле:

    • Если внутренняя точка фиксации достигнута: Реорганизация таблицы выполняется дальше.

    • Если внутренняя точка фиксации еще не достигнута. Реорганизация таблицы отменяется.

  • Если произошла ошибка в узле, отличном от главного: Реорганизация таблицы всегда выполняется дальше.

  • Если произошла ошибка в главном узле:

    • Если внутренняя точка фиксации достигнута: Реорганизация таблицы выполняется дальше.

    • Если внутренняя точка фиксации еще не достигнута. Реорганизация таблицы отменяется.

  • Если выполнение инструкции ALTER TABLE ... REORGANIZE PARTITION достигло внутренней точки фиксации: При перезапуске кластера данные и индексы, относящиеся к table, распределяются с использованием новых узлов данных.

  • Если выполнение инструкции ALTER TABLE ... REORGANIZE PARTITION еще не достигло внутренней точки фиксации: При перезапуске кластера данные и индексы, относящиеся к table, распределяются только с использованием старых узлов данных.


Удаление групп узлов. Клиент ndb_mgm поддерживает команду DROP NODEGROUP, но удалить группу узлов можно только тогда, когда ни один узел данных в группе не содержит данных. Поскольку в настоящее время нет способа “очистить” конкретный узел данных или группу узлов, эта команда работает только в следующих двух случаях:

  1. После выполнения CREATE NODEGROUP в клиенте ndb_mgm, но перед выполнением каких-либо инструкций ALTER TABLE ... REORGANIZE PARTITION в клиенте mysql.

  2. После удаления всех таблиц NDBCLUSTER с помощью DROP TABLE.

    TRUNCATE TABLE не работает для этой цели, так как узлы данных продолжают хранить определения таблиц.

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/mysql-5.7-en/mysql-cluster-online-add-node-remarks.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API