Facebook представил (https://code.facebook.com/posts/190251048047090/myrocks-a-sp.../) проект MyRocks (https://github.com/facebook/mysql-5.6), в рамках которого развивается новый движок хранения для СУБД MySQL 5.6, основанный на системе хранения RocksDB (https://www.opennet.ru/opennews/art.shtml?num=38499), оптимизированной для Flash-накопителей. Главными целями создания MyRocks является повышение эффективности хранения данных на Flash-накопителях и сокращение размера БД.В качестве основных причин большого потребления дискового пространства в InnoDB отмечается фрагментация, низкая степень сжатия и выравнивание сжатых данных внутри хранилища по страницам фиксированного размера (размер страницы 8 Кб и даже если данные упакованы в 5 Кб всё равно будет израсходован блок в 8 Кб). Хранилище MyRocks лишено данных недостатков, так как применяет размер страницы плавающего размера и предоставляет значительно более эффективный метод сжатия. MyRocks также выполняет меньше операций последовательного чтения/записи за счёт использования модели хранения данных в форме лога (Log Structured Merge Trees), допускающей только дополнение (чистка производится сборщиком мусора).
При хранении аналогичного объёма данных внедрение нового хранилища на основные серверы Facebook позволило на 50% сократить размер БД по сравнению со сжатым хранилищем InnoDB и в 3.5 раза по сравнению с InnoDB без применения сжатия. Кроме сокращения размера применение MyRocks также привело к ускорению репликации за счёт сокращения операций чтения при обновлении ключей. Также ускорились операции загрузки данных в БД, благодаря пакетной обработке входящих данных.
При этом MyRocks пока имеет ряд ограничений, таких как отсутствие поддержки внешних ключей, online DDL (https://dev.mysql.com/doc/refman/5.6/en/innodb-create-index-...), автоматического определения взаимных блокировок, партицирования, полнотекстовых и пространственных индексов. Со временем имеющиеся недостатки планируется устранить.URL: https://code.facebook.com/posts/190251048047090/myrocks-a-sp.../
Новость: https://www.opennet.ru/opennews/art.shtml?num=45064
Слава Нью Гэйблу
Кстати, в тему движков хранения: https://eng.uber.com/mysql-migration/
Может, кому-то интересно будет.
Ну вот, а бздюки так вопили что постгр рулит, а мускул нет. И тут пришел uber и как обычно малину обоцрал.
постгрес все еще рулит, а вот спецы убера точно нет
> постгрес все еще рулит, а вот спецы убера точно нетТолько спецы из убера технически обосновали, с глубоким пониманием механики работы базы. А опеннетовские эксперты как обычно только мнение имеют.
Отличный пример почему "факты" и "мнения" опеннетовских экспертов стоит перепроверять. Дважды. А если это бсдшники - минимум трижды, потому что эти пи...т больше всех остальных вместе взятых.
Заметка интересная.И всё же есть некоторые сомнения, та же глава 'Data Corruption' - такие баги обычно легко обнаруживаются и фиксятся в миноре, а тут …. Да и проблема с MVCC не вызывает доверия.
Btw. futexes еще тот крендель - сколько натыкался на него :)))Надо попросить прокомментировать разработчиков Pg. :))
Отвечали уже http://blog.2ndquadrant.com/thoughts-on-ubers-list-of-postgr.../
> Отвечали уже http://blog.2ndquadrant.com/thoughts-on-ubers-list-of-postgr.../One more step
Please complete the security check to access blog.2ndquadrant.comОок, DBA-затейники не могут себя обслужить без шпионской CDN. Так и запишем.
> Отвечали уже http://blog.2ndquadrant.com/thoughts-on-ubers-list-of-postgr.../В общем там стандартные отписки разработчиков что все не так плохо, этонебагафича!!!11 потому что они так за всех решили.
Пару вещей отписана в духе
- Сделаем в 10.0
- Сделаем когданибудь...что не очень поможет уберу с нагруженным в потолок продакшном прямо сейчас.
И жестокое непонимание проблем больших компаний, которым оплата за бандвиз икается больше чем какая-то там нагрузка на какие-то там сервера. И никто не хочет разгружать проц если это ведет к росту бандвиза.
> Отвечали уже http://blog.2ndquadrant.com/thoughts-on-ubers-list-of-postgr.../вот, хорошие ответы, я как-то это и подозревал по многим пунктам, те же вторичные индексы - промежуточная ступень PK не есть гут, тем более он может быть составной, проблема с MVCC явно надумана.
зы. наверно уволился Pg DBA :))))))))))))
зы2. собственно Убера понять можно - Schemaless как надстройка над mysql, и Pg тут не причем. Как собственно MyRocks у ФБ
> такие баги обычно легко обнаруживаются и фиксятся в миноре, а тутА тут большая компания обнаруживает веселые баги в продакшне, у них глючит софт и они сношаются с изобретением воркэраундов хотя-бы в своем софте, которому прилетают дубликаты записей. После чего они имеют радость resilvering всего продакшна в неиспорченный вид по всем серверам, выискивая реплики которые не битые. Наверняка они именно этим мечтали заниматься вместо организации извоза.
> Надо попросить прокомментировать разработчиков Pg. :))
Там не самый свежий релиз но утверждается что по крупному в этих механизмах ничего не меняли. Впрочем пользователи 1С это не убер, они не заметят подвоха даже если им вместо базы /dev/urandom отгружать.
Uber использует продакшен для QA? :D :D :Dколичество записей - базовая часть регрешен тестов.
зы btw, я использовал 9.0 и 9.2 (как и 9.4) в продакшен - этой проблемы не наблюдал, скорей всего очень специфическая проблема.
Facebook разошёлся… Казалось бы при чём здесь соцсеть…
При том, что с определённого объёма у них не осталось другого выбора, кроме как разрабатывать софт под себя. А так как они всё же социальная сеть, а не софтописатель - вываливают всё, что могут, в опенсорс с рассчтётом на то, что дальше подключится кто-то ещё и не надо будет тащить затраты в одиночку. Хорошая современная модель, в общем-то - только мало кто это догоняет.Edit: впрочем, я не прав. уникальность фейсбука в том, что их основной asset - это железки и не "интеллектуальная собыственность", а собственно сеть - люди. Если они хоть весь свой софт откроют - конкурентам от этого особо легче не станет. Поэтому открытие кода никаких рисков не несёт, а вот плюшки получить можно.
давно facebook работает на asic?
> давно facebook работает на asic?А вы давно перестали бить свою жену?
ББПЕ
> давно facebook работает на asic?С тех пор как начали проектировать свои свичи. Захотев ни много ни мало открытую фирмварь управления, которая интегрируется с их остальной инфраструетурой. Будучи фэйсбуком можно позволить себе не подлизывать цискам и жуниперам.
Их первый спутник для Африки за 200 лимонов сожгли, как-бы не психанули и не начали сами ракеты строить...
Думаю, потомки африканцев будут благодарны тому, кто накосячил на стартовой площадке нумер 40
> Их первый спутник для Африки за 200 лимонов сожгли, как-бы не психанули
> и не начали сами ракеты строить...Как показал пример того же маска - это перспективнее чем всякие печальные роскосмосы, отставшие в развитии на полвека. Да-да, почитай кто и где исследует всякие фотонные, ионные и какие там еще двигатели с гораздо более высокой удельной тягой. Ну и кто позволит курсировать в результате челнокам между планетами по типу автобусов и поездов. Наверное это будет не роскосмос.
Пример Маска показывает, что нашим мастерам распила и вешанья лапши на уши электорату до американских как до Луны пешком. Что не удивительно, там распилом и околпачиванием уже не первое столетие занимаются.
> Пример Маска показывает, что нашим мастерам распила и вешанья лапши на уши
> электорату до американских как до Луны пешком. Что не удивительно, там
> распилом и околпачиванием уже не первое столетие занимаются.Самый дорогой космодром планеты - почему-то получился у россиян. Расскажешь что там такого уникального за такие деньжищи? Нет, распилы и откаты уникальными не являются. Уникальен тот факт что причастных не пересажали.
Качественно ты набросил в тему политоты, давай заменим слово "россиян" на "американцев" и "космодром" на "стелс".
> Качественно ты набросил в тему политоты, давай заменим слово "россиян" на "американцев"
> и "космодром" на "стелс".А что - стелс? Стелс логичное семейство технологий. Когда есть куча компьютеров, до кучи можно посчитать профиль у которого и аэродинамика удачная и отражение сигнала минимальное, при том одновременно. Само по себе нормальная идея и показатель уровня инженерии - уход от бумажных кульманов в сторону вычислительных оптимизаций под задачу. То что всякие боинги и локхиды зажравшиеся - всем известно. Однако инженерия за себя все-таки в результате говорит.
> Уникальен тот факт что причастных не пересажали.Уникален!? Уже более двух тысяч лет по всему миру регулярно пилят и откатывают без печальных последствий для себя, даже в школьные учебники истории попадают особо вопиющие случаи, а тут, блин, "уникален".
> Самый дорогой космодром планеты - почему-то получился у россиян. Расскажешь что там
> такого уникального за такие деньжищи?Справедливости ради, хотя бы то, что мы первые запустили спутник, облетели луну и запустили в космос космонавта, а также то, что наши ракета-носители являются и по сей день самыми надёжными и безопасными, и именно они уже много лет выводят, в том числе и пиндосские, спутники на орбиту.
> Справедливости ради, хотя бы то, что мы первые запустили спутник, облетели луну
> и запустили в космос космонавта,Прикинь, какая Фау-2 удачная получилась!
В ракетах и женщинах ты не разбираешься. :)
Диагноз окончательный. АЗЪ!
Британцы много исследуют - однозначно они будут первыми.
и ASIC и FPGA эксперименты у них - вяло текут а вот с ARM, MIPS и что интереснее Power8/9 серваками кастомными(по заказу ODM входящим в OpenPower, азиатским)- весьма бодро внедряют.
к "аппаратным" реализациям нейронных сетей навроде гуглевских они впрочем пока прохладно и это оправданно в их Текущем виде. но мб все изменится и Тут.\p.s.
а вот распределенные ДБ пилить(с кассандры начиная)и адаптировать их и message-passing в основной тушке сервисов - они подзабросили(хотя в почту и мессенджер - помаленьку проникает в силу бенефитов).
Это я там "не" пропустил. Поинт как раз в том, что они могут себе позволить не только экспериментирровать, но и результаты экспериментов в открытую отдавать, так как зарабатывать на железе явно не собираются и возятся с ним только ради уменьшения расходов.
Сорри - "не" пропустил.
> же социальная сеть, а не софтописатель - вываливают всё, что могут,
> в опенсорс с рассчтётом на то, что дальше подключится кто-то ещё
> и не надо будет тащить затраты в одиночку. Хорошая современная модель,
> в общем-то - только мало кто это догоняет.Да не скажи. Сейчас сколь-нибудь серьезные компании без своего гитхаба выглядят как ископаемые из прошлого столетия. Даже у цыски оказывается есть закоулок на гитхабе. Не то чтобы сверхкрутой, но там вывалены всякие openh264, thor и немало всяких (полу)внутренних проектов. А у гугля один только список репов - 30 страниц, с проектами на все вкусы.
Ну так это как раз следствие того, что опенсорс - неплохой вариант сэкономить. И если этой возможностью не пользуются - возникают закономерные вопросы. Гугл - песня отдельная, конечно.
> Ну так это как раз следствие того, что опенсорс - неплохой вариант
> сэкономить. И если этой возможностью не пользуются - возникают закономерные вопросы.
> Гугл - песня отдельная, конечно.Большинство самых крутых стартапов современности - на этом самом опенсорсе как раз и взлетели, для начала. Ну и наверное совсем не в их интересах чтобы то что им позволяет работать сдувалось бы. Поэтому они стали силой которая двигает мир вперед. Сталкиваясь с новыми задачами, находя хорошие решения и не парясь поделиться с окружающими так же как окружающие обеспечили им платформу для их стартапа когда-то. Кто сказал что если бизнес то это обязательно выглядит как Капоне? Те кто не придумал бизнес-моделей основанных на чем-то кроме вымогательства? :)
Фэйсбук с неких пор агрессивно хантит опенсорсников по многим направлениям. Они перехватили несколько спецов по ФС, включая как минимум Mason'а и вроде еще и Bacik'а. Видного спеца по сжатию Yann Collet'а, и проч. И вообще коммитов с @facebook.com ощутимо прибавилось.
Ну да, вроде того. Надо просто понимать, что это не идеализм какой, а чистая прагматика.Взять стартапы те же - ясен пень, что они на опенсорсе взлетели. Стартап - это по определению минимизация затрат на старте. И о "совсем не в их интересах чтобы то что им позволяет работать сдувалось бы" я и говорю - в одно рыло софт писать дороговато. А так как они не софтом торгуют - им поддержка открытого кода проблем не создаёт. Софтовым же компаниям приходится как-то исхитряться, чтобы таки получать деньги за то, что они пишут. Как по мне - с хорошей системой краудфандингового найма разработчиков (на базе даже не опенсорса, а скорее свободного софта) 90% этим софтовых компаний загнутся, и туда им дорога.
> Ну да, вроде того. Надо просто понимать, что это не идеализм какой,
> а чистая прагматика.А опенсорс вообще штука прагматичная - люди берут и делают что им было надо, с минимумом барьеров и бюрократии. Ну это так, если в нормальном виде. Куда уж прагматичнее? :)
> сдувалось бы" я и говорю - в одно рыло софт писать дороговато.
Более того, если underlying tech сдохнет, у стартапа будет много головняка. И наверное не в их интересах до упора поддерживать какое-то легаси в своем загоне единолично. Это дорого и криво.
> открытого кода проблем не создаёт. Софтовым же компаниям приходится как-то исхитряться,
> чтобы таки получать деньги за то, что они пишут.Вот тут одни доисхитрялись, DMCA'шные копирасты чертовы - http://encode.ru/threads/2577-Open-source-Kraken-Mermaid-Sel... (имхо, за takedown реверсеры и опенсорсники сообща надерут им зад а половина коллег по цеху будет на них смотреть как на г..но).
> не опенсорса, а скорее свободного софта) 90% этим софтовых компаний загнутся, и туда им дорога.
Именно. Мерзенькие бизнес-модели с рэкетом и репрессиями себя исчерпывают. Куда и дорога.
>вываливают всё, что могут, в опенсорс с рассчтётом на то, что дальше подключится кто-то ещё и не надо будет тащить затраты в одиночкуЭто не про затраты. это про качество
https://changelog.com/211/
Ну так цена/качество - вечный вопрос
> MyRocks пока имеет ряд ограничений, таких как отсутствие поддержки внешних ключей, online DDL, автоматического определения взаимных блокировок, партицирования, полнотекстовых и пространственных индексов.По сути кроме хранения ничего он и не умеет.
> По сути кроме хранения ничего он и не умеет.Как ни странно - это то что и требуется от базы данных чаще всего.
Это подтверждено на NoSQL
> Это подтверждено на NoSQLИМХО, не в обиду переросткам типа Oracle, но их место - там же где и майнфреймов. Deprecated технологии.
А ещё транзакции он вполне себе поддерживает, так что можно вполне уже сейчас это использовать.
> так что можно вполне уже сейчас это использовать.Да ПХП-исты вообще что угодно могут использовать (и за буйки заплывать, и улицу на красный свет переходить) - что с них возмёшь? Миллион уволили - миллион наняли... Какая раница? Так, расходный материал...
Не компилится этот rocksdb под freebsd. Отправил им багрепорт уже с месяц назад, и в ответ никакого ответа!
А это не баг
> Не компилится этот rocksdb под freebsd. Отправил им багрепорт уже с месяц
> назад, и в ответ никакого ответа!make install -DTOKUDB=on -C /usr/ports/databases/mariadb101-server
> Не компилится этот rocksdb под freebsd. Отправил им багрепорт уже с месяц
> назад, и в ответ никакого ответа!Тогда придется тебе еще взять в руки редактор, компилер и дебагер и обслужить себя самому. Фэйсбук AFAIK не пользуется FreeBSD, поэтому они скорее всего даже воспроизвести не смогут. Ты же не думаешь что для починки того что надо ТЕБЕ они резко побегут нанимать тех кто разбирается в бсд? Если случайно кто-то сможет замахать - скажи спасибо. Иначе придется самому.
Вот когда допилят "поддержку внешних ключей, online DDL, автоматическое определение взаимных блокировок, партицирование, полнотекстовые и пространственные индексы" тогда и будем сравнивать.А пока это клон какой-то mongodb.
Они могут это никогда так не начать пилить. Т.к. им это не нужно. А если добавить этот функционал появиться overhead
плохое название, могли бы MySwag зделоть
> плохое название, могли бы MySwag зделотьMyClass {
public function HelloWorld () {
}
}
Tokudb обходит?
Нет, там даже возможностей и фич меньше. Главное разработка в facebook пыхапе любителями...
> Нет, там даже возможностей и фич меньше. Главное разработка в facebook пыхапе
> любителями...Эти любители пэхапэ однако ж держат на себе МИЛЛИАРД хомяков со всеми их фоточками котят и не падают. Но, конечно, можно слушать и мнение экспертов с 10 пыльных роутеров на бсд в подвале из ближайшего пыанэрхостинга, покуда фэйсбук окрутел настолько что запиливает сам себе нормальные свичи с ASIC.
Думаю сервера у них падают чаще чем ты думаешь, мой маленький любознатель.
А сервис при этом остается рабочим. Пользователя не интересует какой процент серверов фейсбука лежит в данный момент, если при этом все продолжает работать на оставшихся в строю.
> Думаю сервера у них падают чаще чем ты думаешь, мой маленький любознатель.Но хомяки это не видят. Это называется правильная архитектура сервиса. Но тебе это ессно не грозит.
> правильная архитектура сервисаСиняя изолента и аппаратное железцо!
> Facebook позволило на 50% сократить размер БД по сравнению со сжатым хранилищем InnoDBВообще то как бэ сжатая InnoDB в 2 раза больше несжатой MyISAM. Чего они добились не понятно...
| Data Size | Comp. size | Table size | CPU load
--------------------------------------------------------------------------------------------
MyIsam | 9.76 MB | 19 KB | 9,80 MB | 5%
InnoDB | 9.76 MB | 19 KB | 62,52 MB | 40%
InnoDB compr | 9.76 MB | 19 KB | 22,60 MB | 99%
TokuDB | 9.76 MB | 19 KB | 9,79 MB | 20%
ARCHIVE | 9.76 MB | 19 KB | 76,59 KB | -Там даже больше, чем в 2 раза. Из-за того, что страничная структура InnoDB вообще не предназначена для сжатия.
В Percona уже 6 лет собираются решить эту проблему с помощью найтивного сжатия строк и столбцов на уровне самой базы, а не движков:
https://blueprints.launchpad.net/percona-server/+spec/change...
https://bugs.launchpad.net/percona-server/+bug/1509991
Недавно тестил Postgres vs Mysql на задаче максимально быстрая выборка из базы с 5млн key-value. Выборки в обе стороны.Увидительно, но Pg порвал даже Mysql с MEMORY базой. Лежащая на диске оказалась вообще тормозом, что исам, что инно. При этом ел меньше ОЗУ.
Понятно, что джава с Bidimap в ОЗУ была разрывающе быстрее обоих вариантов. Но миф про быстрый мускуль был развенчан! :D
Попробуйте в памяти и из отсортированного файла без базы. Будет быстрее (хотя это от рук зависит). И да, чтобы что-то развенчать - нужно это смочь понять.
> Попробуйте в памяти и из отсортированного файла без базы. Будет быстрееА если еще на си или плюсах запилить - хм, да, а чему там тормозить? Но есть некоторые нюансы :)
Вы определенно где-то допустили ошибку
> Вы определенно где-то допустили ошибкуТы на его ник посмотри. Наверное - в ДНК.
Мускул быстрый в реальных задачах, а не в примитивном тесте.
При этом существуют задачи, где мускул не является оптимальным выбором.
Мускул очень гибок. Как минимум благодаря только движкам, его можно очень тонко подстроить под нужную задачу. На постгресе вы не добъетесь полнотабличного сжатия, которое есть в движке ARCHIVE, не добьетесь сжатия, которое есть в tokudb, не создадите простую таблицу в памяти (без костылей), которая обеспечивается MEMORY. Мускул значительно выигрывает в партицировании, которое в следующем релизе вообще обещают сделать найтивным, и можно будет создавать таблицы из комбинаций движков.
Единственный момент, где мускул проигрывает, это оптимизация запросов. Но Сложные запросы - это частный случай. Обычно мускул используется как простое key-value хранилище.
>MyRocksЖдём воя феминисток.
А в MariaDB эго собираются включать?
Погуглил и ничего не нащёл на эту тему.
В Percona точно включат. А MariaDB окончательно отделилась, и сейчас разработка еле тащится.