Facebook представил WebScaleSQL, высоко масштабируемый вариант MySQL

27 марта 2014 года

Facebook анонсировал проект 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 раз) операций последовательного полного перебора данных в таблицах, например, в процессе выполнения резервного копирования.

Источники

править
 
 
Creative Commons
Эта статья содержит материалы из статьи «Facebook представил WebScaleSQL, высоко масштабируемый вариант MySQL», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
 
Эта статья загружена автоматически ботом NewsBots в архив и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.