√оловна > ѕрограмне забезпеченн¤ >
MySQL "на стероњдах"

MySQL "на стероњдах"

ѕридбанн¤ корпорац≥Їю Oracle компан≥њ Sun поставило п≥д питанн¤ ≥снуванн¤ й характер подальшого розвитку в≥дразу багатьох в≥домих в≥льних технолог≥й. ” ц≥й статт≥ мен≥ б хот≥лось огл¤нути коротко ≥стор≥ю, сучасний стан ≥ динам≥ку розвитку та перспективи такого в≥домого ≥ суперзначущого дл¤ сучасного ≥нтернету проекта, ¤к сервер баз даних MySQL. “ут ми перерахуЇмо ≥ розгл¤немо специф≥ку вс≥х попул¤рних ≥снуючих нин≥ форк≥в MySQL, котр≥ не т≥льки активно розвиваютьс¤ в останн≥й час, але й багато у чому вже перевершили свого батька - MySQL.

—ервер рел¤ц≥йноњ бази даних MySQL (RDBMS MySQL), за короткий пер≥од встиг стати суперпопул¤рною базою даних, а також незам≥нною частиною сучасного ≤нтернету, вход¤чи до св¤щенноњ "великоњ четв≥рки" в≥дкритих web-технолог≥й LAMP (Linux-Apache-MySQL-PHP), ¤ка ≥ формуЇ технолог≥чно здеб≥льшого весь сучасний Web. –оль баз даних у цьому з'Їднан≥, у наш насичений ≥нформац≥Їю час, все б≥льше набуваЇ вин¤ткового характеру, ≥ тому арх≥тектура сучасного сайту завжди включаЇ на¤вн≥сть швидкого ≥ гнучкого сховища ≥нформац≥њ, роль котрого в сучасному ≥нтернет≥ у б≥льшост≥ випадк≥в призначена саме MySQL.

≤сторично, перша б≥льш-менш працездатна публ≥чна верс≥¤ MySQL мала номер 3 ≥ була випущена у 2000 роц≥. ÷ю верс≥ю можна лише умовно назвати базою даних, - це була радше лише заготовка дл¤ майбутнього сервера Ѕƒ з самою м≥н≥мальною п≥дтримкою SQL. ѕот≥м у 2004 роц≥, п≥сл¤ дуже тривалого тестуванн¤ та обкатки, зарел≥зилась дуже вдала ≥ добре збалансована по функц≥оналу ≥ ¤кост≥ коду верс≥¤ 4, ¤ка ≥ отримала саме широке поширенн¤ у Web-проектах, створивши ту саму попул¤рн≥сть, ¤ку проект MySQL пожинаЇ ≥ донин≥.

” н≥й вперше з'¤вилис¤ об'Їднанн¤, п≥дзапити, п≥дтримка b- ≥ r-дерев, коротше, той м≥н≥мум SQL, ¤кий реально дозвол¤в використовувати MySQL ¤к в≥льне ≥ ефективне сховище даних дл¤ реальних малих ≥ середн≥х проект≥в по всьому св≥ту. –≥вно через р≥к сп≥шно була доопрацьована ≥ випущена нова верс≥¤ 5, ¤ка ¤вл¤Ї собою вже ц≥лком зак≥нчену ≥ лог≥чно зр≥лу базу даних з ус≥х точок зору, ¤ка м≥стить в соб≥ так≥ просунут≥ можливост≥, ¤к наприклад, збер≥гаЇм≥ процедури, поданн¤, курсори, тригери, транзакц≥њ ≥ багато ≥ншого. ¬ерс≥¤ 5.1, що вийшла у 2008 роц≥ - це подальше шл≥фуванн¤ т≥Їњ ж "п'¤т≥рки", з додаванн¤м планувальника под≥й, п≥дтримки плаг≥н≥в ≥ розширень, збер≥ганн¤ лог≥в ≥ статистик сервера у вигл¤д≥ таблиць Ѕƒ ≥ багато ≥нших декоративних зм≥н-зручностей.

