Databázové systémy neustrnuly, kráčejí směrem ke gridu

Databázové technologie se již před mnoha desetiletími staly neodmyslitelnou součástí informačních technologií. Stej...


Databázové technologie se již před mnoha desetiletími staly neodmyslitelnou
součástí informačních technologií. Stejně jako každé další programové vybavení
i databázové produkty prošly bouřlivým vývojem, který stále ještě není u konce.
To například dokládá i nedávné uvolnění první databázové platformy umožňující
zpracování ve gridu Oracle Database 10g.
Databázové technologie podobně jako lidstvo mají svoji historii. Problémem
statistických zpracování z mnoha uložených dat vždy byla, je a bude především
rychlost a objem zpracovávaných dat. Do příchodu počítačů byla taková
zpracování opravdovým oříškem, například ruční vyhodnocování sčítání lidu z
roku 1880 trvalo ve Spojených státech celých sedm let. Bylo tedy jasné, že
další zpracování výsledků za deset let musí být rychlejší. Jenže jak na to?
Se zajímavou myšlenkou tehdy přišel německý přistěhovalec Herman Hollerith,
který roku 1890 vyhrává konkurz u Amerického statistického úřadu se svým rok
starým návrhem na využití děrnoštítkového stroje. Výsledky byly při nárůstu
nákladů o pouhých 100 % impozantní zkrácení doby zpracování ze sedmi let na
fantastických šest týdnů.
"Databázová" genialita tohoto vědce spočívala v myšlence použít již tehdy známé
děrné štítky nikoli jako prostředku pro předpis programu, ale jako nosičů dat.
Tedy dat obsahujících informace, které statistický úřad zajímaly. V děrném
štítku o velikosti jednodolarové bankovky představovala jedna vyražená dírka
číslici, dvě pak písmeno. Z databázového pohledu nebyla zajímavá jen rychlost
zpracování, ale také možnosti plynoucí z dlouhodobého uložení dat. Například
pro pozdější detailní zpracování, revize výsledků apod. Herman Hollerith se
mimo jiné zapsal do historie výpočetní techniky také svým podílem na založení
společnosti IBM.

Databáze? Skoro všude!
Za databázové lze v dnešní době považovat drtivou většinu existujících aplikací
od jednoduchých evidencí přes účetní programy či internetové portály až po
podnikové informační systémy. Se službami využívajícími databází se dnes
setkáváme na každém kroku, na poště při odesílání doporučeného dopisu, na
letišti při odbavování k letu, kdekoli při zavolání z mobilu se do databáze
operátora uloží záznam o uskutečněném hovoru atd. V některých případech přitom
uložení dat do databáze a jejich následné zpracování ani neočekáváme, například
při vstupu do obchodu s nad vchodem umístěným počítadlem.
Databázové technologie jsou tu podle slov klasika se nám to může nelíbit,
můžeme s tím nesouhlasit, ale to je asi tak vše, co s tím můžeme dělat. Ale
není na druhou stranu důvod, proč by nám v běžném životě měly databázové
technologie vadit. Bez jejich existence by nebyly možné mnohé způsoby využití
informačních technologií v reálné praxi od platebních karet až třeba po
zpřístupnění kanálů kabelové televize.

Nejen relační
Za půl století, kdy se databázové technologie běžně spojují s výpočetní
technikou, vznikla celá řada modelů a způsobů reprezentace dat v databázích.
Pravděpodobně nejznámějším a dodnes nejrozšířenějším modelem je model relační
zavedený doktorem E. F. Coddem roku 1969. Mezi další modely patří model správy
souborů, hierarchický model, síťový model, post-relační a objektový model.
Některé modely se zapsaly do historie i v projektech, které nejsou s databázemi
nijak všeobecně spojovány například jedním z nejúspěšnějších využití
hierarchického modelu byl informační systém IMS vyvinutý v šedesátých letech
minulého století pro zajištění skladového hospodářství v rámci projektu Apollo.

