Open source databáze zvládnou i kritické aplikace

Jak se zdá, mezi novými uživateli open source databází se mísí horlivost čerstvých nadšenců se střízlivým realis...


Jak se zdá, mezi novými uživateli open source databází se mísí horlivost
čerstvých nadšenců se střízlivým realismem IT profesionálů. I přes nízké
náklady však open source produkty nemohou stále zdaleka ve všech směrech
nahradit komerční databáze. Nové vlastnosti aktuálních či připravovaných verzí
však posunují tento typ "otevřeného" softwaru zase o něco blíž k jejich možnému
nasazení na poli kritických firemních aplikací.
"Potřeboval jsem ne příliš drahou databázi, která by byla schopna pracovat s
miliony záznamů a generovala výsledky dotazů v co možná nejkratším čase," říká
Rich Allen, koordinátor hlasového a datového provozu v telekomunikační
společnosti Matanuska Telephone. Nahradil tedy jednotné textové soubory a
aplikaci Filemaker open source verzí databázového softwaru společnosti MySQL AB.
"Kromě toho, že je volně dostupný a dostatečně robustní, je to jedna z
nejstabilnějších aplikací, které jsem kdy využíval," tvrdí Allen. "Databáze
MySQL u nás běží na několika různých Mac OS X serverech a za tři roky, co ji
používáme, ještě neselhala."
Open source software se přitom stará o ta nejkritičtější data telekomunikační
firmy: o inventář účastníků (předplatitelů) pro každou z 52 tisíc přístupových
linek, o zúčtovatelná data záznamů hovorů a o záznamy údajů o provozu (logging).
Allenova zkušenost se dá označit jako typická. Open source databáze jsou často
potichu využívány ve specializovaných okrajových sférách, kde dosud existují
mezery na trhu. Jde však o důležité, často přímo rozhodující oblasti pro
vzrůstající počet společností pro takové, které provozují webové portály,
e-commerce aplikace, vysokorychlostní webové vyhledávání, správu obsahu a v
poslední době také data warehouse reporting.

Vývoj nepočká
Uvažme, jakým vývojem open source databáze v poslední době prošly:
Použití MySQL vzrostlo v roce 2003 o více než 30 % (podle průzkumu databázového
trhu společnosti Evans Data). Ve stejném období pak například použití databází
Microsoft SQL Server a Access vzrostlo pouze o 6 %.
PostgreSQL 7.5, která má být na trh uvedena přibližně v červnu, bude moci
poprvé běžet na platformách Win32, nabídne množství výkonových zlepšení, bude
účinněji segmentovat data a pravděpodobně bude zahrnovat podporu dvoufázového
potvrzování, což je nezbytné pro zpracování transakcí.
MySQL uvede příští měsíc na trh nový software pro clusterování databázových
serverů, díky čemuž aplikace mohou fungovat, i pokud jeden ze serverů přestane
pracovat.
V únoru byla uvedena nová verze 1.5 databáze Firebird, která je založena na
zatím poměrně krátce (od poloviny roku 2000) veřejně uvolněném zdrojovém kódu
databáze Interbase 6.0 společnosti Borland. Klíčovou změnou je posun kódu k
C++, což souvisí s přípravou na řadu vylepšení zaměřených na podnikovou sféru,
která by měla být zpracována ve verzi Firebird 2.0.
Skupina vývojářů, konzultantů a některých prodejců v komunitách, které
vytvářejí a rozšiřují tyto databáze, se pohybuje mezi dvěma mantinely nutností
doplňovat nové funkce, jež zajistí open source aplikacím vyšší spolehlivost, a
snahou vyhnout se přitom okruhu těch elementů, které činí komerční databáze
(jako Oracle nebo Microsoft SQL Server) tak komplexními a náročnými.

