Vývoj databázových systémů rozhodně nestagnuje

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


Databázové technologie se již před mnoha desetiletími staly neodmyslitelnou
součástí technologií informačních. Stejně jako každé další programové vybavení
i databázové produkty prošly bouřlivým vývojem, který stále není u konce. A
vlastně ani nikdy u konce být nemůže databáze se musejí vyvíjet spolu s vývojem
dalších základů informačních systémů hardwarem počínaje a komunikačními
programy konče.

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 přišel německý přistěhovalec Herman Hollerith, který
roku 1890 vyhrál 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 procent impozantní zkrácení doby 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
zapsal do historie výpočetní techniky mimo jiné také svým podílem na založení
společnosti IBM.

Jsou všudypřítomné
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 počítadlem umístěným nad vchodem. Bez existence
databázových technologií by neexistovala mnohá 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.

Typy databází
Za půl století, kdy se databázové technologie běžně spojují s výpočetní
technikou, vznikla celá řada modelů a způsobů, jaký model pro reprezentaci dat
v databázích zvolit. Nejznámějším a dodnes nejrozšířenějším modelem je model
relační, uvedený 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 současné době je patrný stále větší příklon k post-relačním a objektovým
modelům, které mnohdy mnohem lépe dokáží vyhovět praktickým požadavkům na
zpracování přirozených dat vyskytujících se všude okolo nás.

Licenční poplatky
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 jiná.
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 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. Zejména Firebird v současnosti představuje velmi
progresivní platformu, směřující mimo jiné také k podpoře technologií
dostupných pouze u rozsáhlých komerčních platforem (podpora 64bitových jader,
vysoké dostupnosti a výkonu, bezpečnosti).
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 IT.

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 a podpory
zpracování ve gridu, 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
automatická správa 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. Nejdále je z tohoto pohledu společnost Oracle,
které patří na dvě desítky bezpečnostních certifikátů. Velký boom také zažívají
platformy určené pro malé a střední firmy obvykle jde o varianty velkých
bratříčků ze stejné dílny. Moderní databázové technologie nejsou určeny pouze
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é o
některé sémantické prvky. Samozřejmostí se stává také zpracování dalších
nestrukturovaných dat 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,
tak i v podobě nativních XML databází. Stranou zájmu již 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 chválený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šené 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 (aktuálně všichni čekáme na dlouho
slibovaný Yukon aneb MS SQL Server 2005), 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é nejsou 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ěnou o
dodávky aplikačních serverů. Výhodu v této oblasti mají nejen společnosti,
které dokáží vytvářet silné aliance, ale také koncoví zákazníci a uživatelé v
podobě prověřených komplexních prostředí. 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í. Vyšší výkon počítačů umožňuje zpracování
většího množství dat, které vyžaduje rozsáhlejší úložné prostory a v mnoha
situacích také vyšší přenosové kapacity. Podpora clusteringu či zpracování ve
gridu pak využívá moderních serverových koncepcí. Vývoj v oblasti databázových
produktů tak není odtržen od svého okolí, což je bezesporu dobře.
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 u 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é firmy
Ještě před pár lety se mnozí dodavatelé honosili tituly nejlepší databázová
firma apod. Od přelomu tisíciletí ale nenajdeme mnoho 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 na moderní společnosti dodávající ucelená řešení technologická i
aplikační. Mezi firmami, které úspěšně prošly touto transformací, nechybí ani
takový gigant, jako je společnost Oracle. Existuje však 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 takové společnosti i nadále 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.


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 je 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 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 představa, že je jazyk SQL 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 (systémech pro řízení báze dat). Stejně tak ale neplatí, že by
každý relační systém musel mít implementován jazyk SQL.

Srovnání databází


Existuje nejlepší databázová platforma? Ne, neexistuje. Ona totiž na takto
položenou otázku neexistuje odpověď. 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ů, existujte 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, skutečné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 kvalitnější MS Visual
FoxPro 9.0 než IBM IDS 10. Pod slovem kvalita se totiž skrývá především
vhodnost daného produktu ke splnění požadavků kladených na řešení.
A ještě poznámka: Na současném databázovém trhu, jehož roční hodnota
celosvětově překračuje desítku miliard dolarů záleží na různých směrech pohledu
jsou k dispozici takřka dvě stovky platforem. A každá platforma bývá obvykle k
dispozici ve dvou, třech variantách. Nicméně tato čísla je nutné brát s velkou
rezervou, neboť v sobě zahrnují také mnoho akademických a komerčně neúspěšných
pokusů.

Zaostřeno na grid
Mezi nejvýznamnější databázové události posledních let patří vznik databázových
platforem umožňujících zpracování ve gridu. Nejznámější a nejpropracovanější
takovou platformou je 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 také nás nezajímá, která elektrárna proud do
sítě dodává, důležité pro nás je, že proud máme vůbec 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. Grid tak otevírá
novou generaci databázových technologií a díky Oracle Database 10g bude
dostupný i pro běžné komerční účely.









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