Vždyť je to drahé
Všeobecná představa o vyspělých databázových produktech je taková, že si je
mohou dovolit jen velké společnosti a že jsou drahé. Pravda je ale do značné
míry opačná. Současné produkty z oblasti databázových technologií jsou cenově
srovnatelné s ostatními stavebními kameny podnikové informační architektury.
Navíc v celé řadě případů lze využít výhod různých licenčních programů, a
získat tak kvalitní databázové prostředí doslova za pár stokorun či tisícikorun.
Pokud by i tak nízké poplatky měly představovat nepřekonatelný problém, je zde
celá řada velmi kvalitních platforem k dispozici zcela zdarma v rámci různých
open source projektů. Mezi nejznámější platformy této kategorie patří
PostgreSQL či Firebird, případně MySQL, které ale již nemusejí být v některých
případech k dispozici zcela zdarma.
Nové požadavky ze strany zájemců o databázové technologie a celkové změny
přístupů ke tvorbě cen za informační technologie vedly také ke změnám
licenčních politik jednotlivých dodavatelů. V současné době je uplatňována celá
řada přizpůsobitelných modelů, od počtu pojmenovaných či konkurenčních
uživatelů přes počty procesorů až po typy nasazení. Některé licenční programy
lze navíc kombinovat. Vhodným výběrem způsobu licencování lze nejen ušetřit
značné finanční prostředky, ale také nechat si pootevřené dveře pro budoucí
rozvoj současných aplikací. Dnes používané licenční politiky tak přispívají k
dlouhodobé ochraně investic do informačních technologií.

Doba si žádá své
Mezi současné trendy v databázových technologiích mimo jiné patří snaha o
zajišťování vysoké dostupnosti a výkonu, možnosti rozložení zátěže, snižování
celkových nákladů na vlastnictví, zjednodušování administrace, zajištění
přístupu k datům uloženým v heterogenních zdrojích či o automatickou správu a
ladění. Stranou zájmu nezůstávají ani snahy o stále větší zabezpečení, i když
na tuto oblast slyší jen určité procento zákazníků znajících hodnotu svých dat.
Moderní databázové technologie nejsou určeny jenom pro pouhé zpracování dat ve
smyslu různých evidencí, ale podporují také oblasti analytického zpracování
(OLAP, dolování dat, datové sklady), k dispozici jsou deduktivní databáze
usnadňující vyhledávání ukrytých závislostí a znalostí.
Současné databázové platformy ve větší či menší míře podporují jazykové
zpracování textů, nejčastěji pak v podobě fulltextového vyhledávání doplněného
o některé sémantické prvky. Samozřejmostí se stává také zpracování dalších
nestrukturovaných dat, a to včetně multimediálních.
Stále větší oblibě se těší také podpora technologie XML ať již v podobě
mapované na některý současný model nebo i v podobě nativních XML databází.
Stranou zájmu už dlouhá léta nezůstávají ani prostorová a geografická data
používaná například pro provoz geografických informačních systémů, stejně jako
podpora třívrstvé architektury.
Uživateli a zájemci o databázové technologie pochvalovaným trendem je také
široká podpora různých operačních systémů v mnoha případech jsou jádra
databázových platforem vyvíjena rozdílně pro odlišné operační systémy. Existuje
jen málo databázových platforem, které by nebyly k dispozici pro více
operačních systémů, jednou z nich je MS SQL Server, který možná zbytečně ztrácí
u příznivců unixových platforem. Na druhou stranu platí, že někdy je
provázanost s daným operačním systémem natolik velká, že různé varianty pro
další systémy jsou-li vůbec možné nemusejí být příliš povedené.
Rostoucí oblibě se těší také ucelená databázová řešení založená na vzájemné
spolupráci dodavatelů databázových platforem s předními dodavateli hardwaru,
mnohdy navíc doplněná o dodávky aplikačních serverů. Výhodu z toho mají nejen
společnosti, které dokáží vytvářet silné aliance, ale také koncoví zákazníci a
uživatelé ti díky tomu dostávají prověřená komplexní prostředí.

