Spec-Zone.ru › MySQL 8.4

18.8.1 Обзор движка хранения FEDERATED

При создании таблицы с помощью одного из стандартных движков хранения (таких как MyISAM, CSV или InnoDB), таблица состоит из определения таблицы и связанных данных. При создании таблицы типа FEDERATED определение таблицы такое же, но физическое хранение данных обрабатывается на удалённом сервере.

Таблица типа FEDERATED состоит из двух элементов:

  • Удалённый сервер с таблицей базы данных, которая, в свою очередь, состоит из определения таблицы (хранится в словаре данных MySQL) и связанной таблицы. Тип таблицы удалённой таблицы может быть любого типа, поддерживаемого удалённым сервером mysqld, включая MyISAM или InnoDB.

  • Локальный сервер с таблицей базы данных, где определение таблицы соответствует соответствующей таблице на удалённом сервере. Определение таблицы хранится в словаре данных. На локальном сервере нет файла данных. Вместо этого определение таблицы включает строку подключения, которая указывает на удалённую таблицу.

При выполнении запросов и операторов на таблице FEDERATED на локальном сервере операции, которые обычно вставляют, обновляют или удаляют информацию из локального файла данных, вместо этого отправляются на удалённый сервер для выполнения, где они обновляют файл данных на удалённом сервере или возвращают соответствующие строки с удалённого сервера.

Основная структура настройки таблицы FEDERATED показана на рисунке 18.2, «Структура таблицы FEDERATED».

Рисунок 18.2 Структура таблицы FEDERATED

Content is described in the surrounding text.

Когда клиент отправляет оператор SQL, который относится к таблице FEDERATED, поток информации между локальным сервером (где выполняется оператор SQL) и удалённым сервером (где физически хранятся данные) выглядит следующим образом:

  1. Движок хранения просматривает каждый столбец, который имеет таблица FEDERATED, и строит соответствующий оператор SQL, который ссылается на удалённую таблицу.

  2. Оператор отправляется на удалённый сервер с помощью API клиента MySQL.

  3. Удалённый сервер обрабатывает оператор, и локальный сервер получает любой результат, который создаёт оператор (число затронутых строк или результат набора).

  4. Если оператор создаёт результат набора, каждый столбец преобразуется в формат внутренней системы хранения, который ожидает движок FEDERATED и может использовать для отображения результата клиенту, который отправил исходный оператор.

Локальный сервер взаимодействует с удалённым сервером, используя функции C API клиента MySQL. Он вызывает для отправки оператора. Для чтения набора результатов он использует и извлекает строки по одной за раз с помощью .

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/mysql-8.4-en/federated-description.html

Spec-Zone.ru

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