MySQL v novém

Nová verze open source databáze zahrnuje některá důležitá vylepšení včetně zvýšené bezpečnosti a uložených pr...


Nová verze open source databáze zahrnuje některá důležitá vylepšení včetně
zvýšené bezpečnosti a uložených procedur.

Celkově vzato je MySQL 5.0 respektovanou open source databází, ale pokud jde o
administrační a vývojové nástroje, je stále několik kroků pozadu za "velkou
databázovou čtyřkou" (IBM DB2, Microsoft SQL Server, Oracle a Sybase). MySQL
5.0 přináší čtyři nové vlastnosti: uložené procedury, pohledy, triggery a
bezpečnostní vylepšení.
Uložené procedury patří do standardních databázových prostředků a MySQL je nyní
již také podporuje. Uložené procedury vám umožňují vytvářet předkompilovaný SQL
kód, který je uložen v databázi a může být zavolán s určitými parametry
kýmkoliv, kdo k tomu má oprávnění. Uložené procedury mohou být dlouhé a
obsahovat velmi složitou logiku.
Stojí ale za zmínku, že implementace uložených procedur je v MySQL 5.0 odlišná
od jiných databází: ty v MySQL nejsou předkompilované; jsou pouze uložené v
databázi, takže mají blíže k pojmenovaným dotazům v Excelu než ke klasickým
uloženým procedurám. Jelikož nejsou uložené procedury předkompilované, jejich
výkonový přínos je způsoben redukcí komunikace po síti. I když byly tyto
procedury obecně stabilní, mají vzhledem k tomu, že jde o první implementaci v
MySQL, i několik chyb.
Dalším databázovým standardem, který je nově v MySQL 5.0 podporován, jsou
pohledy. Pohledem rozumíme uložený dotaz, kterému se nepředávají parametry a
jehož velkou výhodou je odstínění uživatelů od dotazovací logiky. Pomocí
pohledu administrátor definuje dotazy s velmi komplikovanou podmínkou WHERE a s
vícenásobnými spojeními, ale uživatel může pracovat pouze s pohledem a nemusí
nic vědět o tabulkách pod ním. Implementace pohledů je v MySQL poměrně úplná a
v tomto případě je funkčnost srovnatelná s jinými databázemi.
MySQL vylepšila bezpečnost nečekaným, ale příjemným způsobem. V předchozích
verzích mohl útočník nebo zlomyslný systémový administrátor získat kontrolu nad
vaší MySQL databází tak, že si pomocí Notepadu nebo jiného textového editoru
otevřel soubor uchovávající informace o uživatelských účtech a ručně je změnil;
rovněž bylo možné takto měnit data v tabulkách nebo tabulky vytvářet či mazat.
Naštěstí to již v MySQL 5.0 není možné a přihlašovací účty jsou nyní uložené v
databázi. Tato změna nám podstatně usnadňuje implementaci MySQL do produkčního
prostředí a jsme si jisti, že tomu tak bude i u ostatních administrátorů MySQL.
Čtvrtou novou vlastností jsou triggery, které fungují velmi podobně jako v
jiných databázích. Triggery jsou uložené procedury, které jsou provedeny při
určité události a přiřazené určité tabulce; příkladem události je zápis do
tabulky. Ale opět, jelikož jsou triggery implementované v MySQL poprvé, mají
několik chyb. Mezi dvě nejzávažnější patří to, že trigger tabulky se neodstraní
při odstranění vlastní tabulky a že modifikace tabulky s triggerem příkazem
ALTER může způsobit poškození databáze. Sice se tomu můžete vyhnout, ale určitě
buďte při implementaci triggerů opatrní. MySQL rovněž nepodporuje "instead of"
triggery, jak je tomu u velkých databází nejde sice o velký nedostatek, ale
bylo by pěkné tento nástroj mít k dispozici.

Výběr databáze
MySQL udělala velký krok směrem ke splnění standardu, ovšem nyní přináší
vlastnosti, které velká čtyřka měla již řadu let. MySQL rovněž není integrována
se zabezpečením Windows, což je něco, co považujeme za nutný předpoklad
provozování databází na Windows s nějakou úrovní bezpečnosti.
Slabinou MySQL 5.0 jsou administrační a vývojové nástroje. Chybí debugger,
takže pro hledání chyb v delším kódu musíte použít metodu pokus-omyl.
Administrační utilita navíc zamrzá a nabízí pouze velmi prosté statistiky
výkonu. MySQL verze 5.0 je bezpochyby zajímavá alternativa k drahým licencím
konkurence a rychlá cesta k vytvoření webové nebo jiné jednoduché aplikace.









Komentáře
K tomuto článku není připojena žádná diskuze, nebo byla zakázána.