Spec-Zone.ru › MySQL 9.2

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • Если выполнение 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-9.2-en/mysql-cluster-online-add-node-remarks.html

Spec-Zone.ru

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