Facebook представил WebScaleSQL, высоко масштабируемый вариант MySQL
В качестве причины создания отдельного варианта MySQL, вместо развития таких проектов, как MariaDB, Percona Server и Drizzle, называется наличие в MySQL 5.6 пригодных для промышленного использования возможностей, достаточных для развития в качестве отправной точки. Тем не менее, по мере развития экосистемы, будет приниматься во внимание возможность задействования альтернативных решений. В WebScaleSQL воедино собраны внутренние патчи, применяемые в Facebook, Google, LinkedIn и Twitter, поэтому в качестве отправной точки для слияния разработок стало использование основной кодовой базы MySQL.
Переход к совместной разработке позволит избавиться от выполнения дублирования работы в каждой из компаний-участников проекта, упростит процесс разработки новых возможностей и увеличит эффективность тестирования. Вместо параллельного развития близкой по своей сути функциональности, в рамках WebScaleSQL будет поддерживаться наиболее эффективный вариант. Кроме того, так как больше людей будут заниматься аудитом изменений, ожидается увеличение качества и надёжности кода.
Из дополнительных возможностей WebScaleSQL отмечается:
- Автоматизированный фреймворк для проверки всех изменений с использованием встроенной системы тестирования MySQL;
- Новый набор для автоматизированного стресс-тестирования и оценки производительности;
- Серия изменений к оригинальному тестовому набору и структурам MySQL, направленных на обеспечение внесения безопасных изменений, которые раньше приводили к сбоям выполнения тестов или конфликтам;
- Серия улучшения для повышения производительности, включая улучшение механизма чистки пула буферов, дополнительные оптимизации некоторых типов запросов и поддержку политики чередования для NUMA;
- Новые возможности для упрощения применения в высоко масштабируемых системах. Например, режим super_read_only и возможность определения таймаутов на уровне долей секунды.
Из ещё не добавленных в WebScaleSQL возможностей, над которыми ведётся работа, отмечены:
- Вариант MySQL-клиента, работающий в асинхронном режиме, что позволяет в процессе запроса MySQL не дожидаться завершения установки соединения, отправки и приёма данных;
- Поддержка дополнительной статистики для таблиц, пользователей и сжатию данных;
- Используемая в Facebook реализация системы сжатия хранимых данных;
- Логический механизм упреждающего чтения (Read-Ahead), позволяющий заметно увеличить производительность (до 10 раз) операций последовательного полного перебора данных в таблицах, например, в процессе выполнения резервного копирования.
Источник: http://www.opennet.ru/opennews/art.shtml?num=39425
|
0 | Tweet | Нравится |
|