Dnes se podíváme na trochu teoretický díl týkající se budoucnosti MySQL, ale také informací týkající se praktické použitelnosti MySQL.
Úvod
Vzhledem k tomu, že MySQL je často používanou volbou pro webové databáze, vyplatí se jí věnovat trochu více pozornosti v jejím zvládnutí. Proto dnes pohovoříme jednak o budoucnosti MySQL, jednak o nástrojích pro práci s ní.
Rozhraní v PHP pro práci s MySQL
V PHP existují dvě základní rozhraní, které slouží pro práci s MySQL. Jedno jsme už v tomto seriálu představili, a to jsou funkce, které začínají prefixem mysql_. Toto je zatím nejčastěji využívané rozhraní pro práci s MySQL a je také nejčastěji představováno v různých manuálech, publikacích, apod.
Kromě toho existuje i druhé rozhraní, a to funkce, které začínají prefixem mysqli_. Toto druhé rozhraní je vylepšené rozhraní, které slouží pro podporu dalších funkcí, které přicházejí s MySQL verze 4.1.2 a novější. Pokud tedy budete využívat novějších vlastností MySQL databáze, budete muset použít rozhraní mysqli. Toto druhé rozhraní je také více objektově orientované a plně funguje podle manuálu až v PHP verze 5.
Základní funkce jsou v obou rozhraních stejné, například pro připojení k databázi slouží v prvním rozhraní funkce mysql_connect, zatímco ve druhém rozhraní funkce mysqli_connect. Liší se pouze prefixem. Proto při prvním přechodu na druhé rozhraní se toho moc nového učit nemusíte, pouze změníte prefix. Rozdíl je ten, že druhé rozhraní má funkcí daleko více, které můžete používat a kromě toho lze použít i objektové rozhraní.
Osobně se domnívám, že dříve, nebo později všichni přejdeme na druhé rozhraní s prefixem mysqli_.
Verze MySQL databáze
V současné době se objevuje v článcích a mluví o třech verzích MySQL databáze. Je to verze 3, verze 4 a verze 5. Dnes patří verze 3 už k zastaralým verzím, a proto jí objevíte na webu čím dál méně a méně, ale sem tam se ještě objeví. Nutno říci, že pro velkou část projektů verze 3 stále bude stačit. Nyní jsou největším hitem databáze verze 4, no a verze 5 je budoucností MySQL. Verze 5 se teprve vyvíjí.
Velmi mnoho slov, článků, diskusí a flamů se točí kolem tématu, zda je MySQL opravdová databáze, nebo ne. Odpůrci MySQL často argumentují tím, že MySQL nemá to, či ono. Nutno ovšem říci, že odpůrci MySQL mají často zastaralé informace o tom, co MySQL neumí, že to často nebývá pravda. Proč je tomu tak? Protože MySQL prožívá poměrně rychlý rozvoj, kdy se poměrně rychle přidávají další a další featurky. Na druhé straně musím napsat, že MySQL je určena spíše pro jednoduché databáze. Databází vhodnou pro banky asi MySQL nikdy nebude.
Co tedy přinesly a hlavně přinese přechod na novější verze MySQL? V následujících přehledech je popsáno jenom to důležitější, co přinesly nové verze. Každá další verze přináší další a další funkcionalitu.
Verze 4 se dále dělí na verze 4.0 a verze 4.1. Současnou aktuální verzí MySQL v době vydání tohoto článku je verze 4.1.8.
Co přinesla nového verze 4.0 oproti verzi 3?
- podpora klauzule UNION v SQL příkazech
- podpora dotazové cache, což znamená, že SQL příkazy jsou ukládány a v případě opakovaného použití se vykonávají daleko rychleji
- možnost použití MySQL databáze jako sdílené knihovny. To je velmi užitečné pro jednouživatelské aplikace, které chtějí pracovat s MySQL. I když na druhé straně to asi není příliš užitečné pro webové aplikace.
- přinesla zlepšené možnosti fulltextování.
Co přinesla nového verze 4.1?
- podpora poddotazů v SQL příkazech
- nový, rychlejší protokol, který podporuje předpřipravené dotazy a parametry v dotazech
- velká podpora lokalizace. Jednak přichází s podporou Unicode, a jednak přichází s možností určit znakovou sadu pro sloupec, tabulku a databázi.
Co nového přinese verze 5.0?
- podpora pohledů – views
- podpora uložených procedur
- podpora kurzorů
- podpora trigerrů.
Závěr
Z přehledu je vidět, že mnoho vývojářů se těší na MySQL verze 5, kdy dostane databáze některé schopnosti velkých databází. Některé věci, které se dnes dají udělat pouze v kombinaci PHP+MySQL půjde udělat v samotné databázi.
Na druhé straně je nutné poznamenat, že strategie MySQL byla založená na tom, že je to databáze, která bude toho umět méně, ale zato bude o to rychlejší. Takže na druhé straně je možné předpovídat, že MySQL verze 5 bude toho umět více, ale bude zato pomalejší. Čím více toho bude MySQL umět, tím bude asi náročnější a pomalejší. Do budoucna to asi MySQL nijak neohrozí tím spíše, že vždy bude možné použít starší, ale rychlejší verzi.
Pro malé a střední databáze bude MySQL stále tou správnou volbou. Pokud si MySQL udrží svoji inovativnost i nadále, může se stát, že časem bude MySQL nasazována i do daleko náročnějších projektů. V současné době MySQL zatím není příliš vhodná pro větší a hlavně složitější databáze, v takovém případě bude nutné se poohlédnout po jiném databázovém stroji. Na štěstí PHP podporuje mnoho různých databází, takže při použití běžných databázových strojů většinou můžete zůstat i u PHP.