file

Percona Server — это сборка MySQL с дополнительными модулями от наших соотечественников Петра Зайцева и Вадима Ткаченко и товарищей. Основная его изюминка — это включенный по умолчанию движок XtraDB storage engine. Отличается от MySQL + InnoDB plugin лучшей производительностью и масштабируемостью, особенно на современных многоядерных серверах. Также улучшена функциональность — больше всякой полезной для оптимизации статистики и прочего. В нем сохранена полная совместимость с таблицами InnoDB, то есть можно переключаться между InnoDB и XtraDB без каких-либо последствий (если не использовать некоторые специфичные для XtraDB функции, типа меньшего размера страницы).

XtraDB основан на коде InnoDB, полностью с ним совместим, но отличается повышенной производительностью, благодаря интеграции патчей от компаний Google и Percona. В частности, в XtraDB улучшен механизм работы с памятью, добавлена поддержка нескольких потоков чтения и записи, поддержка управления пропускной способностью, реализация упреждающей выборкой данных (read-ahead), адаптивная установка контрольных точек (adaptive checkpointing), улучшена работа подсистемы ввода/вывода InnoDB, расширены возможности по масштабированию, наконец-то появилась поддержка многопоточности и многопроцессорности, добавлены дополнительные возможности для сбора дополнительных данных о работе системы и анализ статистики по ним.

Самым важным и полезным инструментом из тех, что разрабатывает Percona помимо XtraDB, как нам кажется, является XtraBackup. Он позволяет, снимать бэкапы баз данных на движках InnoDB и XtraDB прямо на лету. По сути, XtraBackup просто копирует текущую директорию с данными при включенном сервере, что делает такую копию "неисправной", а затем восстанавливает директорию по сохраненным логам, как это сделал бы MySQL во время crash recovery. Никаких остановок БД, кроме копии MyISAM локов, зависающих запросов. Скорость снятия бэкапа — до нескольких раз быстрее, по сравнению с классическим дампом.

Обновлено 8 октября 2018 г.