ѕо м≥р≥ зростанн¤ попул¤рност≥ ≥ початку активного розвитку проекту, у нього стали з'¤вл¤тис¤ ≥ серйозн≥ проблеми, ¤к≥сть розробки т≥льки пог≥ршили численн≥ перепродаж≥ ≥ зм≥ни власника компан≥њ-розробника MySQL AB. Ќаприклад нав≥ть останн¤ верс≥¤ MySQL 5.1 м≥стить р¤д серйозних помилок, ¤к≥ добре документован≥ й в≥дом≥, що призвод¤ть до краху сервера або видач≥ нев≥рних результат≥в - њх виправленн¤ в≥дкладаЇтьс¤ пост≥йно на пот≥м, н≥бито в силу њх серйозноњ арх≥тектурноњ природи. “акож в нових верс≥¤х серйозно впала продуктивн≥сть у пор≥вн¤нн≥ з верс≥Їю 4.1, коротше, ¤ б назвав це типовою проблемою зростанн¤ в≥домого проекту. Ќа цьому перех≥дному етап≥, коли см≥лив≥ бажанн¤, запаморочен≥ усп≥хом голови, ≥ породжуван≥ наст≥льки швидким розвитком складн≥ проблеми стали випереджати реальн≥ можливост≥ розробник≥в, десь в район≥ 2008-2009 рок≥в з'¤вилос¤ багато незадоволених вищеописаним станом справ, п≥сл¤ чого стали ¤к гриби п≥сл¤ дощу з'¤вл¤тис¤ альтернативн≥ форки-ре≥нкарнац≥њ добре в≥домого нам MySQL.

« великоњ к≥лькост≥ наведу т≥льки один приклад, зате най¤скрав≥ший, - це зв≥льненн¤ самого автора ≥ творц¤ MySQL ћайкла ¬айдиниуса (Michael "Monty" Widenius) з Sun, саме через причини надзвичайно не¤к≥сного виробничого циклу розробки MySQL встановленого в ст≥нах Sun Microsystems, коли ще об'Їктивно не готову програму (до реч≥, призначену дл¤ промисловоњ експлуатац≥њ) адм≥н≥стративними заходами примушують рел≥зити до заздалег≥дь жорстко встановлених дат, по¤снюючи це ¤кимись туманними маркетинговими м≥ркуванн¤ми. Ќа думку ћайкла ¬айд≥н≥уса, розробка також повинна вестис¤ в Їдиному в≥дкритому простор≥, без под≥лу початкових текст≥в на комерц≥йну та ком'юн≥т≥ г≥лки, ¤к це зробила Sun. “ак, наприклад, у г≥лц≥ MySQL 5.1 до цих п≥р не виправлен≥ 20 добре в≥домих критичних помилок, що призвод¤ть до краху процесу або до спотворенн¤ даних.

„исло критичних помилок можна см≥ливо зб≥льшити ще на 35, ¤кщо враховувати невир≥шен≥ проблеми г≥лки 5.0, ¤к≥, най≥мов≥рн≥ше, присутн≥ ≥ в 5.1. Ќа тл≥ цього наростаючого бардака терп≥нн¤ ћайкла лопнуло ≥ в≥н вир≥шив зв≥льнитис¤ - п≥сл¤ того, коли нав≥ть критична помилка, пов'¤зана з≥ збоЇм при зм≥н≥ первинних ключ≥в в режим≥ пор¤дковоњ репл≥кац≥њ, не зупинила Sun в≥д випуску ф≥нального "стаб≥льного" рел≥зу MySQL 5.1. „и варто говорити, що з переходом MySQL у власн≥сть Oracle, ситуац≥¤ з розробкою т≥льки ще б≥льше пог≥ршилас¤. ¬с≥ ц≥ надзвичайно деструктивн≥ тенденц≥њ дуде сильно п≥дштовхнули творч≥сть розробник≥в ц≥Їњ попул¤рноњ Ѕƒ "на сторон≥", ≥ ¤кщо подивитись ретроспективно, то 2008-2009 р≥к - це р≥зкий сплеск створенн¤ проект≥в-форк≥в MySQL, ≥ багато хто з них, заб≥гаючи дещо вперед, ви¤вилис¤ дуже нав≥ть перспективнми та усп≥шними. “епер давайте розгл¤немо головн≥ з них на к≥нець 2010 року.

