MySQL (1) - pestrý svět databází

Začínáme seriál o populární databází MySQL.

1.3.2005 15:00 | Petr Zajíc | přečteno 108050×

MySQL (1) - Pestrý svět databází

Tímto dílem začínáme seriál o MySQL databázi. Měli byste se v něm dozvědět proč, jak a kde používat tento databázový software a také s jakými problémy se přitom můžete setkat. Série bude zaměřena na vývojáře pracující s MySQL, na své si však možná přijdou i kolegové používající jiné databáze, protože řešení některých problémů bude podobné.

Tento seriál si však především zaslouží, abychom jej začali nějakým obecným pojednáním o databázích. Pojďme to rovnou udělat a podívejme se, kde ve světě databází stojí MySQL.

Databáze, kam se podíváš

S databázemi se samozřejmě setkáváme denně. V nejširším slova smyslu je databáze i seznam věcí, které mám koupit k obědu, výpis z účtu nebo třebas seznam uskutečněných telefonních hovorů. V počítačovém slova smyslu se pod výrazem "databáze" obvykle rozumí software, který spravuje určitý "balík" dat a umožňuje uživatelům tento "balík" dat nějak rozumně měnit a spravovat.

Když se například vrátím k výpisu telefonních hovorů, bude situace následující:

Z toho vidíme, že databáze není jen prosté shromaždiště, úložiště dat, ale že většinou slouží zároveň k jejich organizaci, třídění, prohledávání, seskupování a podobně. K typické dnešní databázi patří rovněž to, že zároveň chce s daty pracovat více uživatelů.

S tím souvisí jiná důležitá věc: S rozvojem sítí a zejména internetu se stalo obvyklé, že databáze mohou být přístupné vzdáleně. Taková databáze umístěná centrálně může poskytovat data mnoha víceméně nezávislým odběratelům. Z celého toho popisu bude pravděpodobně všem zřejmé, že databázové programy obecně zažívají zlaté časy a že databází bude existovat celá řada.

Dělení databází

Rozdělit databáze je kupodivu čím dál tím složitější, protože jednotlivá kritéria se v poslední době vzájemně překrývají a mnoho databází umí hodně podobných věcí. Nicméně, pokusím se alespoň nastínit, jak různě se dají databáze dělit.

Databáze lze samozřejmě dělit i podle celé řady dalších kritérií. Nejdůležitější přitom je, co všechno daná databáze "umí" s daty provádět. V seriálu budeme postupně mluvit o tom, co s daty "umí" dělat MySQL, takže si toto téma necháme na později.

Popularita MySQL

MySQL je velmi populární databáze. Podle mnoha zdrojů je to rovněž velmi rychlá databáze. Nemá však tolik funkcí a možností jako některé konkurenční databázové systémy. Vybrat si vhodnou databázi je tedy klasický kompromis mezi rychlostí softwaru a jeho schopnostmi. MySQL má samozřejmě své zastánce a odpůrce. Odpůrci například často tvrdí, že MySQL je tak rozšířená proto, že webhostingové společnosti ji často nabízejí pro hostované weby jako součást portfolia svých služeb. Kdyby se webhostingové společnosti rozhodly upřednostnit jiný software, popularita MySQL by podle jejich odpůrců podstatně klesla.

Naproti tomu zastánci MySQL tvrdí, že webhostingové společnosti nabízejí MySQL proto, že je dobrá, a kdyby existovala lepší databáze než MySQL, byla by nabízena. Zastánci MySQL prostě tvrdí, že trh si MySQL vybral - a to podle nich jasně poukazuje na její kvality.

Asi tušíte, že pravda bude někde uprostřed mezi těmito tvrzeními. Nemám na to vyhraněný názor, ale MySQL podle mého ještě nějakou dobu bude velmi rozšířená, takže se vyplatí ji používat. Abych byl ale objektivní, podívejme se ještě na to, jaké nejvážnější konkurenty MySQL ve světě databází má.

Konkurenční databáze

Pozor: Slovem "konkurenční" zde myslím rivaly MySQL z hlediska možností, nikoli ceny. Jinými slovy, je to úvaha o softwaru, nikoli marketingu. Jelikož marketing databází se rozvíjí tak prudce jako celé toto odvětví, jen velmi dobře informovaní lidé by mohli předpovědět, jakým směrem se bude vývoj ubírat (a ještě to není jisté).

Asi největším soupeřem MySQL o pozornost uživatelů byla donedávna databáze PostgreSQL. Na linuxu o ní máme seriál. PostgreSQL umí běžet na Windows NT (2000, XP) a na celé řadě UN*X platforem a má podstatně více možností pro uživatele než MySQL. Je však o něco pomalejší.

Podle výsledků nedávného průzkumu firmy Evans Data Corporation však v poslední době dobývá tento segment trhu poměrně výrazným způsobem databáze Firebird. To upřímě řečeno mnoho lidí překvapilo. Firebird je rovněž open-source databáze, může běžet na systémech Windows, Linux, Mac OS X, HP-UX a Solaris a má rovněž více možností než MySQL. Je také o něco pomalejší. Pokud vím, na našem serveru o Firebirdu zatím žádné ucelené informace nevyšly.

Bylo by asi zajímavé nějak fundovaně srovnat PostgreSQL a Firebird, ale o tom náš seriál není. Troufnu si však tvrdit, že pokud někdy něco vytlačí MySQL z pozice, kterou teď má, bude to jedna z dvojice PostgreSQL | Firebird. Jiné vážné konkurenty MySQL podle mě v současné době nemá.

Proč seriál o MySQL

Mezi systémy, na nichž běží MySQL je i GNU/Linux, takže na server www.linuxsoft.cz tento seriál rozhodně patří. Mezi typická použití databáze MySQL můžeme zařadit její nasazení na internetové servery spolu s Apache a PHP. Tato řešení jsou poměrně často linuxová a fungují velmi dobře. Není tedy divu, že mezi linuxovou komunitou je používání MySQL relativně časté a že mnoho programátorů pracujících v linuxu sahá práve po této databázi.

Online verze článku: http://www.linuxsoft.cz/article.php?id_article=731