NoSQL-тренд

Ты наверняка знаешь о новомодном тренде NoSQL. По сути, это
отказ от традиционного сервера базы данных с его табли ца м и и
SQL-запроса м и и уход к самой п ростой схеме хранения да н н ы х
« кл юч-значение» (key-va lue). Д л я реализации последнего часто
испол ьзуются п родви нутые типы дан н ы х вроде с п исков/хэшей (в
Redis) или, например, формата JSON ( в MongoDB). Н о что мешает
с крестить удава и ежа, испол ьзуя, с одной стороны , всю мощь
и годам и отработан ную технологию баз дан н ы х и и х движков, а с другой — упроще н н ы й п ротокол и отказ от громоздкой п рослойки
В виде обработки SQL -язы ка запросов? Суровым наследника
м самураев не помешало н ичего : японские парни из Yoshinori
M atsunobu сделали плагин HandlerSocket, п ревращающий стандартн
ый движок I n no D B в продвинутое NoSQL-хра н ил и ще, не
мешая п р и этом работе обычного SQL. Скорость работы впечатляет:
до 750 000 операций в секундуl Неудивительно, что компания
Регсопа сразу же взяла на вооружение этот плаги н , включив
его в свои сборки сервера. Круто ! Но, с другой стороны, как еще
если не костылем можно назвать решение, которое и м ити рует
то, что у нормальной БД типа Drizzle реал изовано прямо из
коробки в силу внутренней архитектуры?

действительности мало кому нуж н ы . С и стема утратила поддержку
U N IX-сокетов (это хотя и спорное, но в полне допустимое решение
ввиду н а п ра влен ности на облач н ы е среды) и версию для Windows.
В Drizzle нет н и каких служебных баз и м н о г и х других п р и в ы ч н ы х
вещей. Н о что ж е тогда есть?
А есть архитектура с м и кроядром , в которое вынесены все основн
ы е операции и поддержка протоколо в , а также система плагинов,
позвол я ю щая расши р ить с и стему в любую сторону и на л юбую глуб
и ну. В качестве одной из основ н ы х систе м н ы х компонент и с п ользуется
бинарный п р отокол от Google — Protocol B uffer. С его помощью
описы ваются как табл и цы , та к и да н н ы е , о н же п р и м еняется
и для репл и ка ц и и . Основной упор в разработке сделан на м а кс и мальную
поддержку м ногопоточности и много п роцессорности, та к
что масштаб и руемость — это основное достижен и е разработч и ко в .
Реализована поддержка как ста ндартного MySQL-п ротокола , та к и
собственного в а р иа нта — ч е рез б и бл и отеку libdrizzle и драйвера
для бол ь ш и н ства п опуля р н ы х я з ы ко в , включая Perl, Р Н Р , Pyth o n
и Lua. П р и жел а н и и м о ж н о и спользовать кл и ентскую б и бл и отеку
и без самого сервера : в этом случае ты получ и ш ь эффекти в-
н ы й а с и нхрон н ы й доступ к л юби мому MySQL. Поскольку эта же
ком п а н и я разработала и систему Gearman !см. наш материал о
распредел е н н ы х системах на Р Н Р) , то в D ri zzle есть встроенная

поддержка логирова н и я в распределенной среде, нативное кэширова
н и е в memcache и даже та кие п родви нутые возможности, как
репл и ка ци я через с и стем ы сообщен и й типа R a b b i t M Q ( и с п ользуется
в том ч исле н о вомодная технология WebSocket) В качестве
основного движка х р а н е н и я да н н ы х в Drizzle и спол ьзуется особая
версия I n n o D B , знач ител ьно переработа н ная и допол н е н ная
набором сто р о н н и х патч е й . Также доступны движки Xtra D B и рвхт.
Есл и первые верс и и Drizzle основы вал и с ь на MySQL 5.0, то теперь
от ориги нальной СУБД осталось н е мн о гое. Это почти полностью
переписа н н ы й код с м и н и мальной оглядкой на б ы в ш и х родстве н н
и ко в . Н а да н н ы й м о м е н т разработка Drizzle п ребы вает в а ктивном
состо я н и и , и к весне пла н и руется первый стабильный рел из.

Делаем выводы
Есл и ты обеспокоен развитием MySQL, тебе не нра вится пол и ти
ка Oracle и т ы спра ведл и в о опаса ешься, что завтра тебя обяжут
платить за фун кционал, кото р ы й еще вчера был бесплате н ,
посмотри вокруг. Сообщество отреаги ровало на п о купку MySQL
как на начало за ката технологи и , н екогда в ыведшей современный
веб на недостижимую высоту благодаря стеку LAM P (LinuxApache-
МуSQL- Р Н Р ) . Кл ючевые разработч и ки начали развитие
собств е н н ы х форко в , некото р ы е из которых уже сейчас на голову
п ре восходят ста р ы й MySQL. За н и м и стоят многие з на ковые ф и гуры
и открытое сообщество. Сделав все по уму, разработч и ки умудрились
оставить 100% внешней совместимости с п риложе н и я м и
и п ротокол а м и . Поэтому все желающие поста в ить н о в ы й сервер
не окажутся у разбитого корыта : дан н ы е сохра н ятся , а п р иложе н и я
не п ридется переписывать. М ногие вообще н е заметят р а з н и ц ы ,
к р о м е возросшей скорости работы и надежности .

Уже сейчас ты можешь замен ить свой сервер баз да н н ы х , та к что
и меющиеся п р ил ожения даже не п очувствуют разн ицы, получ и в
п р и этом гораздо большую скорость работы , надежность и массу
недосту п н ы х в о р и ги нальном мускуле ф и ш ек. M aria D B с набором
движков — отл и ч н ы й вариант для старта . Ну а если ты задумал
грандиозн ы й проект с бол ь ш и м кол и чеством серверов и гигабайтам
и да н н ы х, посмотри на Drizzle. Ка к п рогра м м н ы й п р одукт и как
сервер баз дан н ы х он я вл я ется очень перспективной разработкой,
которая обязательно выстрел ит уже в этом году. Есл и же хочется
стабильности и поддержки сам ы м и луч ш и м и специал истам и п о
б а з а м да н н ы х — не бойся отвернуться о т O racle и п ойти к Регсопа.
Ребята раздают бесплатно свою версию СУБД — и сп равляя,
насколько это возможно, баги и добавляя ф и ч и для увел и ч е н и я
производительности оригинального MySQL, н е н а рушая п р и этом
совместимости. Ты все еще с ид и ш ь на старен ьком мускуле? Тогда
мы идем к тебе !

Журнал «Хакер»

Поделиться в соц. сетях новостями с хакзоны :)

Опубликовать в Одноклассники
Опубликовать в Мой Мир
Опубликовать в Яндекс
Опубликовать в Facebook
Опубликовать в Google Buzz
Опубликовать в Google Plus
Опубликовать в LiveJournal


Оставить комментарий

Вы должны Войти, чтобы оставить комментарий.