ExtSQL

” розвитку р≥зних г≥лок њх розробники п≥шли р≥зними концептуальними шл¤хами. « одного боку зроблена спроба нарощуванн¤ ще б≥льшоњ функц≥ональност≥ ≥ додаванн¤ безл≥ч≥ нових ф≥ч, - наприклад, це проект компан≥њ Software Workshop п≥д назвою ExtSQL. ѕроект паралельно веде дв≥ г≥лки розробки, що базуютьс¤ в≥дпов≥дно на кодов≥й г≥лц≥ 4-оњ ≥ 5-оњ верс≥њ ориг≥нального MySQL. ExtSQL розробл¤вс¤ з сильним ухилом дл¤ спец≥ал≥зованого використанн¤ в системах web-хостингу ≥ покликаний вир≥шити проблеми, пов'¤зан≥ з орган≥зац≥Їю обл≥ку споживанн¤ ресурс≥в. јдм≥н≥стратори ExtSQL отримують можлив≥сть повного мон≥торингу активност≥ користувач≥в, вс≥х баз ≥ з'Їднань.

Ќаприклад, запит "SHOW STATISTICS select, insert FROM user HISTORY" дозволить д≥знатис¤ число запит≥в "select" та "insert" зд≥йснених користувачами за останн≥й час. «розум≥ло, дл¤ цього в колишн≥й MySQL додан≥ нов≥ команди ≥ розширений д≥алект SQL, при цьому збережена повна зворотна сум≥сн≥сть з MySQL.  р≥м п≥дтримки своЇњ верс≥њ MySQL, орган≥зац≥¤-розробник Software Workshop входить до складу техн≥чного ком≥тету INCITS H2, ¤кий бере участь у розвитку стандарту SQL, ≥ активно намагаЇтьс¤ домогтис¤ розширенн¤ SQL в план≥ додаванн¤ можливостей дл¤ обл≥ку споживанн¤ серверних ресурс≥в. ” ц≥лому, ¤кщо говорити мовою цифр, то незалежн≥ тестуванн¤ показують, що плата за под≥бн≥ надбудови над MySQL виражаЇтьс¤ у втрат≥ продуктивност≥ сервера в середньому на 5% на звичайних завданн¤х, ≥ на 15-20% при ≥нтенсивн≥й робот≥ з реально великими базами даних. ќтже, ExtSQL - це свого роду редакц≥¤ "MySQL Server Advanced Hoster Edition", дл¤ особливо вимогливих користувач≥в —”Ѕƒ цього класу.

Drizzle

јбсолютно протилежною дорогою п≥шов ≥нший попул¤рний форк MySQL - проект Drizzle. ÷ей проект заснований колишн≥м директором MySQL з арх≥тектури Ѕрайаном ≈йкером, ≥ ¤вл¤Ї собою спрощений ≥ б≥льш швидкий вар≥ант MySQL, в ¤кому ретельно в≥д≥бран≥ ≥ видален≥ вс≥ ресурсоЇмн≥ та малопотр≥бн≥ можливост≥ MySQL 5. „астину з цих можливостей все ж можливо реал≥зувати через плаг≥ни. ÷¤ —”Ѕƒ позиц≥онуЇтьс¤ ¤к високошвидк≥сна ≥ високонад≥йна Ѕƒ, з п≥дтримкою ACID-транзакц≥й. ” ¤кост≥ сховища використовуЇтьс¤ InnoDB ≥ PBXT. ўо ц≥каво, що весь с≥шний початковий код з MySQL був повн≥стю переписаний на мов≥ C++. ”правл≥нн¤ проектом знаходитьс¤ в руках незалежноњ сп≥льноти.

