Dnes ukončíme seriál o MySQL tím, že se lehce zamyslíme nad budoucností této databáze.
5.5.2006 06:00 | Petr Zajíc | přečteno 22859×
MySQL za několik let vyrostla z malé databáze do středně velkého a solidně stabilního systému. Z nějakých důvodů si ji oblíbili správci webových serverů, a proto ji hojně najdete na webhostinzích. Ve skutečnosti je to tak, že počet databází MySQL na webech bude až řádově vyšší než všechna ostatní nasazení dohromady.
Dodnes se mi nepodařilo přijít na to, proč zrovna MySQL je tak populární. Půjde ale nejspíš o směs módy, snadné správy a rychlosti, s jakou MySQL běhá. Také systém oprávnění založený na místě, z něhož se uživatel připojuje nahrává webovým řešením. Nesmíme samozřejmě zapomenout ani na lehkost, s níž spolupracuje MySQL s populárním PHP.
MySQL byla svého času kritizována za to, že nic neumí. To už není v kurzu, protože tato databáze disponuje jak transakcemi, tak cizími klíči, tak i uloženými procedurami. Abych ale jen nechválil - i nadále se MySQL chová v některých věcech dost podivně. Například na způsob zápisu triggerů si stále nemůžu zvyknout.
Je také třeba počítat s tím, že MySQL se dost rychle vyvíjí. Vede to k častému vydávání nových verzí - ale to samozřejmě neznamená, že každou novou verzi správce bude hned instalovat na server. Poměrně častá je tak situace, kdy na serverech dodnes běží MySQL 3.x, přestože již dávno existuje MySQL 4.x a 5.x.
MySQL ovšem není jediná Free/OpenSource databáze. Z ostatních svého druhu bych jmenoval hlavně databáze PostgreSQL a Firebird. Jistě byste chtěli vědět, jak na tom jsou tyto produkty při vzájemném srovnání. Něco takového je však velmi ožehavé. Jednak neznám ostatní systémy úplně do detailu, a jednak má každý toho svého favotira, jehož si bude hájit. Pokusím se alespoň nastínit některá kritéria.
Rozšířenost na webech - tady samozřejmě vede MySQL, následována PostgreSQL. Firebird je až úplně vzadu a takhle z hlavy skutečně neznám jediný komerční hosting, který by nabízel podporu Firebirdu (samozřejmě to neznamená, že neexistují). Pro skriptovací jazyky však existují způsoby, jak se připojit ke každé z uvedených databází.
Rozšířenost jinde - pro
ostatní řešení (desktopy, malé servery) překvapivě hodně lidí používá
Firebird. Na druhém místě pak je PostgreSQL a MySQL až na konci. Proč
je to tak? Možná proto, že Firebird se velmi jednoduše instaluje a má
dokonce embedded verzi s velmi nízkými nároky na zavedení a správu.
Funkcionalita - tady vítězí jednoznačně PostgreSQL, následována Firebirdem a MySQL. Team lidí okolo PostgreSQL odvádí skutečně pozoruhodný kus práce a jejich databáze umí hodně z toho, co lze od moderního systému očekávat.
Pozn.:
Veškerá zde uvedená srovnání byste měli brát jako informativní. Jednak
je možné, že jsem subjektivní, a jednak se klidně může stát, že pořadí
se změní, když tento článek budete číst za několik měsíců nebo let.
Co je však velmi nepravděpodobé: hypotéza, že by do světa těchto tří databází vstoupil někdo čtvrtý. Karty jsou rozdány a myslím si, že srovnatelný produkt s MySQL, PostgreSQL a Firebirdem zkrátka hned tak neuvidíme. To ale nevadí, výběr ze tří dobrých produktů je myslím pro naše data právě tak dostatečný.
Pokud již s nějakou databází pracujete, následující věty pro Vás nebudou ničím novým. V databázovém světě totiž platí, že člověk se neučí "sólo" vědomosti o jedné databázi, následně o další a tak dále. Spíše je to tak, že každý se nejprve naučí jakýsi základ. Můžete si jej klidně představit jako jazyk SQL. Následně se k tomuto základu přidají jen věci, které má daná databáze odlišné. Má databáze jinak vyřešené zabezpečení? Správu uživatelů? Uložené procedury? Pak je na místě se to doučit. Jedná se ale spíš o drobnosti typu odlišné syntaxe než o nějak zásadní věci.
Jak se z tohoto úhlu dívat na MySQL? Pokud s žádnou databází nepracujete a chcete začít u MySQL, v podstatě nevím o ničem, co by Vám mohlo být na překážku. Tvorba tabulek, indexy, transakce - to všechno se můžete naučit a pak to obdobným způsobem používat i v jiných DBMS.
Měli byste mít na paměti, že tvrzení o podobném přístupu k práci s jednotlivými databázemi neplatí pro uložené procedury. Skutečně neznám dva databázové systémy, které by měly společnou filozofii syntaxe kódu uložených procedur. To pro Vás může být určitým zklamáním, nicméně je to tak.
V několika desítkách dílů jsme si prošli základy MySQL. Tato databáze je hojně používaná a jsem přesvcědčen, že ze světa jen tak nezmizí. Pokud Vám informace, které jsou v seriálu uvedené budou k něčemu dobré, budu jen rád. Do seriálu se samozřejmě nevešlo všechno. Vynechal jsem některá pokročilá témata, jako například replikaci databází. I přesto věřím, že si zde každý najde ty svoje informace.
Petr Zajíc