Движок Federated в MySQL – симлинк в базе данных

Знаете ли вы, что в MySQL, помимо MyISAM и InnoDB, есть движок под названием Federated?

Он позволяет создать таблицу, которая получает данные из другой таблицы, даже если последняя находится на удалённом сервере. Структура таблиц должна быть одинаковой.

Её можно использоваться для следующих целей:

  1. Каждый раз при собирании БД большого проекта приходится ждать по 15-20 минут, пока загрузится какая-то большая справочная таблица, например, города мира, список аэропортов мира или БД мест развлечений и отдыха. При использовании Federated вам нужно только задать CREATE TABLE — и данные будут сразу доступны из другой базы данных;
  2. Эти справочные таблицы могут использоваться несколькими окружениями вашего проекта — например, на тестовом сайте и на продакш-версии.

Чтобы узнать, поддерживает ли ваш сервер данный движок, воспользуйтесь простейшим PHPMyAdmin — нажмите ссылку Домой (с домиком), затем “Типы таблиц”.

Если он недоступен, то зайдите в ваш my.ini файл, найдите блок “[mysqld]” и вставьте строку “federated” сразу после:

[mysqld]
federated

P.S. Если вы ошиблись в структуре созданной таблицы, PHPMyAdmin покажет вашу БД как пустую 😉 Чтобы исправить это, дропните эту таблицу SQL-запросом — и пересоздайте правильно.

One Response to “Движок Federated в MySQL – симлинк в базе данных”

  1. Некоторые параметры конфигурации MySQL (my.ini) | souluran Says:

    […] сервере.  #Структура таблиц должна быть одинаковой. # http://iwannabedeveloper.com/2010/03/federated-mysql-engine/ # http://dev.mysql.com/doc/refman/5.0/en/federated-storage-engine.html federated # порт для […]

Leave a Reply

You must be logged in to post a comment.