Ќа в≥дм≥ну в≥д SQLite, Drizzle не претендуЇ на роль вбудованого р≥шенн¤ ≥ реал≥зований у вигл¤д≥ сервера. јрх≥тектура Drizzle побудована на основ≥ ≥дењ м≥кро-¤дра, спов≥дуЇ максимальне спрощенн¤ структури Ѕƒ ≥ винесенн¤ лог≥ки на сторону додатк≥в. «окрема, такий дизайн —”Ѕƒ дозвол¤Ї орган≥зувати обробку просто ¬≈Ћ»„≈«Ќќ√ќ числа паралельних запит≥в, при виконанн≥ ¤ких повною м≥рою зад≥юютьс¤ потужност≥ сучасних багато¤дерних CPU, ¤к результат - Drizzl'овськ≥ п≥ков≥ показники ≥нтенсивност≥ обм≥ну запитами-в≥дпов≥д¤ми з web-додатком зав≥с¤ть будь-¤кий стандартний сервер MySQL 5.1, ¤кий просто захлинетьс¤ п≥д таким навантаженн¤м (тис¤ч≥ або дес¤тки тис¤ч мережевих з'Їднань у "звичайного" MySQL майже гарантовано викликають проблеми з пам'¤ттю сервера Ѕƒ - див. в≥дкрит≥ помилки bug#26590, bug#33948, bug#49169, тому не думайте, що при такому навантаженн≥ досить просто оновити зал≥зо сервера).

 р≥м цього, в Drizzle додатково реал≥зован≥ вбудован≥ засоби дл¤ рознесенн¤ даних по ключовому полю (шард≥нг) на кластер з дек≥лькох машин, дл¤ створенн¤ ефективного балансуванн¤ навантаженн¤ дл¤ справд≥ супернавантажених проект≥в. ” пор≥вн¤нн≥ з MySQL в Drizzle видалена п≥дтримка збер≥гаЇмих процедур (зам≥сть CREATE FUNCTION сл≥д використовувати пов'¤зуван≥ об'Їкти), тригер≥в, кешу запит≥в (query cache), представлень (view), операц≥њ GRANT ≥ ALTER, обмежень ACL, команди SHOW, попередньо п≥дготовлених запит≥в (prepared statement) та ≥н. ѕрипинена п≥дтримка маловикористовуваних тип≥в даних з MySQL. Ќа закиди опонент≥в, ¤к же можна використовувати Ѕƒ, наприклад, без view'≥в, розробники в≥дпов≥дають у тому ключ≥, що "вс≥ т≥, кому д≥йсно серйозно потр≥бн≥ view'и - вже давно сид¤ть на PostgreSQL або Oracle, це ж стосуЇтьс¤ ≥ вс≥х ≥нших просунутих ф≥ч".

“ак, д≥йсно, дл¤ запуску дуже багатьох, наприклад, блогових движк≥в написаних у зв'¤зц≥ з MySQL вже п≥д Drizzle - знадобитьс¤ модиф≥кац≥¤ ≥ де¤кий тюнинг коду цих движк≥в, вт≥м, ¤к заспокоюють розробники, зм≥ни ц≥ невелик≥ ≥ можливостей Drizzle насправд≥ б≥льш н≥ж достатньо дл¤ повноц≥нного функц≥онуванн¤ б≥льшост≥ попул¤рних CMS, тим б≥льше, що сп≥льнота вже кастом≥зировала багато в≥домих php-движк≥в п≥д Drizzle, що дозвол¤Ї демонструвати њх рекордну продуктивн≥сть на тому ж зал≥з≥, на ¤кому ран≥ше крутивс¤ старий-добрий MySQL. ” ¤кост≥ приЇмного поб≥чного ефекту - на Drizzle перестали проходити багато попул¤рних р≥зновид≥в sql-injections дл¤ MySQL, тому безпека стала мимов≥льним бонусом цього проекту, попутно демонструючи нам вс≥м глибок≥ ф≥лософськ≥ висновки про те, що м≥н≥мал≥зм Ї майже тотожним до безпеки.

SkySQL

