Противно на очакванията, MariaDB не е списък с всички Марии по света, а близък роднина на най-популярната база дани MySQL. Близки роднини, защото са от един и същи баща и едната произлиза от корените на другата.
Сега вече сериозно. От известно време чувам за Монти и неговата MariaDB. Но кой кой е разбрах чак на Уебтех 2010, когато лично създателя й разказа историята и представи продукта и фирмата, която седи зад нея. Беше ми много интересно и затова реших да го споделя с вас в отделен пост от този за конференцията
Продукта
Накратко MariaDB е разклонение на MySQL, (който е open-source продукт и това разклонение е напълно разрешено). Интересното в случая е че организатора на разклонението е оригиналния създател на MySQL базата – Michael „Monty“ Widenius, които от известно време действа самостоятелно в нова фирма, наречена Monty Program Ab. Новата база данните е кръстена на дъщерята на Монти – Мария, с което той продължава традицията да кръщава продуктите си на най-близките.
В Интернет отдавна се появяваше информация, че Монти работи по нова вид database storage engine, наречен МariaDB. Първоначалната му идея обаче претърпява промяна след закупуването на MySQL от Oracle. Монти предусеща, че пред MySQL community се задават лоши времена (все пак Oracle е основен конкурент и силно комерсиална база данни) и форсира клонирането на изцяло нова база данни, която започва да използва името MariaDB.
Към днешен момент MariaDB се развива като пълно копие на MySQL, но с подобрения. Те се групират в 3 основни групи:
- Доработки от екипа на MariaDB
- Доработки от 3-ти страни
- Бъдещи възможности, които MySQL още не са пуснали официално
Ето и по-интересните от тях:
- Поддръжка на много типове storage engine – Maria, PBXT, XtraDB, FederatedX (спряна като поддръжка официално от Oracle за MySQL)
- Премахване на таблици от left join, които са излишни. Тази функция от оптимизационния пакет, който MariaDB предлага. Означава, че ако оптимизатора забележи че вие сте включили някоя таблица в израза, но тя не се ползва нито като колони, нито като филтър – тя ще бъде изключена за бързодействие.
- Пускане на работещ build script-a за компилиране. Реално се оказа, че досега ентусиастите могат да свалят сорсовете на MySQL, но за да го компилират трябва сами да си организират средата, което изисква доста сериозни познания
- Разширяване на възможностите на slow_log – повече информация, повече възможност за филтриране какво да се логва
- Показване на точността на времето , което заема даден процес в show process_list, до милисекунди;
Пълен списък можете да намерите тук
Плановете на Монти и компания за бъдещето на MariaDB включват продължаването на пълната съвместимост с MySQL (поне докато Oracle не направят това невъзможно) . Това на прост език означава, че утре просто си сваляте MariaDB, инсталирате я и я конфигурирате, така че да ползва data файловете на MySQL-a и всичко трябва да работи по-същия начин че и по-добър. Поради тази причина и номерата на версиите на MariaDB съвпадат с номерата на версиите на MySQL – така разработчиците лесно могат да се ориентират в съвместимостта.
Някой нови неща, които предстоят да бъдат вкарани:
- Backup функционалност – спряна официално от Oracle за community версията на MySQL
- Виртуални колони – нещо, което не разбрах напълно, но спомага синхронизирането на данни между две колони без нужда от добавяне на тригер.
Фирмата
Друг интересен момент в историята е самата фирма Monty Program Ab. На уебконференцията на Монти не беше спестен въпроса – „А какво гарантира че бъдещето на MariaDB няма да развие като MySQL – т.е. да стане популярна и да бъде закупена от конкурент“. Отговорът на Монти беше повече от задоволителен. Основната разлика между двете фирма е, че в MySQL още от началото е имало инвеститори – хора, чийто финансови интереси са преди всички технически интереси. Те натискат собствениците да продават и имат силно мнение кога и на кого. Както се е случило в MySQL. В Monty Program Ab инвеститори няма. Собственици на продукта са самите разработчици и Монти. Те могат да блокират всяко негово решение за продаване или други големи промени. Или казано по интернетски – работят на хакерския принцип. Към този момент в компанията работят 17 човека и планират да нараснат до 20-30.
Заключение
За мен като разработчик и ползвател на MySQL във всичките си проекти, възникваното на MariaDB и плановете и за развитие носят преди всичко облекчение на напрежението, възникнало след закупуването на базата от Oracle. Както всички знаем, конкуренцията е важно нещо за развитието на един продукт и за запазване на интересна на потребителите. Или накратко – да имаш избор е доста по-добре от да нямаш избор.
Благодаря ти, човеко! 🙂
Исках да дойда на тая конференция, но не можах.
Всъщност Мария ми беше основния интерес.
Някой ползва ли това за продукшън?
PBXT се счупи на всички тестове които съм направил ( http://nmmmpic.blogspot.com/2010/08/strange-pbxt-issue.html ).
иначе се изкушавам да мина на mariadb и сигурно ще го направя съвсем скоро.
Ами не съвсем в продъкшън, но се подготвя. Колегата Антон от няколко месеца си го е сложил на неговата машина и разработва продукта ни Barsy върху него, като оригинално Barsy си върви на MySQL 5.x . Като видях коментара ти, питах Антон как върви с „Марийчето“, а той даже беше забравил, че е сменил на друга база – толкова прозрачно върви спрямо MySQL-a .
В случая говорим за работа на десетки различни бази с над 100 таблици, някой със стотици хиляди записи, процедури, тригери и всичките останали щуротии. Така че може да се приеме, че е в предпродъкшан тест 🙂
Аз го ползвам продъкшън от доста време вече, включително на едно място със Maria таблици, на друго – с XtraDB. Имам опасения към 5.2 версията, но предполагам ще премина скоро и към нея.