Když Oracle koupil Sun Microsystems, objevila se spousta otázek hlavně kolem open source projektů, které pod Sun patřily. Jedním z těchto produktů byla i databáze MySQL. Na této databázi stojí ohromné množství projektů a s nadsázkou můžeme říct, že je na ní založena polovina webového světa.
Největší projekty, které svěřily MySQL svá data, jsou třeba Facebook, Twitter, Wikipedia nebo Wordpress. MySQL je dnes neoddělitelnou součástí webu a zpráva o koupi Sunu, tenkrát čerstvého majitele, Oraclem, nebyla vůbec dobrá pro její budoucí otevřenost. Oracle není zrovna firma, která by své produkty uvolňovala pod svobodnou licencí a otevřená MySQL ve spárech Oraclu dělala vrásky nejednomu administrátorovi a vývojáři.
Bohužel je MySQL částečně konkurencí pro Oracle Database a Oracle mohl s MySQL udělat cokoli. Dnes už máme vcelku jasný obraz o tom, jak se Oracle k MySQL staví. Nedávno jsme vám přinesli zprávičku s názvem „Bezpečnost databáze MySQL a jejího forku MariaDB“, kde najdete pár informací o současném stavu, které pocházejí přímo od člověka, který MySQL vymyslel, Michaela „Monty“ Wideniuse. V té se dozvíte, že MySQL v současné době obsahuje bezpečnostní chyby, o kterých se ví, ale Oracle je stále neopravil. Navíc k chybám, které opravil a které byly nahlášeny pouze jemu, nezveřejňoval informace, takže komunita musí udělat diff z předchozí verze a použít reverse engineering ke zjištění, co bylo vlastně opraveno. Tohle není optimální a Michael věděl, že to může s MySQL dopadnout všelijak.
Čas k forkování
Ještě před tím, než Oracle zadělal MySQL na problémy, vznikl fork s názvem Drizzle. Nejde o náhradu, kterou byste mohli posadit místo své MySQL databáze a být zase open. Je to optimalizovaná verze MySQL pro cloud a web. Wikipedie ji popisuje jako „menší, hubenější a (snad) rychlejší verze MySQL“. I když do Drizzle přispívali vývojáři firem jako je Google, Canonical, Rackspace nebo i samotný Sun a zároveň je vývoj dodnes otevřený, neřeší to situaci, která kvůli Oraclu vznikla.
Nadějí je Michael „Monty“ Widenius, pro kterého je MySQL velmi důležitý projekt. Monty pracoval jako chief technical officer ve firmě MySQL AB, která vývoj této databáze zastřešovala a snažila se z ní mimo jiné získat zisk. V roce 2008 byla práva na MySQL prodána Sunu za jednu miliardu dolarů. Michael Widenius z této částky dostal 16,8 milionů EUR.
Michael opustil Sun z důvodu nenaplnění jeho představ o vývoji MySQL a vytvořil novou společnost The Monty Program. Ta začala pracovat na forku MySQL databáze s názvem MariaDB. Název je inspirovaný Michaelovou dcerou. Do The Monty Program odešlo i pár dalších původních vývojářů MySQL a firma pokračovala v otevřeném vývoji a nabízela komerční podporu.
MariaDB si postupně začala budovat jméno a zlom nastal začátkem letošního prosince, kdy byla založena organizace MariaDB Foundation. Zakladateli byl už dobře známý Michael „Monty“ Widenius a s ním David Axmark a Allan Larsson. Všichni byly také zakladateli původní společnosti MySQL AB.
Netrvalo to ani moc dlouho a už se objevil první velký projekt, který se rozhodl nasadit MariaDB místo MySQL. Nahradit MySQL pomocí MariaDB není nic složitého, ale o tom později. Tím projektem je Wikipedia a její site architect Asher Feldman se vyjádřil, že jeden z jejich slave serverů již běží na MariaDB bez jediného problému a navíc s o něco lepšími výsledky v testech výkonnosti. Navíc přechod u dalších serverů pokračuje a jedna z velkých částí Wikipedie by mohla běžet na MariaDB do konce roku.
U Wikipedie hrála větší roli otevřenost MariaDB proti MySQL, takže důvody k přechodu vznikly z přesvědčení než z faktických výhod. Detaily najdete v naší zprávičce „Wikipedia přechází na MariaDB“.
O dalších případech nasazení MariaDB si můžete přečíst v dokumentu MariaDB Case Studies na askmonty.org.
Binární kompatibilita je klíčová vlastnost MariaDB
Když vývojáři začali pracovat na MariaDB, jednou z klíčových vlastní byla binární kompatibilita s MySQL. Navíc se rozhodli pokračovat stejnými čísly verzí. To znamená, že když provozujete MySQL 5.1 a chcete ho nahradit MariaDB 5.1, stačí MySQL smazat, nainstalovat MariaDB a ta bude schopná fungovat se stávajícími binárními daty.
Postupně vývojáři MariaDB vydali verze 5.2 a 5.3 a pomalu implementovali změny z MySQL 5.5. Obě verze, tedy 5.2 a 5.3, jsou binárně kompatibilní s MySQL 5.1. MariaDB 5.5 je zase binárně kompatibilní s MySQL 5.5. Oracle databázi MySQL verze 5.2 ani 5.3 neuvolnil.
Binární kompatibilita není vše a existují, i když malé, rozdíly mezi oběma databázemi. Pokud o přechodu k MariaDB uvažujete, určitě si prostudujte dokument MariaDB versus MySQL – Compatibility na serveru askmonty.org. Věnujte také pozornost komentářům, kde jeden z uživatelů uvádí, že při přechodu z 5.1 na 5.2 nebo 5.3 je potřeba spustit mysql_upgrade, kvůli aktualizaci jedné z interních tabulek.
Databáze MariaDB se proti MySQL trochu liší a další změny ji teprve čekají. Storage engine InnoDB nahradil ve verzi 5.5 nový XtraDB, který je sice zpětně kompatibilní s InnoDB, ale proti němu obsahuje úpravy, které mu dávají vyšší výkon a vylepšují škálovatelnost. Další verzí MariaDB nebude 6, ale rovnou 10, čímž se od MySQL oddělí.
Proti MySQL se do MariaDB dostal také storage engin Aria. Ten se snaží nahradit MyISAM tak, aby byla data odolná proti poškození při pádu systému a v budoucnu se navíc přidá podpora transakcí a většina hlavních vlastností z InnoDB. Původní název enginu byl Maria, ale vývojáři se rozhodli, že pro snadnější rozlišení bude lepší engine přejmenovat.
Shrnutí
MariaDB Foundation dává vývojářům i administrátorům nějakou jistotu, že bude vývoj MySQL pokračovat otevřeně, i když pod jiným jménem. Na MariaDB pracují lidé, kteří mají s MySQL zkušenosti od počátku její existence a do lepších rukou se nemohla dostat.
Po Wikipedii se pravděpodobně objeví více organizací, které na MariaDB budou přecházet a až u svého hostingového partnera uvidíte napsáno MariaDB v místech, kde dřív bývalo MySQL, nemusíte se bát, že by vám něco nefungovalo.