Nejen databáze
Důležité z hlediska vývoje databázových technologií je také to, že se
zdokonalují ruku v ruce s ostatními prvky informačních technologií. Větší výkon
počítačů umožňuje zpracování většího množství dat, které vyžaduje větší úložné
prostory a v mnoha situacích také vyšší přenosové kapacity; podpora clusteringu
či zpracování ve gridu využívá moderních serverových koncepcí apod. Vývoj v
oblasti databázových produktů tak není vytržen ze svého okolí.
Principy a trendy shodné s těmi u databázových platforem jsou uplatňovány také
u dalších produktů s databázovými technologiemi souvisejícími. Tedy například u
nástrojů CASE a vývojových nástrojů. Bez těchto skupin dnes není možný vznik
žádné rozsáhlejší databázové aplikace. Navíc teprve kombinace databázového
serveru a dalších nástrojů (CASE, vývojové, administrátorské apod.) utváří to,
čemu jsme si zvykli říkat SŘBD systém řízení báze dat.

Databázová firma je...
Ještě před pár lety se mnozí dodavatelé honosili tituly nejlepší databázová
firma apod. Od přelomu tisíciletí ale nenajdeme moc společností, které by se
orientovaly čistě na tvorbu databázových platforem. Prakticky všechny přední
společnosti na trhu s databázovými platformami dodávají také další produkty. Od
vývojových nástrojů přes aplikační servery až po ucelené podnikové informační
systémy.
Uvedený trend je přitom zcela pochopitelný, databázový trh je sice obrovský a
ročně již přesahuje hranici deseti miliard dolarů, nicméně je omezený a v
jistém slova smyslu stagnuje či neroste tak rychle, jako některá jiná odvětví.
Z tohoto důvodu se dříve čistě databázové společnosti přeorientovaly a dodávají
ucelená řešení technologická i aplikační. Mezi firmami, které úspěšně prošly
touto transformací, nechybí ani takový databázový gigant, jako je společnost
Oracle.
Existuje ovšem pár výjimek potvrzujících pravidlo a zaměřujících se z drtivé
většiny na svoji vlastní databázovou platformu sem patří například společnost
InterSystems s platformou Caché. Nejedná se přitom o špatné rozhodnutí ze
strany managementu, zjednodušeně řečeno se i nadále takové společnosti hodlají
věnovat výhradně databázovému trhu. Díky tomu dokáží nabídnout zájemcům i
některé vlastnosti, které jsou konkurenčními platformami opomíjeny. Například
již zmiňované Caché je jedinou platformou na světě, která umožňuje zvyšovat
výkon dotazů v transakčních aplikacích pomocí bitmapových indexů v jiných
platformách jsou tyto indexy doménou analytických aplikací.
Databázové technologie představují širokou oblast, ve které se najdou všichni,
kteří potřebují nějakým způsobem uschovávat a zpracovávat data. Za to, že si
můžeme v této oblasti dovolit požadovat stále více a více, vděčíme nejen
přirozenému vývoji databázových technologií, ale také tvrdé konkurenci, která
vládne mezi jednotlivými platformami a dodavateli. Podstatné je, že zatím vždy
z tohoto souboje vyšel jako vítěz zákazník.

Tři nevýznamná písmena?
Jazyk SQL je v oblasti databázových technologií něčím podobným, jako je v
klasickém programování céčko. Za třemi písmenky SQL je schován název Structured
Query Language. Oproti ostatním klasickým procedurálním jazykům, jako jsou již
zmiňované C či Pascal, se jedná o jazyk neprocedurální. Pomocí neprocedurálního
jazyka totiž říkáme, co chceme provést (chci vědět, kolik jsem dnes prodal
knížek), kdežto v procedurálních jazycích musíme říci jak to chceme provést (v
cyklu načítej jednotlivé prodeje a po každém průchodu zvyš proměnnou
celkem_prodej o jedničku).
Základy jazyka SQL spadají do období jen pět let po zrození relačního modelu.
Poprvé byl jazyk SQL ve formě prototypu implementován v Systému R roku 1974,
tehdy jej ovšem společnost IBM ještě nazývala Sequel. První faktické
standardizace se jazyk SQL dočkal až roku 1986 díky standardizační organizaci
ANSI. Od tohoto okamžiku lze SQL považovat za jakýsi univerzální programový
nástroj pro vývoj databázových aplikací. Častým omylem je, že jazyk SQL je
spojen pouze s relačními databázemi. Není tomu tak nikde není zakázáno jazyk
SQL použít například v objektových SŘBD. Stejně tak ale neplatí, že by každý
relační systém musel mít implementován jazyk SQL.

