Facebook представил WebScaleSQL, высоко масштабируемый вариант MySQLFacebook анонсировал проект WebScaleSQL, в рамках которого подготовлена редакция MySQL 5.6 для использования в крупных web-проектах. WebScaleSQL является совместной разработкой компаний Facebook, Google, LinkedIn и Twitter, инженеры которых договорились объединить свои усилия в области оптимизации производительности и масштабируемости MySQL. При этом, WebScaleSQL не является форком MySQL, а представляет собой надстройку над основной кодовой базой Community-версии штатного MySQL от компании Oracle. Все наработки WebScaleSQL распространяются под лицензией GPLv2. В качестве причины создания отдельного варианта 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 раз) операций последовательного полного перебора данных в таблицах, например, в процессе выполнения резервного копирования.
Распечатано с HostDB.ru.
|