nixp.ru v3.0

5 ноября 2024,
вторник,
03:24:24 MSK

22 сентября 2010, 14:15

Авторы Facebook выпустили скрипт для MySQL на базе openarkkit

1
Марк Каллагэн во время работы в Google
Марк Каллагэн во время работы в Google
Иллюстрация с сайта flickr.com

Марк Каллагэн (Mark Callaghan), работающий в социальной сети Facebook над оптимизациями в области баз данных, представил релиз кода инструмента Online Schema Change (OSC) для MySQL.

OSC написан на языке PHP и предназначен для проведения изменений в схеме базы данных, управляемой MySQL, в режиме реального времени. Основная проблема с этой процедурой заключается в том, что обычное использование выражений ALTER TABLE может выполняться очень длительное время для больших таблиц.

Предлагалось такое решение проблемы: изменения в схеме БД сначала производятся на slave-сервере, после чего он объявляется новым master-сервером. Но тогда необходимо, чтобы slave-сервер располагался вблизи master…

Далее автор пишет: «В MySQL 5.0 появилась поддержка триггеров, и некоторые системы репликации построены с использованием триггеров для отслеживания момента изменения строк. Почему бы не использовать триггеры для нашей задачи? В наборе инструментов openarkkit эту проблему именно так и решает oak-online-alter-table. Мы опубликовали свою версию утилиты для проведения онлайн-изменений схемы (OnlineSchemaChange.php aka OSC)», — после чего приводит большую техническую выдержку, описывающую принципы работы OSC.

Исходный код от Facebook, в котором используются и наработки упомянутого openarkkit, доступен на bazaar.launchpad.net/~mysqlatfacebook.

Постоянная ссылка к новости: http://www.nixp.ru/news/10725.html. Дмитрий Шурупов по материалам Facebook.

fb twitter vk