Začínáme seriál o populární databází MySQL.
1.3.2005 15:00 | Petr Zajíc | přečteno 108599×
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.
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.
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.
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á.
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á.
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.