Příjemný mix
Ve stále větší míře je na tyto databáze nahlíženo jako na součást balíku nebo
stohu open source softwaru, který může být použit k vytvoření kompletní
aplikační infrastruktury firem. Původní verze takového stohu byla označována
jako LAMP, přičemž zahrnovala operační systém Linux, webový server Apache,
databázi MySQL a buď PHP, Python, nebo Perl jako programovací jazyk.
Zastánci PostgreSQL propagovali to, co označovali jako "brighter LAMP" (v
překladu "jasnější lampa"), což obnáší Linux, Apache, middleware (javové
aplikační a messaging servery) a Postgre SQL. Toto úsilí odráží všeobecnou
shodu na tom, že PostgreSQL se lépe hodí pro vysoce škálovatelné aplikace
zpracovávající velké objemy dat.
"Menší firmy chtějí jednoduché (aplikační) řešení bez licenčních poplatků,
které mohou rychle vybudovat a zprovoznit," říká Fred Moyer, spoluzakladatel
Redhotpenguin.com, konzultační služby, jež se specializuje na open source
databázové aplikace založené na PostgreSQL. S pomocí sady open source produktů
to lze bez problémů realizovat, neboť je možné nasazovat k použití připravené
aplikační moduly napsané v Perlu (pocházející například z webu Cpan.org).
Moyer pracuje s několika velkými firmami, které vyhodnocují PostgreSQL jako
potenciální náhradu za některé z databází Oracle, jež v současnosti používají.
"PostgreSQL zatím nenabízí vše, co tyto podniky potřebují," podotýká. "To se
však změní v průběhu příštích 6-24 měsíců."
Společnost Robert Frances Group, jež se zabývá průzkumem trhu, nedávno
dokončila studii o návratnosti investic (ROI, Return On Investment) pro
nasazení Linuxu ve firmách. "Zjistili jsme, že ,vlastníci aplikací jsou mnohem
ochotnější dále zlepšovat celý stoh pro open source implementace, alespoň pokud
jde o oblast aplikačních serverů a databází," říká Chad Robinson, senior
obchodní analytik společnosti. Je jednodušší zacházet s open source databázemi
jako se součástí softwarové infrastruktury, protože vývojáři stále přidávají
funkce a možnosti potřebné právě pro tuto roli.

MySQL vpřed
MySQL, americká pobočka MySQL AB ve Švédsku, zveřejní v dubnu na své výroční
uživatelské konferenci detaily o novém softwaru pro clustering databází. Firma
získala software od společnosti Ericsson, která zahájila projekt s cílem, aby
se telekomunikační aplikace běžící na jejím hardwaru dokázaly v případě
nutnosti přesunout z havarovaného databázového serveru na záložní beze ztráty
dat nebo dokonce zhroucení. Software přitom umožňuje clustering přes různé
softwarové i hardwarové platformy operační systémy Windows, Linux a Solaris,
resp. hardware založený na procesorech x86 či Sparc. Řešení pro clustering bude
doplňkovým produktem k databázi MySQL a podobně jako ona bude dostupný buďto
pod open source licencí GNU General Public License, nebo pod komerční licencí.
Clusterový software je součástí snahy o to, aby se MySQL mohla stát
nepostradatelnou pro provozování obchodně kritických aplikací, jako jsou
například systémy pro vyhledávání a objednávání letenek firem Sabre Holdings a
Travelocity. "Mělo by to uživatele přimět dívat se na MySQL ve zcela novém
světle," tvrdí Zack Urlocker, viceprezident marketingu v MySQL AB.
V posledním roce byla databáze rozšířena o podporu transakcí i dalších funkcí
určených pro podnikovou sféru z nichž všechny jsou v komerčních produktech již
po léta běžným standardem. V letošním roce má být uvedena na trh MySQL verze
5.0, která nabídne podporu uložených procedur (stored procedures) a kurzorů na
straně serveru (server-side cursors). Podpora kurzorů na straně serveru zvyšuje
škálovatelnost databáze tím, že přesouvá větší část vykonávání programu na
server. Uložené procedury představují SQL příkazy uložené v databázi v
kompilované formě, takže k nim může více aplikací přistupovat standardním
způsobem. Analytikové zdůrazňují, že uložené procedury jsou důležité i pro
funkce, jako je formátování nebo databázové pohledy. "Téměř každý pro tyto
účely uložené procedury používá," tvrdí Ted Schaller, softwarový analytik ze
společnosti Forrester Research. Na základě svých průzkumů očekává, že by nové
vlastnosti mohly výrazně zvýšit šance na uplatnění MySQL ve firmách. V
současnosti je verze 5.0 k dispozici teprve v Alpha verzi, ještě v letošním
roce by se měla objevit verze, kterou bude možné nasadit do běžného provozu.
Nedávno byl dále představen nový nástroj pro správu, monitorování a údržbu
databáze MySQL Administrator, který pro tyto úlohy nabízí grafickou konzoli.
Měl by být k dispozici v průběhu 2. čtvrtletí a kromě toho, že poskytuje
grafické rozhraní pro známé úlohy, které bylo dosud možné provádět pouze z
příkazové řádky, nabídne i některé nové funkce. Mezi ně patří kupříkladu
konfigurace serveru, správa uživatelů, monitorování databáze, zálohování a
obnova či správa logů.

