LINUXSOFT.cz
Username: Password:     
    CZ UK PL

> 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 | read 108487×

DISCUSSION   

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í:

  • Někdo nebo něco (dejme tomu telefonní ústředna) bude zapisovat do databáze údaje o uskutečněných hovorech.
  • Někdo nebo něco jiného bude ze zapsaných údajů nějaké vybírat (například program pro tisk výpisu bude vybírat podle telefonního čísla a období)
  • Někdo další může chtít data upravovat (třebas reklamační oddělení může chtít změnit záznamy v případě oprávněné reklamace)

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.

  • Objektové a relační - tam se databáze liší podle způsobu, jak ukládají data. Ve světě převládá relační model, který ještě podrobněji vysvětlíme v některém z následujících dílů. MySQL je relační databáze
  • Jednouživatelské a víceuživatelské - Podle toho, kolik uživatelů se k databázi může připojit. Pochopitelně, v komerční sféře jednouživatelským databázím prakticky odzvonilo. Je ale užitečné vědět, že i víceuživatelskou databázi lze většinou nakonfigurovat jako jednouživatelskou a že to může mít své opodstatnění. MySQL je víceuživatelská databáze.
  • Souborové a systémové - liší se tím, zda použijí pro uložení dat jeden soubor (např. dbf), nebo zda je úložiště dat nějak zabudováno do systému. U souborových databází typicky stačí příslušný soubor přenést na jiný stroj a může být ihned používán, u systémových databází se musí záloha a obnova dělat nějak jinak. V poslední době toto dělení poněkud ztratilo význam, protože většina databází je systémových. MySQL je systémová databáze.
  • Podle licence a ceny - Asi víte, co tím myslím. Kód databáze může být uzavřený nebo otevřený, šíření software může být svobodné nebo může podléhat nějakým podmínkám, databáze se může využívat bez poplatků nebo může jít o placené software. Licence MySQL je duální, je trochu složitá a nebudeme se jí teď zabývat. Více byste se mohli dozvědět na stránkách projektu; teď jen prohlásíme, že pokud budete vyvíjet software pod GPL kompatibilní licencí, můžete použít MySQL pod licencí GPL.
  • Podle toho, kde běží - na jednoplatformní a multiplatformní. Jednoplatformní poběží jen na některém systému (třeba na Windows), multiplatformní na více systémech. MySQL je multiplatformní databáze a běží na systémech GNU/Linux, Microsoft Windows, FreeBSD, Sun Solaris, IBM's AIX, Mac OS X, HP-UX, AIX, QNX, Novell NetWare, SCO OpenUnix, SGI Irix, and Dec OSF.
  • Podle velikosti, výkonu a vhodnosti nasazení - Databáze mívají limity ve velikosti, počtu současně přihlášených uživatelů, počtu současně probíhajících procesů a podobně. Je těžké někam zařadit MySQL. Obecně je totiž obtížné nějak rovnoprávně posoudit databáze. Diplomaticky můžeme říci, že MySQL je někde uprostřed pomyslného žebříčku vhodnosti nasazení a že v malých až středních projektech ji rozhodně použít můžete

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.

 

DISCUSSION

For this item is no comments.

Add comment is possible for logged registered users.
> Search Software
> Search Google
1. Pacman linux
Download: 4783x
2. FreeBSD
Download: 8974x
3. PCLinuxOS-2010
Download: 8479x
4. alcolix
Download: 10781x
5. Onebase Linux
Download: 9557x
6. Novell Linux Desktop
Download: 0x
7. KateOS
Download: 6127x

1. xinetd
Download: 2321x
2. RDGS
Download: 937x
3. spkg
Download: 4530x
4. LinPacker
Download: 9777x
5. VFU File Manager
Download: 3104x
6. LeftHand Mała Księgowość
Download: 6972x
7. MISU pyFotoResize
Download: 2690x
8. Lefthand CRM
Download: 3475x
9. MetadataExtractor
Download: 0x
10. RCP100
Download: 2982x
11. Predaj softveru
Download: 0x
12. MSH Free Autoresponder
Download: 0x
©Pavel Kysilka - 2003-2024 | mailatlinuxsoft.cz | Design: www.megadesign.cz