nixp.ru v3.0

22 декабря 2024,
воскресенье,
23:37:11 MSK

10 апреля 2012, 12:15

Twitter опубликовал свои наработки по MySQL

6
Офис Twitter
Офис Twitter
Иллюстрация с сайта Fbml-templates.Net

Программисты одного из популярнейших интернет-сервисов — Twitter — опубликовали под свободной лицензией свои наработки, связанные с СУБД MySQL.

СУБД MySQL (версия 5.5) является постоянным хранилищем для основной массы данных Twiiter: самих публикаций (твитов), пользовательских данных, графа интересов. При этом, по понятным причинам, использование MySQL в популярнейшем сервисе микроблоггинга заметно отличается от традиционной работы со свободной СУБД. Это привело программистов компании к необходимости создать специальные дополнения к MySQL, призванные оптимизировать её для использования в Twitter. Теперь эти разработки доступны под свободной лицензией BSD на GitHub.

Что можно найти среди разработок Twitter для MySQL?

  1. Дополнительные переменные состояний (из «внутренностей» хранилища данных InnoDB) для более эффективного мониторинга производственных инсталляций и лучшего понимания их поведения в плане нагрузки.
  2. Оптимизация распределения памяти в больших NUMA-системах.
  3. Миллисекундная точность для таймаута, по которому отменяется выполнение сервером запроса.
  4. Безопасный и «легкий» метод экспорта и восстановления буферного пула InnoDB, позволяющий создавать инструменты для перезагрузки сервисов с минимальными последствиями.
  5. Оптимизации для твердотельных накопителей (SSD).

Авторы напоминают, что модифицированная ими версия MySQL не предназначена для использования вне инфраструктуры Twitter, и не обещают какой-либо официальной поддержки. С подробностями о самом проекте, названном Twitter MySQL, можно ознакомиться на wiki-странице в GitHub.

Постоянная ссылка к новости: http://www.nixp.ru/news/11689.html. Дмитрий Шурупов по материалам Twitter Engineering.

fb twitter vk
Читайте также в новостях:
azimut

И что с этим теперь делать?

Илья Смирнов

Известно что: ничего :)

myst

Т. е. мало того, что дали, так ещё и придумать должны, что с этим делать? Да вы уху ели!

aGGreSSor

Вы прочли это: модифицированная ими версия MySQL не предназначена для использования вне инфраструктуры Twitter?

myst

Разумеется. Но у идей нет инфраструктуры. Теорема Виета, например, не предназначена для использования «вне инфраструктуры многочленов». И что, это как-то умаляет ценность самой идеи? Люди проделали работу и дали всем пользоваться результатом. Если у кого-то недостаточно мозгов, чтобы адаптировать под свои нужды, это не проблема twitter. Сиране потребляди уже и тут…

defender

С другой стороны, вооружившись томиком Дейта, я один не осилю за приемлемое время создать пригодный для использования СУБД. Я уж PostgreSQL возьму. Вопрос в том, сколько работы потребуется для прикручивания бульдога к носорогу, хоть в результате обещают неплохой такой бульдозер.

aGGreSSor

Вы бы меньше выражались матом и чаще включали голову. Неплохо бы оптимизировать MySQL — это идея. Конкретный же код — это уже реализация, а в отдельных случаях и изобретение. Что доказано тысячами удовлетворённых исков патентных троллей. Только в России условием патентоспособности изобретения является его материальность (п.1 ст.1350 ГК РФ). В ЕС и США — увы, нет. Ваше мнение о том нравится ли Вам это забыли спросить. Поэтому голопопые фантазии о «непатентуемости идей» с аппеляцией к математике 5 класса средней школы идут мимо таза.

Написано же, для хомячков, чёрным и по белому: не предназначено для использования (!!!) вне инфраструктуры Twitter. Это значит что подобный код нельзя использовать нигде кроме как в Twitter, на сайтах Twitter и в программах работающих опять же с ресурсами Twitter. Понимаю что очень хочется. Но нельзя. Или Вы думаете что когда писали что не предназначено для свободного использования — это в Twitter пошутить хотели? Или не понимали что пишут? Область использования этого мода MySQL чётко очерчена. Признайтесь уже что не умеете читать.

Дмитрий Шурупов

По-моему, вы слишком утрируете это ограничение. Я не вижу в нем «нельзя». Я вижу в нем «мы не пробовали это использовать где-либо еще и не хотим тратить свои ресурсы на эксперименты и поддержку разработки в других окружениях, потому что это не наш профиль».

aGGreSSor

Думаю что Ваша точка зрения имеет право на жизнь, но при условии что Twitter будет задан вопрос и получен официальный ответ, что да, они имели ввиду нечто иное. В английском языке долженствование более яркое и имеет больше оттенков чем в русском. Not intended to be used directly outside of Twitter. Дословно: Не предназначен чтобы использоваться непосредственно снаружи Twitter. Вроде бы must нет, но directly — это уже жёстко. Т.е. явно подразумевается обратный вариант сказанному: «предназначен чтобы использоваться исключительно внутри Twitter.»

Дмитрий Шурупов

Не претендую на истину в последней инстанции, но по-прежнему не могу согласиться с вами :-) Хотя сейчас мы рискуем пойти по кругу…

Если разработка предназначена для использования где-либо, это ещё не отменяет возможности её использования в других местах (на свой страх и риск). Тем более, когда речь идёт о свободном программном обеспечении. Явного запрета на использование (вне инфраструктуры Twitter) от авторов в приводимой вами цитате не вижу. Более того, если отойти от лингвистических нюансов: зачем выкладывать что-то под свободной лицензией (да ещё и на GitHub!) и запрещать работать с этим?