The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

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

27.03.2014 23:34

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


  1. Главная ссылка к новости (https://code.facebook.com/post...)
  2. OpenNews: Проект NewSQL призван решить проблемы, с которыми столкнулся Facebook, используя MySQL
  3. OpenNews: Facebook открыл код инструмента для ускорения смены схемы данных в MySQL
  4. OpenNews: Компания Oracle анонсировала стабильный релиз MySQL 5.6
  5. OpenNews: Релиз Percona Server 5.6, основанный на MySQL 5.6
  6. OpenNews: Twitter открыл код своих улучшений к MySQL
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/39425-facebook
Ключевые слова: facebook, mysql, webscalesql
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (34) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, vitalif (ok), 01:04, 28/03/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +7 +/
    Ждём всё это в MariaDB, хрен ли там.
     
     
  • 2.14, Аноним (-), 08:32, 28/03/2014 [^] [^^] [^^^] [ответить]  
  • –5 +/
    Да, ты прав. Хрен форкам. MySQL forever!
     
  • 2.19, VoDA (ok), 09:38, 28/03/2014 [^] [^^] [^^^] [ответить]  
  • +2 +/
    MariaDB должна быть совместима с MySQL, потому эта надстройка должна запуститься и на Maria.

    ИМХО MySQL взят потому как с ним все работали. После синхронизации сменят на что-то активно развивающееся.

     
     
  • 3.46, Аноним (-), 07:19, 31/03/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > MariaDB должна быть совместима с MySQL

    Никому MariaDB ничего не должна. Но ты прав -- если патчи годные, не грех их принять в MariaDB.

     

  • 1.2, piteri (ok), 01:27, 28/03/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    >совместной разработкой компаний Facebook, Google, LinkedIn и Twitter, инженеры которых договорились объединить свои усилия

    И правильно сделали, всем бы так.

     
     
  • 2.35, Пропатентный тролль (?), 17:22, 28/03/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >> инженеры которых договорились объединить свои усилия
    >И правильно сделали, всем бы так.

    святая наивность ;)
    договорились те, кто платит ЗП этим инженерам. а инженеры побежали и сделали.

     
     
  • 3.36, arisu (ok), 17:32, 28/03/2014 [^] [^^] [^^^] [ответить]  
  • –4 +/
    > договорились те, кто платит ЗП этим инженерам. а инженеры побежали и сделали.

    раб — наподобие тебя — в принципе не способен представить, что работодатель не Барин. если *тебе* прикажут — ты, без сомнения, побежишь и сделаешь. а потом будешь заглядывать в глаза: доволен ли Хозяин?

    вы, рабы, удобные существа — но в делах, где требуется разум, бесполезные: вам намного важнее не то, что надо сделать, а то, как оценит это Хозяин.

    вот поэтому ты и не понимаешь того, что если бы инженеры не захотели, то ничего бы не получилось. а то, что хотелки работодатели ещё и оплатили — это вообще здорово.

     
     
  • 4.38, Пропатентный тролль (?), 20:22, 28/03/2014 [^] [^^] [^^^] [ответить]  
  • +/
    > если бы инженеры не захотели, то ничего бы не получилось

    ахахахахах, прекрати :)))

     
     
  • 5.39, arisu (ok), 03:08, 29/03/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    у тебя истерика? бедняжка. попей таблеточек.
     
  • 3.37, soyyo (?), 19:55, 28/03/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Код то открытый, так что вполне могли договориться инженеры чтобы быстрее и лучше.
     

  • 1.3, axe (??), 01:49, 28/03/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Фантастический союз, конечно, но где хоть какие-то тесты?
     
     
  • 2.17, Аноним (-), 08:50, 28/03/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Фантастический союз, конечно, но где хоть какие-то тесты?

    Зарегся в фб, да потести. Иногда подглючивает, даж невооруженным взглядом видно.

     
  • 2.18, NikolayV81 (ok), 08:56, 28/03/2014 [^] [^^] [^^^] [ответить]  
  • +/
    А зачем, у них работает, они собрали вместе свои труды, выложили, может кому пригодиться, за одно и со стороны проверят, поправят, доработают.
     

  • 1.11, Аноним (-), 08:08, 28/03/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Шел 2014 год. Но лицокнига упорно продолжала насиловать похапэ-мускуль.
     
     
  • 2.13, Аноним (-), 08:24, 28/03/2014 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Попробовав раз, ем и сейчас.
     
  • 2.16, Аноним (-), 08:49, 28/03/2014 [^] [^^] [^^^] [ответить]  
  • +3 +/
    А что делать? Переделывать все огромные риски. Переучивать такого уровня специалистов нереально, они сами должны переучиваться. А если они будут переучиваться кто будет писать функционал. Так что так и будут теперь, пока смерть не разлучит их
     
     
  • 3.20, Могикан (?), 09:52, 28/03/2014 [^] [^^] [^^^] [ответить]  
  • +6 +/
    Бедный "крутой энтепрайз программист" остался в жопэ со своим джава. Печалька. Ему приходится теперь заклинать про 2014 год. Лицекнига, помоги горю! Перейди на джавэ!


     
  • 2.21, Аноним (21), 11:02, 28/03/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Простите любезный, а вы что используете?
     
     
  • 3.23, тигар (ok), 11:24, 28/03/2014 [^] [^^] [^^^] [ответить]  
  • –2 +/
    дак это ж дотнетчик или жаво-петопе-пеглист, я почти уверен в этом
     
  • 3.26, Аноним (-), 12:12, 28/03/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Аноним в моем лице полагает, что LAMP в настоящее время - оптимальное решение.
     
     
  • 4.28, Soft Fire (?), 12:42, 28/03/2014 [^] [^^] [^^^] [ответить]  
  • +/
    Лампа оптимальна для небольших/средних по нагруженности проектов. (Это эмпирический вывод)
    Для сильно нагруженных проектов лучше всего что-то типа эрлангов и ноуЭсКьюЭльей. (Это уже теория анонимуса в лице меня)
    И теории-теориями, однако факт того, что мордокниги и прочие втентакли вечно чем-то пытаются допилить/перепилить пыхи и мускули недвусмысленно говорит о том, что стандартная лампа явно не оптимальна для них, просто они не хотят ломать совместимость с имеющейся кодовой базой.
     
     
  • 5.29, Аноним (-), 12:50, 28/03/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    На эрлангах пишут внутренние сервисы. Вебморду писать на эрланге - это увеличить стоимость ее разработки на порядок (столько специалистов на рынке просто нет и они дорогие).

    NoSQL-и тоже используются как хранилище для определенных сервисов, где с mysql-ем никуда. Но для задач типа "сохранить профайл пользователя" mysql с шардированием подходит прекрасно, а в узких местах можно использовать handlersocket. Конечно, сейчас, в 2014 году, есть серьезные подходящие для продакшена nosql-решения, но смигрировать все данные того же фейсбука - просто нереально.

     
     
  • 6.43, Аноним (-), 10:33, 30/03/2014 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Вебморду писать на эрланге - это увеличить стоимость ее разработки на порядок (столько специалистов на рынке просто нет и они дорогие).

    те, кто сделали зотоник об этом, похоже, не знали.

     
     
  • 7.44, Mural (?), 12:32, 30/03/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Исключение, которое подтверждает правило.
     
  • 7.51, XoRe (ok), 16:06, 31/03/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >> Вебморду писать на эрланге - это увеличить стоимость ее разработки на порядок (столько специалистов на рынке просто нет и они дорогие).
    > те, кто сделали зотоник об этом, похоже, не знали.

    Скорее всего знали, но это не меняет дело.
    Есть и на перле CMSки.
    Вы попробуйте на hh.ru найти пару десятков миддлов/сеньоров программистов на php, и пару десятков миддлов/сеньоров программистов на erlang.
    Ну и зарплаты посмотрите.
    Но это только начало.
    Потом попробуйте сравнить средства разработки, тестирования, continuos integration и т.д. для php и erlang.
    Плюс объем документации и количество коммьюнити.
    Это скажется на стоимости вырастания программистов (джуниоров-> миддлов и дальше).
    Потом посмотрите количество вспомогательных инструментов (аналитика, рассылки, интеграция других решений в свой продукт), которые есть для php, и которые есть для erlang.
    В конце концов оценочная себестоимость (по деньгам и времени) будет различаться на порядки.

     
  • 2.30, Аноним (-), 13:08, 28/03/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Перепишу за неделю на ерланге! $2000
     
     
  • 3.31, arisu (ok), 13:12, 28/03/2014 [^] [^^] [^^^] [ответить]  
  • +3 +/
    > Перепишу за неделю на ерланге! $2000

    ок. давай бабло и садись писать.

     

  • 1.33, Pelican (?), 15:46, 28/03/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Совпало с анонсом InfiniDB  http://www.digitaljournal.com/pr/1813332
     
  • 1.45, Аноним (-), 04:07, 31/03/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    что только не делают, чтобы не мигрировать на распределенные и масштабируемые(не только в плане перформанса)БД !!
    впервые можно таки-использовать в уничижительном смысле "индус" применительно к програламерами фэйсбук. увы и ах.
    то-же с пэхэпэ и прочми.
    когда их "домашняя страничка" разрослась - они не стали ее переделывать, нет. они купили мощные серверА и прикрутили костылей к велосипеду, на котором он ездил ранее.
     
     
  • 2.47, NikolayV81 (ok), 08:44, 31/03/2014 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > что только не делают, чтобы не мигрировать на распределенные и масштабируемые(не только
    > в плане перформанса)БД !!

    Может им не надо возможности масштабировать до масштабов галлактики, может им земли достаточно, и при этом чтобы быстро/надёжно на одну планету и без проб и ошибок ;)

    > впервые можно таки-использовать в уничижительном смысле "индус" применительно к програламерами
    > фэйсбук. увы и ах.
    > то-же с пэхэпэ и прочми.
    > когда их "домашняя страничка" разрослась - они не стали ее переделывать, нет.
    > они купили мощные серверА и прикрутили костылей к велосипеду, на котором
    > он ездил ранее.

    Ну так в этом наверное и есть ключевое отличие между быстрорастущим бизнесом и академической работой ;)


     
  • 2.48, arisu (ok), 11:28, 31/03/2014 [^] [^^] [^^^] [ответить]  
  • +2 +/
    что характерно: эти «индусы» продолжают зашибать бабло, а ты — весь такой умный — в лучшем случае вкалываешь на дядю и имеешь ипотеку с ведром болтов в кредит.
     
  • 2.49, тряпка половая (?), 13:46, 31/03/2014 [^] [^^] [^^^] [ответить]  
  • +3 +/
    А можно нам, позорным лохам, примеры «распределенных» и «масштабируемых»?

    Cassandra, Hbase, Hypertable, — знаем-знаем, толку что они есть, если монолитным решением как таковым быть не могут.

    То, что вы все любители острой мысли — это хорошо и одновременно плохо: разные мысли бывают, несостоятельного и сомнительного характера больше.

     
     
  • 3.50, arisu (ok), 13:50, 31/03/2014 [^] [^^] [^^^] [ответить]  
  • +/
    > монолитным решением как таковым быть не могут.

    нас посетил представитель Кровавого Энтерпрайза?

     

  • 1.52, Аноним (-), 20:30, 12/04/2014 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Oracle теперь посмотрит в исходный код  WebScaleSQL  и перетащит все идеи в свою СУБД oracle :)
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру