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

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

Марк Каллагэн во время работы в Google
Марк Каллагэн во время работы в Google
Фото с сайта flickr.com

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.

Дмитрий Шурупов по материалам Facebook.







Последние новости

Подгружаем последние новости