–озгл¤нувши, так би мовити крайнощ≥, макс≥- ≥ м≥н≥-вар≥анти ориг≥нального MySQL, давайте подивимос¤ ¤к≥ Ї б≥льш традиц≥йно-класичн≥ продовженн¤ цього в≥домого проекту. Ќа тл≥ тотального виходу з Oracle розробник≥в MySQL (з Oracle добров≥льно "катапультувавс¤" вже б≥льше 70% ориг≥нальноњ команди MySQL AB), вони, розт≥каючись по св≥ту, намагаютьс¤ ¤кось заново прилаштуватис¤ вже п≥д нову ≥сторичну епоху дл¤ MySQL.

“ак з'¤вилас¤ компан≥¤ SkySQL, заснована зв≥льнившимс¤ з Oracle розробниками MySQL, частково ф≥нансована к≥лькома колишн≥ми ≥нвесторами MySQL AB ≥ очолювана ”льфом —анбергом, колишн≥м в≥це-президентом з наданн¤ глобальних серв≥с≥в MySQL. Ќова компан≥¤ поки не маЇ нам≥ру розвивати св≥й форк MySQL, а займетьс¤ наданн¤м комерц≥йноњ техн≥чноњ п≥дтримки, консалтингових послуг, навчанн¤м ≥ продажем готових р≥шень на баз≥ MySQL.  р≥м того, SkySQL зайн¤лас¤ випуском ≥ п≥дтримкою альтернативноњ промисловоњ зб≥рки MySQL - SkySQL Enterprise. ѕродукт розповсюджуЇтьс¤ за передплатою ≥ забезпечений повноц≥нною техн≥чною п≥дтримкою (допомога у вир≥шенн≥ проблем, консультац≥њ з налаштуванн¤, усуненн¤ насл≥дк≥в збоњв) ≥ консалтинговим серв≥сом (плануванн¤ впровадженн¤ ≥ проведенн¤ оптим≥зац≥њ), тобто фактично повн≥стю перезапустила б≥знес свого прототипу, нин≥ д≥ставшийс¤ Oracle, шведськоњ компан≥њ MySQL AB. “ак от, тут дуже ц≥каво, що входить до складу ц≥Їњ самоњ SkySQL Enterprise? ј входить туди, кр≥м супутн≥х утил≥т, "прозора зам≥на" MySQL - MariaDB Server.

MariaDB Server

ƒавайте зупинимос¤ ≥ задамос¤ питанн¤м - що ж таке MariaDB Server? ƒл¤ цього треба зд≥йснити короткий ≥сторичний екскурс, щоб зрозум≥ти, зв≥дки ≥ нав≥що вз¤вс¤ цей черговий новий форк MySQL. ћайкл "ћонт≥", творець ≥ беззм≥нний л≥дер проекту —”Ѕƒ MySQL, покинувши в к≥нц≥ 2008 року компан≥ю Sun Microsystems ≥ п≥сл¤ припиненн¤ безпосередньоњ участ≥ у розробц≥ MySQL, задумав створити максимально сум≥сний з MySQL, але ≥дейно новий сервер, ¤кий базуЇтьс¤ на принципово новому движку сховища даних. «ад≥¤не нове сховище даних Maria - це ст≥йкий до збоњв клон MyISAM. Ѕагато фах≥вц≥в в≥дзначають, що Maria Engine це, ¤к м≥н≥мум, один з кращих движк≥в дл¤ виб≥рки даних, з ус≥х що зараз ≥снують, тод≥ ¤к у класичному MySQL дефолтний MyISAM - њњ найслабше м≥сце.

” нов≥й компан≥њ разом з ћонт≥ над ним працюЇ близько 20 сп≥вроб≥тник≥в - колишн≥х розробник≥в з MySQL AB, ¤к≥ п≥шли з Sun сл≥дом за своњм ≥дейним л≥дером. “ворець MySQL за¤вл¤Ї, що MariaDB Server - це максимально точна ≥ сум≥сна ≥нтерфейсна коп≥¤ SQL використовуваного в ориг≥нальному MySQL 5, тод≥ ¤к усередин≥ - в≥н вже багато в чому перевершуЇ св≥й прототип, що дав йому житт¤ ≥ стартову кодову базу. Ѕ≥льш того, ћонт≥ за¤вив, що MariaDB в≥дтепер - це Їдина оф≥ц≥йна верс≥¤ MySQL, тод≥ ¤к Oracle MySQL - "is now dead". Ќайстрашн≥ше у цьому молодому проект≥ це те, що багато-хто незадоволений ж≥ночою назвою новоњ Ѕƒ: ну так одну з дочок автора MySQL звуть My, а ≥нщу - Maria. «в≥дси й назви баз даних. ™ правда ще один син, ≥ звуть його, про вс¤к випадок, ћакс. ≤ MaxDB вже, до реч≥, створена, але тут про нењ не буде сказано н≥ слова.

“аким чином, п≥дсумовуючи, частина розробник≥в п≥сл¤ виходу з Sun ≥ Oracle ос≥ли в компан≥њ Monty Program, де день ≥ н≥ч стругають новий-старий MySQL, але п≥д уже новою назвою - MariaDB Server, тод≥ ¤к ≥нща частина програм≥ст≥в ≥ серв≥сного персоналу з колишнього MySQL AB - заснували компан≥ю SkySQL з супроводу та п≥дтримки MariaDB Server. ≤ до реч≥, по-моЇму, MariaDB Server - це най¤к≥сн≥ша ≥ збалансована зам≥на дл¤ MySQL, п≥сл¤ того ¤к Oracle його поховаЇ (а на мою суб'Їктивну думку, чекати цього залишилос¤ вже не довго, ≥ перш≥ дзв≥ночки н≥бито вже подзвонюють).

Ќаприклад, на моЇму хостингу MariaDB прекрасно працюЇ в пар≥ з PHP5, обслуговуючи звичайн≥ WordPress'и та ≥нш≥ попул¤рн≥ движки. ƒл¤ роботи з Ѕƒ налаштований звичайний PhpMyAdmin, сам≥ користувач≥ хостингу про ≥снуванн¤ такоњ Ѕƒ нав≥ть ≥ не п≥дозрюють, приймаючи њњ за справжн≥с≥нький MySQL. ’оча заради справедливост≥ варто зауважити, що сам≥ розробники кажуть, що розб≥жн≥сть з кодовою базою MySQL вже зараз дос¤гла приблизно 20 в≥дсотк≥в, ≥ буде звичайно наростати й дал≥. “акож мною перев≥р¤лас¤ робота MariaDB в пар≥ з MySQL Proxy ≥ спец≥ал≥зованим файрволлом дл¤ MySQL - GreenSQL: обидв≥ софтина працювали з MariaDB пр¤мо ¤к з р≥дною MySQL, тому вважаю, що ¤к м≥н≥мум одна г≥дна ≥ дуже перспективна альтернатива дл¤ MySQL вже в≥дбулас¤.

’очетьс¤ додати, що MariaDB Server, так само ¤к ≥ Drizzle - дуже активно розвиваютьс¤ ≥ еволюц≥онують, ≥ кр≥м того, кожен з цих двох проект≥в дуже добре вигл¤даЇ дл¤ своњх, дещо р≥зних ц≥льових н≥ш. ≤, до реч≥, буквально на дн¤х, у MariaDB вийшов перший оф≥ц≥йно стаб≥льний рел≥з за всю њњ молоду ≥стор≥ю, подробиц≥ можна почитати тут.

OurDelta

Ќаступний проект, ¤кий ми коротко розгл¤немо - це дистрибутиви в≥д проекту OurDelta. Ќасправд≥, це попул¤рн≥ ре-зб≥рки двох upstream-проект≥в,- дл¤ MySQL 5 п≥дтримуютьс¤ два паралельн≥ дистрибутива: це OurDelta ≥ OurDelta-Sail. якщо в перший включаютьс¤ б≥лди з≥бран≥ ≥з застосуванн¤м до стандартних код≥в MySQL 5 т≥льки добре протестованоњ колекц≥њ сторонн≥х "неканон≥чних" патч≥в, то в другу, частково експериментальну г≥лку, включаЇтьс¤ все найпрогресивн≥ше ≥ максимально св≥же ¤ке Ї на момент рел≥зу, але, часто воно толком ще не обкатане в реальних умовах ¤к сл≥д, з ус≥ма вит≥каючими зв≥дси насл≥дками.

 р≥м цього, OurDelta аналог≥чно у паралельн≥й г≥лц≥ розширюЇ функц≥ональн≥сть ≥ MariaDB 5, ¤ку вважаЇ пр¤мим конкурентом ≥ наступником MySQL, але тут на даний момент Ї т≥льки одна г≥лка зб≥рок - стаб≥льна дл¤ MariaDB. ўо ж це за так≥ патч≥, ¤кими регул¤рно пригощаЇ нас проект OurDelta?

ќсновна частина робочого матер≥алу - це адаптац≥¤ в одну г≥лку сумарних напрацювань проект≥в MariaDB Server, а також патчсету компан≥њ Google, ¤кий вона розвиваЇ дл¤ своњх власних потреб, масштабуючи ≥, часом досить радикально, розширюючи функц≥ональн≥сть ориг≥нального MySQL. Ќаступний великий донор проекту - це патчсети в≥д ћарка  алагхана з Facebook, ¤кий запекло "заточуЇ п≥д себе" MySQL дл¤ ц≥Їњ компан≥њ вже п'¤тий р≥к, ну ≥ також в≥д р¤ду ≥нших компан≥й, перераховувати ¤к≥ тут немаЇ сенсу, в силу њх абсолютноњ малов≥домост≥ широкому колу читач≥в ≥ письменник≥в, ¤к ≥ дл¤ мене. “аким чином, проект OurDelta - це свого роду "MySQL/MariaDB на стероњдах", ¤кий робить просунут≥ накачан≥ новою функц≥ональн≥стю зб≥рки MySQL/MariaDB на будь-¤кий кол≥р ≥ смак. ’от≥лос¤ лише зазначити, що в OurDelta дуже охоче використовують патч≥ також ≥ в≥д такого самобутнього проекту-форку, ¤к Percona, на ¤кому давайте зараз трохи зупинимос¤ детальн≥ше.

Percona

 омпан≥¤ Percona заснована у 2008 роц≥ двма в≥тчизн¤ними розробниками, колишн≥ми членами MySQL dev.team, ѕЇтром «айцевим¬ад≥мом “качЇнко. ѓхн≥й Ѕƒ-сервер оснований на кодов≥й баз≥ MySQL 5.1, котра доповнена власними багаточисленими, ≥ що хочетьс¤ окремо п≥дкреслити, досить ¤к≥сними патчами, ¤к≥ направлен≥ на додаванн¤ новоњ функц≥ональност≥, п≥двищенн¤ стаб≥льност≥ роботи та зручност≥ адм≥н≥струванн¤. јле головна ф≥ча проекту - ≥нтеграц≥¤ власного движку XtraDB, основаного на код≥ InnoDB-plugin ≥ повн≥стю сум≥сного з ним, але ≥стотно продуктивн≥ший. «а умовчанн¤м XtraDB не зм≥нюЇ дефолтний формат збер≥ганн¤ даних в InnoDB. ¬и можете прозоро перемикатис¤ м≥ж XtraDB ≥ InnoDB по дек≥лька раз≥в на день.

 р≥м того, Percona постачаЇ разом з цим движком дуже потужну бекапову систему XtraBackup, ¤ка дозвол¤Ї вир≥шувати та автоматизувати сам≥ найекзотичн≥ш≥ задач≥ з област≥ збереженн¤ вв≥рених на збер≥ганн¤ серверу Ѕƒ даних.

“ак ось, у експертних кулуарах зараз (к≥нець 2010 року) вважаЇтьс¤, що основна гостра конкуренц≥¤ розгортаЇтьс¤ саме м≥ж движками Maria Engine (движок зовс≥м недавно був перейменований в Aria) ≥ ¤краз Percona XtraDB - жодних б≥льш крут≥ших на даний момент storage engines просто немаЇ в природ≥, тому ветеран MySQL буде потроху все-одно здавати своњ позиц≥њ на фон≥ його активн≥ших конкурент≥в, ¤кщо, звичайно, Oracle раптом не прокинетьс¤ ≥ не почне докладати сил/ресурс≥в в його подальшу глибоку розробку.

Ќа додаток, ц≥каве в≥део з виступом рос≥йською ≥ детальним огл¤дом проекту Percona можна перегл¤нути тут з ™вгЇн≥Їм —тЇпченко.

NoSQL

Ќа завершенн¤ хот≥лос¤ б сказати, що п≥дб≥р найб≥льш п≥дход¤щоњ до конкретного техн≥чного завданн¤ модиф≥кац≥њ MySQL зовс≥м не обмежуЇтьс¤ вибором оптимального дистрибутиву й тюнингу його налаштувань, але також ≥ принциповим режимом роботи самого серверу. ” ¤кост≥ прикладу наведу недавню усп≥шну реал≥зац≥ю п≥дходу NoSQL на баз≥ MySQL-сервера. Yoshinori Matsunobu, автор цього методу й нового плаг≥ну HandlerSocket, ще один колишн≥й участник MySQL dev.team, у своњй детальн≥й техн≥чн≥й статт≥ "¬икористанн¤ MySQL в режим≥ NoSQL - ≤стор≥¤ про те, ¤к дос¤гнути обробки 750,000 запит≥в в секунду" розпов≥даЇ про цю нову методику, а також д≥литьс¤ тестами та реальним кодом кл≥ент≥в, котрий можна вже пр¤мо зараз використовувати у своњх високонавантажених проектах.

Ќу, що тут скажеш, р≥шенн¤ дуже гарне, - при цьому дозвол¤Ї гнучко перемикатис¤ м≥ж звичайним SQL-синтаксисом з≥ звичайних кл≥Їнт≥в, так ≥ власним HandlerSocket-протоколом дл¤ перемиканн¤ в режим понадвисокоњ продуктивност≥ через реал≥зований у вигл¤д≥ плаг≥ну NoSQL-режим роботи MySQL, ≥ все це диво миттЇвого перетворенн¤ в суперпродуктивну Ѕƒ - на самому звичайному зал≥з≥! ѕрацюючи у цьому режим≥, автор фактично вперс¤ у пропускну можлив≥сть на¤вного 1Gb каналу, а отже зростати ще Ї куди ;-)