PostgreSQL a Firebird
Aktuální verze databáze PostgreSQL nese číselné označení 7.4.2 a obsahuje
důležité změny, z nichž některé mají především připravit prostor pro novinky ve
verzi nyní připravované. Mimo jiné byla zdokonalena funkcionalita pro data
warehousing, a to díky lepšímu executeru, který umožňuje rychlejší zpracování
analytických dotazů. Za zmínku stojí optimalizace pro procesory Opteron
společnosti AMD, lepší nástroje pro údržbu indexů i podpora fulltextové
indexace atd. Důležitým krokem kupředu by však měla být zejména PostgreSQL 7.5.
"PostgreSQL 7.5 je připravována na toto léto a podstatnou změnou v dosavadní
strategii bude její portování na operační systémy založené na Win32," říká Josh
Berkus, jeden z pěti členů PostgreSQL Core Teamu, kteří působí jako správci
projektu při vývojových pracích. V současnosti může databáze běžet pod Windows
pouze za pomoci emulátoru, ten ovšem omezuje přístup k řadě funkcí operačního
systému. PostgreSQL má své kořeny v projektu zabývajícím se databází Ingres na
kalifornské univerzitě v Berkeley v polovině 80. let. K dalším klíčovým změnám
verze 7.5 patří následující:
Nový algoritmus správy paměti, který má zvýšit výkon velkých databází s vysokou
úrovní aktivity uživatelů.
Tabulkové prostory pro zjednodušení ukládání dat na specifických místech disku
oddílech pro možnost tvorby rozsáhlých databází při zachování potřebné
rychlosti.
Dvoufázové potvrzování transakcí (commit), které během on-line transakce
kontroluje updaty ve dvou nebo více databázích současně.
K významným novinkám verze 7.5 by měla patřit i master/slave a multi-master
replikace. Je třeba poznamenat, že existují i komerční verze PostgreSQL, které
už pod Windows 2000 nebo XP lze nativně provozovat, ty však nepatří do
oficiálního vývojového stromu této databáze.
Databáze Firebird je dnes jednou z mála open source databází, která se (podobně
jako MySQL a PostgreSQL) může pochlubit širší podporou ze strany dodavatelů i
dobře organizovanou vývojářskou komunitou. Ve verzi Firebird 1.5 došlo k
přechodu ze zdrojového kódu v jazyce C k C++, a ten je doprovázen celkovým
vyčištěním kódu, několika vylepšeními správy paměti i četnými opravami chyb.
Další velkou změnou jsou některá vylepšení optimizeru SQL dotazů první výsledky
přitom ukazují, že dotazy jsou zpracovávány o 30 až 60 % (a někdy dokonce ještě
o víc) rychleji.
Uživatelé na stránkách projektu Firebird na webu Sourceforge.net i na jiných
internetových webech uvádějí, že jim vyhovuje kompaktní velikost databáze, její
podpora Javy, rychlost i jednoduchost a také její přímočará instalace na
počítačích s platformou Win32. Verze 1.5 by měla být základem pro to, co má být
podle očekávání významnou inovací ve verzi 2.0, obzvláště co do výkonu a
bezpečnosti. Uživatelé volají zejména po lepší podpoře SMP (Symetrical
Multiprocessing) serverů a rozšířených SQL operací.

Rychlost i jednoduchost
Mnohé z těchto změn jsou ovšem už dlouhou dobu standardními funkcemi komerčně
licencovaných databází. Kterou open source databázi použít nebo zda vůbec
některou z nich nasazovat přitom určují v první řadě požadavky dané
uživatelskými aplikacemi.
Například Compiere je open source sada ERP/CRM aplikací, jež se po velkou část
období posledních 2 let drží mezi první desítkou nejčastěji stahovaných
aplikací na Sourceforge.net (což je web pro open source vývojové projekty).
Podle Jorgeho Jankeho, jednoho ze správců projektu Compiere, bylo dosaženo už
asi 630 tisíc downloadů.
Avšak tato sada není vázána na žádnou open source databázi. Tým zabývající se
jejím vývojem narazil při počáteční snaze přimět software, aby pracoval s
PostgreSQL, na některá omezení. MySQL pak zcela postrádala některé z funkcí,
které vývojáři považovali přímo za nezbytné. "Nyní je naším hlavním cílem, aby
byla Compiere nezávislá na použité databázi," říká Janke.









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