Вчера Facebook представил проект WebScaleSQL, являющися надстройкой над Community-версии штатного MySQL.
WebScaleSQL разрабатывался инженерами компаний Facebook, Google, LinkedIn и Twitter для обеспечения оптимизации производительности и масштабируемости MySQL.
Основные возможности WebScaleSQL:
- Автоматизированный фреймворк для проверки всех изменений с использованием встроенной системы тестирования MySQL;
- Набор для автоматизированного стресс-тестирования и оценки производительности;
- Серия изменений к оригинальному тестовому набору и структурам MySQL, направленных на обеспечение внесения безопасных изменений, которые раньше приводили к сбоям выполнения тестов или конфликтам;
- Серия улучшения для повышения производительности, включая улучшение механизма чистки пула буферов, дополнительные оптимизации некоторых типов запросов и поддержку политики чередования для NUMA;
- Новые возможности для упрощения применения в высоко масштабируемых системах. Например, режим super_read_only и возможность определения таймаутов на уровне долей секунды.
Также в скорем времени в WebScaleSQL появятся:
- Вариант MySQL-клиента, работающий в асинхронном режиме, что позволяет в процессе запроса MySQL не дожидаться завершения установки соединения, отправки и приёма данных;
- Поддержка дополнительной статистики для таблиц, пользователей и сжатию данных;
- Используемая в Facebook реализация системы сжатия хранимых данных;
- Логический механизм упреждающего чтения Read-Ahead, позволяющий заметно увеличить производительность (до 10 раз) операций последовательного полного перебора данных в таблицах, например, в процессе выполнения резервного копирования.
Сайт проекта WebScaleSQL: webscalesql.org
WebScaleSQL на GitHub: github.com/webscalesql/webscalesql-5.6