ƒо реч≥, про продуктивн≥сть: тут можна почитати про реальне пор≥вн¤льне тестуванн¤ де¤ких наших героњв - висновки роб≥ть сам≥!

«ак≥нчуючи свою огл¤дову статтю про життЇвий цикл MySQL, хочетьс¤ побажати вам вдумливого вибору, прийн¤тних навантажень на ваших серверах Ѕƒ, ≥ звичайно вс≥м нам - подальшого розвитку чудових ≥ р≥зноман≥тних форк≥в, ¤ких об'ЇднуЇ т≥льки одне - сп≥льний знатний предок - чудова —”Ѕƒ MySQL!


¬ажливий апдейт статт≥: ¬ силу ц≥лого р¤ду причин, мен≥ довелось њњ ≥стотно доповнити на проханн¤ одного виданн¤ дл¤ њњ друку, тому, щоб добру не пропадати, а саму зам≥тку не редагувати задн≥м числом (чого ¤ дуже не люблю робити), ¤ вир≥шив викласти њњ сильно доповнену, на основ≥ т≥Їњ першоњ верс≥њ статт≥, але же у вигл¤д≥ PDF-файлу (оск≥льки ≥нформац≥њ стало пом≥тно б≥льше, думаю, що так буде просто зручн≥ше читати).

“ому вс≥, хто ц≥кавитьс¤ долею MySQL ≥ њњ клон≥в, можуть звантажити цей апдейт пр¤мо зараз.

јвтор: ≤гор —авчук, 3.XI.2010
ƒжерело: blogerator.ru
ѕереклад: ”крFAQ, IV.2012


”краинска¤ Ѕаннерна¤ —еть

√оловна  јлфав≥тний ≤ндекс  ƒов≥дка  ƒодати FAQ  E-mail
Ќовини  ѕошук по сайту

© ”крFAQ 2012
Сайт создан в системе uCoz