Kdo je vítězem
Existuje nejlepší databázová platforma? Ne, neexistuje. Ona totiž není možná
odpověď na takto položenou otázku. Vždy záleží na úhlu pohledu a vždy je nutné
se ptát především na to, k čemu chceme danou databázovou platformu používat.
Z technologického pohledu lze databázové produkty srovnávat především na
základě nabízené funkčnosti, podpory progresivních technologií a souladu s
průmyslovými standardy. Z pohledu výkonu lze vycházet především ze
standardizovaných testů, existuje zde ovšem jedno velké ale. Nejpoužívanější
výkonnostní testy, mezi které patří testy TPC, totiž jen málokdy odpovídají
reálnému provozu, reálnému nasazení v praxi. Obvykle jsou tyto testy prováděny
ve velmi omezeném časovém úseku, a zjišťují tak pouze okamžitý výkon. K
dispozici pak většinou nejsou informace o nárůstu zátěže, výpadcích, problémech
se škálovatelností apod.
Jinými slovy pro velmi jednoduchou aplikaci může být výhodnější použít MS
FoxPro 6.0 než IBM DB2 Universal Database. Pod kvalitou se pak z hlediska
uživatele skrývá především vhodnost daného produktu ke splnění požadavků
kladených na řešení.

Klient a server
Obecně je známo, že pro architekturu klient/server platí zpracování rozdělené
mezi klienta a server, případně mezi tři vrstvy (klient, aplikační server,
databázový server). Již menší povědomí je o tom, že ve skutečnosti existuje
celkem pět tříd klient/server, které se liší podle toho, jaké procesy jsou
zpracovávány na jaké úrovni. Patří sem plně distribuované zpracování, úplný
klient/server, klient/server s mosty, omezený klient/server a minimální
klient/server.
Například v případě plně distribuovaného zpracování má server zcela na starosti
aplikační logiku a databázi, částečně zajišťuje také správu a funkčnost
komponent klientské aplikace (uživatelského rozhraní). Podstatnou podmínkou je
přihlašování k jedinému databázovému/aplikačnímu serveru, ovšem z logického
pohledu fyzicky může serverů existovat více. Klient/server s mosty provádí
mapování požadavků klienta na vybrané servery pomocí tzv. mostů. Strana serveru
zajišťuje databázové pozadí, aplikační logika je rozdělena mezi server a
klienta, klient se zcela stará o uživatelské rozhraní.

Grid? Grid!
Mezi nejvýznamnější databázové události letošního roku patří uvolnění první
databázové platformy umožňující zpracování ve gridu. Došlo k němu v září a nové
možnosti databázového zpracování ukázala světu společnost Oracle v podobě
platformy Oracle Database 10g.
Základní myšlenka gridu vychází z využití volné výpočetní kapacity vzájemně
trvale či dočasně propojených počítačů tak, aby byl v maximální možné míře
využit dostupný výpočetní výkon. V případě databázového zpracování ve gridu nás
nemusí zajímat, kde jsou data uložena, a ani to, který počítač či počítače naše
požadavky zpracují. Kdykoli si vzpomeneme, položíme dotaz a získáme odpověď.
Nebo zadáme příkaz a on se provede. Ve chvíli, kdy to potřebujeme, nikoli ve
chvíli, kdy nám dostupný počítač má volný výpočetní výkon. Ne nadarmo je
zpracování ve gridu přirovnáváno k elektrické síti ani zde nás nezajímá, která
elektrárna proud do sítě dodává, důležité pro nás je, že vůbec proud máme k
dispozici.
Platforma Oracle Database 10g přináší možnost využití zpracování ve gridu všem
databázovým a ve své podstatě i nedatabázovým aplikacím. Tíha zajištění výhod
gridu leží na provozních platformách, nikoli na aplikacích jako takových. Grid
tak otevírá novou generaci databázových technologií, navíc bude díky Oracle
Database 10g dostupný i pro běžné komerční účely. Platformu Oracle Database 10g
představí v Praze osobně CEO Oraclu Larry Ellison, a to na konferenci
OracleWorld, která se koná 23.-24. 10. 2003.









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