Установка Spider
Двигатель хранения Spider поддерживает разбиение и транзакции XA, и позволяет таблицам из разных экземпляров MariaDB обрабатываться так, как будто они находятся в одном экземпляре.
Для использования Spider вам нужны два или более экземпляра MariaDB, как правило, работающие на отдельных хостах. Узел Spider — это сервер MariaDB, который получает запросы от вашего приложения. Затем он обрабатывает эти запросы, подключаясь к одному или нескольким узлам данных. Узлы данных — это серверы MariaDB, которые фактически хранят данные таблицы.
Для работы необходимо настроить узлы данных на прием запросов от узла Spider и настроить узел Spider на использование узлов данных в качестве удаленного хранилища.
Вам не нужно устанавливать дополнительные пакеты для его использования, но требуется некоторая настройка.
Настройка узлов данных
В развертываниях Spider используются узлы данных для хранения фактических данных таблицы. Для того, чтобы сервер MariaDB работал как узел данных для Spider, необходимо создать таблицу или таблицы для хранения данных и настроить сервер на прием клиентских подключений от узла Spider.
Например, сначала создайте таблицу:
CREATE TABLE test.spider_example ( id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(50) ) ENGINE=InnoDB;
Далее создайте пользователя для узла Spider и задайте пароль для этого пользователя. Для примера предположим, что узел Spider находится по IP-адресу 192.168.1.1:
CREATE USER spider@192.168.1.1;
SET PASSWORD FOR spider@192.168.1.1 = PASSWORD('passwd');
Затем предоставьте пользователю spider права на таблицу-пример.
GRANT ALL ON test.spider_example TO spider@192.168.1.1;
Узел данных теперь готов к использованию. Вы можете проверить его, попытавшись подключиться к данным MariaDB-клиента с узла Spider. Например, предположив, что узел данных находится по IP-адресу 192.168.1.5, подключитесь по SSH к узлу Spider, а затем попробуйте установить клиентское подключение.
$ mysql -u spider -p -h 192.168.1.5 test -e "SHOW TABLES;" +----------------+ | Tables_in_test | +----------------+ | spider_example | +----------------+
Установка Spider на узел Spider
Двигатель хранения Spider должен быть установлен на узле Spider. Узел Spider — это сервер MariaDB, который получает запросы к таблице (в данном случае test.spider_example). Затем он использует движок хранения Spider для подключения к таблицам на узлах данных для извлечения данных и возврата набора результатов.
Для установки движка хранения Spider выполните процесс установки, показанный ниже.
Шаг 1: Установка пакета Spider (Debian/Ubuntu)
В Debian и Ubuntu движок хранения Spider устанавливается через отдельный mariadb-plugin-spider пакет. Для установки пакета через APT выполните следующую команду:
$ sudo apt install mariadb-plugin-spider
В других дистрибутивах Linux движок хранения Spider устанавливается вместе с сервером MariaDB.
Шаг 2a: Загрузка плагина Spider (MariaDB 10.4 и новее)
С MariaDB 10.4 и новее движок хранения Spider может быть загружен как обычный плагин, и Spider автоматически создаёт свои зависимости. Существует два основных способа загрузки плагина.
Плагин можно загрузить динамически без перезапуска сервера, выполнив INSTALL SONAME или INSTALL PLUGIN:
INSTALL SONAME "ha_spider";
В качестве альтернативы, плагин можно загрузить, добавив plugin_load_add=ha_spider в файл конфигурации:
<<quote>> [mariadb] ... plugin_load_add = "ha_spider" <</quote>>
Если плагин загружается в файле конфигурации, сервер загрузит плагин после перезапуска сервера.
Загрузка плагина также создаёт ряд новых таблиц в базе данных mysql, включая:
| Название таблицы | Добавлена в версии |
|---|---|
| spider_xa | MariaDB 10.0.4 |
| spider_xa_member | MariaDB 10.0.4 |
| spider_xa_failed_log | MariaDB 10.0.5 |
| spider_tables | MariaDB 10.0.4 |
| spider_link_mon_servers | MariaDB 10.0.4 |
| spider_link_failed_log | MariaDB 10.0.4 |
| spider_table_position_for_recovery | MariaDB 10.3.3 |
| spider_table_sts | MariaDB 10.3.3 |
| spider_table_crd | MariaDB 10.3.3 |
Шаг 2b: Загрузка плагина Spider (MariaDB 10.3 и ранее)
С MariaDB 10.3 и ранее движок хранения Spider может быть загружен путём выполнения прилагаемого скрипта install_spider.sql.
$ mysql --user root --password < /usr/share/mysql/install_spider.sql
Выполнение этого скрипта конфигурации также создаёт ряд новых таблиц в базе данных mysql, включая:
| Название таблицы | Добавлена в версии |
|---|---|
| spider_xa | MariaDB 10.0.4 |
| spider_xa_member | MariaDB 10.0.4 |
| spider_xa_failed_log | MariaDB 10.0.5 |
| spider_tables | MariaDB 10.0.4 |
| spider_link_mon_servers | MariaDB 10.0.4 |
| spider_link_failed_log | MariaDB 10.0.4 |
| spider_table_position_for_recovery | MariaDB 10.3.3 |
| spider_table_sts | MariaDB 10.3.3 |
| spider_table_crd | MariaDB 10.3.3 |
Шаг 3: Проверка загрузки плагина Spider
Вы можете проверить, что плагин Spider загружен, запросив таблицу information_schema.ENGINES:
SELECT ENGINE, SUPPORT FROM information_schema.ENGINES WHERE ENGINE = 'SPIDER'; +--------------------+---------+ | ENGINE | SUPPORT | +--------------------+---------+ | SPIDER | YES | +--------------------+---------+
Если плагин Spider не загружен, запрос не вернёт никаких результатов.
Настройка узлов Spider
После настройки узла или узлов данных, вы можете настроить узел Spider для их использования. Узел Spider — это сервер MariaDB, который получает запросы к таблице (в данном случае test.spider_example). Затем он использует движок хранения Spider для подключения к таблицам на узлах данных для извлечения данных и возврата набора результатов.
Настройка сервера
Для подключения узла Spider к узлам данных необходимо выполнить оператор CREATE SERVER для каждого узла данных. Затем вы можете использовать определение сервера при создании таблицы Spider.
CREATE SERVER dataNode1 FOREIGN DATA WRAPPER mysql OPTIONS ( HOST '192.168.1.5', DATABASE 'test', USER 'spider', PASSWORD 'passwd', PORT 3306);
В случае необходимости изменения или замены этого сервера после настройки таблицы Spider, помните о необходимости выполнения оператора FLUSH для обновления определения сервера.
FLUSH TABLES;
Создание таблицы
После настройки узлов данных и настройки узла Spider для использования, вы можете создать таблицу Spider. Таблица Spider должна иметь те же определения столбцов, что и таблицы InnoDB на узлах данных. Spider настраивается через переменные системы таблиц, передаваемые параметру COMMENT.
CREATE TABLE test.spider_example ( id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(50) ) ENGINE=Spider COMMENT='wrapper "mysql", srv "dataNode1", table "spider_example"';
Это настраивает Spider для использования сервера dataNode1, (определённого выше), как удалённой таблицы. Любые данные, которые вы записываете в эту таблицу, фактически хранятся на сервере MariaDB по адресу 192.168.1.5.
© 2023 MariaDB
Licensed under the Creative Commons Attribution 3.0 Unported License and the GNU Free Documentation License.
https://mariadb.com/kb/en/spider-installation/