Bouřlivý vývoj databází

Předpovídat v současné době směr a budoucí trendy v oblasti databázových systémů není jednoduché. Přesto se již...


Předpovídat v současné době směr a budoucí trendy v oblasti databázových
systémů není jednoduché. Přesto se již dnes objevují hlasy převážně z řad
velkých databázových producentů, kteří předpokládají rychlý posun k databázovým
a informačním systémům, podporujícím komunikaci s uživateli hlasem nebo vznik
nové dimenze síťově orientovaných strukturovaných datových skladů.
Databázové systémy založené na různých technologiích procházejí stejně tak jako
vše svým postupným vývojem.

Pohled od minulosti
Za těch málo desetiletí vývoje vznikla řada databázových modelů. Mezi první
patřil File Management System model. Byl založen na principu sekvenčního
ukládání dat do jednoho velkého souboru, umístěného na magnetické nebo děrné
pásce, popřípadě na děrných štítcích. Výhodou tohoto modelu byla snad jen jeho
jednoduchost na pochopení. Hlavní nevýhodou pak zase samotný přístup k datům,
jenž byl časově velmi náročný. Model postrádal klíčové rysy dnešních databází
kontrolu integritních omezení, indexy a schopnost přenášet část aplikační
logiky na stranu databáze (uložené procedury).
Dalším krokem ve vývoji byl hierarchický model, který vycházel ze stromové
struktury, kde byl výchozím bodem kořen. Na jeho větvích pak byly umístěné
uzly, obsahující ještě celou řadu dalších větví s vlastními datovými
strukturami. Hlavní výhodou tohoto řešení bylo snížení doby při vyhledávání.
Model byl vhodný převážně pro aplikace, kde se data ukládají hierarchicky
(např. systémy skladového hospodářství).
V roce 1971 byl popsán další databázový model. V tzv. síťovém modelu mohly být
již definovány vztahy mezi jednotlivými databázovými položkami. Nevýhodou bylo
omezení změn struktury databáze. Síťový model nebyl příliš úspěšný, i když se v
osmdesátých letech dočkal celé řady rozšíření a nových standardů. Důvod byl
velmi jednoduchý. V té době zde již byl relační model, který si záhy získal
velkou oblibu a v současnosti patří k nejrozšířenějšímu způsobu ukládání dat do
databáze. Přináší celou řadu výhod pro zobrazení dat, možnost snadné definice
vazeb a v neposlední řadě i výhody při zpracovávání dat. V relačním modelu jsou
data ukládána do tabulek, mezi kterými může být definován vzájemný vztah.
Objevují se tak nové pojmy, jako jsou primární a cizí klíč, integritní omezení
apod.
Posledním, nejmladším modelem je objektový nebo, chcete-li, objektově-relační
model. Aplikace a systémy vyvíjené nad tímto modelem teprve vznikají a
budoucnost ukáže, zda bude stejně úspěšný jako jeho relační předchůdce.

Nová generace
V současné době jsou stále častěji skloňována slova intranet a internet. Právě
v těchto prostředích se v tuto chvíli asi nejvíce aplikují databázové systémy.
Přední producenti databázových systémů, jako je Oracle, IBM i Microsoft, se
soustřeďují na to, aby do svých produktů zahrnuli nástroje umožňující tvorbu
aplikací, které s daty pracují prostřednictvím internetu. Takovým příkladem
mohou být Java 2 EE, XML a Web Services. Někteří již dokonce umožňují provoz
Java aplikací uvnitř databáze, a to díky integrované Java Virtual Machine.
Kromě ukládání běžných typů strukturovaných a nestrukturovaných dat do databáze
je nutné u budoucích systémů brát v úvahu plnou podporu multimediálních dat,
jazyka XML, který se stává komunikačním standardem, a umožňuje tak integrovat
různé systémy a vyměňovat data mezi aplikacemi.
Databázové systémy patří k rychle se rozvíjejícím oblastem počítačového světa.
Orientace na internet přibližuje stále více tuto oblast koncovým uživatelům, a
nutí tak přední producenty databázových systémů posouvat hranice možností stále
více dopředu. Blízká budoucnost nám ukáže, co budeme moci všechno do databází
ukládat a kam až se hranice databázových technologií posune.o

Databáze mění svou starou tvář
Každý kdo chtěl před zhruba osmi až deseti lety znát vše o relačních
databázích, potřeboval v podstatě dva manuály příručku správce a referenční
příručku jazyka SQL. Od té doby došlo k obrovské změně v oblasti informačních
technologií jako takových skončila doba mainframů a terminálových aplikací, za
námi je i doba klient/server technologií a vše se dnes soustředí kolem
internetu. Databáze odrážejí tento vývoj a v mnohých případech jsou i jeho
hybatelem.
Databázové servery se změnily z prostých "strojů" pro ukládání a správu
relačních (tabulkových) dat na "platformy", které umějí pracovat se
strukturovanými tabulkovými i nestrukturovanými daty. Databáze už umějí nejen
ukládat audio a video data, ale i spravovat (včetně indexace a efektivního
prohledávání ) textová data v různých formátech, XML dokumenty a také například
i prostorová vektorová či geopolohová data. Databáze navíc poskytují celou řadu
funkcí pro efektivní práci s těmito nerelačními daty. Díky technologiím jako
Java 2 EE se databáze stávají i důležitou vrstvou pro aplikační vývoj s
možností přímo v databázovém serveru programovat ve standardním programovacím
prostředí. Java doplňuje SQL (který je standardním rozhraním pro přístup k
databázi více než 20 let) o prvky procedurálního, objektového a komponentového
programování. Běh kódu programu, který přímo v databázi provádí datově
intenzivní operace, může značně zvýšit výkon celého systému. Pojďme se podívat
na ty vlastnosti, které znamenají největší změnu ve vývoji databázových
technologií v poslední době.

Objektově-relační databáze
Během posledních pěti let se z relačních databází staly databáze objektově-
relační. Taková databáze umožňuje vytvářet databázové tabulky na základě tzv.
objektových datových typů. Objektový datový typ v databázi (analogicky jako u
objektů v objektově-orientovaném programování) je definován na základě
parametrů a obchodních funkcí existujících objektů v reálném světě. Databázový
objektový typ je tvořen atributy a metodami a na rozdíl od klasických relačních
tabulek se mnohem přímočařeji mapuje právě na objekty definované na úrovni
aplikační vrstvy. Interní databázové mechanismy také přispívají k jednoduchosti
SQL kódu a výkonnosti přístupu k databázovým datům, jsou-li použity právě
objektové typy.
Objektově-relační a komponentové vlastnosti databázových serverů významně
podporují tzv. aplikační partitioning možnost umístit různé komponenty tvořící
aplikaci na různé vrstvy třívrstvé architektury a na různé počítače, a tím
maximálně využít schopnosti jednotlivých komponent celého systému.

Databáze a XML
V současné době se XML stává komplexní a výkonnou technologií pro řešení úloh v
oblasti datově integrační i prezentační. Relační databáze nabízejí dva možné
způsoby využití XML:
- Efektivní manipulaci (tj. ukládání, výběr a analýzu) s XML daty uloženými v
odpovídajících strukturách relačních nebo objektově-relačních tabulek databáze.
Databáze nabízejí rozhraní, pomocí kterých je možné XML dokument parsovat,
rozložit na jednotlivé části a ty potom uložit do databázových tabulek.
Zpočátku se používaly přímo relační tabulky, v současnosti je možné využít i
objektové databázové typy, jejichž předdefinované metody nabízejí prostředky
pro manipulaci s XML formátem.
- Databáze umožňují správu dokumentů včetně možnosti indexace a prohledávání
jednotlivých strukturovaných částí dokumentu od úrovně nadpisu, abstraktu,
odstavce. To platí i pro komplexní dokumenty různých formátů samozřejmě včetně
dokumentů ve strukturovaném XML formátu, kde je možné indexovat a vyhledávat i
v jednotlivých větvích XML stromu.
V současnosti také vznikají standardy pro nativní správu XML dat včetně
databázového rozhraní, které bude odpovídat XML standardům definovaným W3C
konsorciem.

Bezpečnost
Pokud chcete opravdu ochránit to nejcennější, co obsahuje váš informační
systém, tedy zabezpečit vaše data kdo jiný by měl poskytnout bezpečnostní
služby než právě databáze, ve které jsou data uložena?
Databázový server může v rámci ochrany a bezpečnosti celého informačního
systému plnit následující bezpečnostní funkce:
- Autentizaci uživatelů při přístupu do databáze
- Autorizaci a řízení přístupu k datům při manipulaci s nimi
- Auditování přístupů do databáze a manipulací s daty
- Kryptování vysoce senzitivních dat uložených do databáze
- Bezpečné a spolehlivé uložení dat a metadat pro bezpečnostní komponenty
střední (aplikační) vrstvy, jako např. adresářový server, single-sign-on server
apod.
Databázové servery využívají bezpečnostní standardy, jako např. PKI společně s
X509v.3 certifikáty a implementací SSL protokolu k zabezpečení autentizace
databázových uživatelů včetně "single sign-on" služeb a ke kryptování a
zajištění integrity dat při komunikaci databáze s klientským zařízením či
aplikačním serverem.
LDAP adresářové servery mohou obsahovat databázové uživatelské autentizační
údaje a jsou základem pro správu "enterprise uživatelů" uživatelských
globálních účtů a globálních rolí, které definují jejich privilegia v
komplexním multidatabázovém prostředí. LDAP potom hraje roli centrálního zdroje
všech bezpečnostních údajů a může přinést značné zjednodušení bezpečnostní
správy systémů.
Velice zajímavým bezpečnostním rysem je i schopnost databázového serveru řídit
přístupová práva k datům na úrovni tabulkových záznamů. Tento mechanismus
nazývaný "fine-grained access" nebo "virtuální privátní databáze" pracuje na
principu asociace tzv. bezpečnostní politiky s databázovou tabulkou nebo
pohledem. Jakýkoli přístup k této tabulce vyvolá automaticky funkci
bezpečnostní politiky, která transparentně doplní přístupovou podmínku, tzv.
predikát do uživatelova SQL příkazu.
V databázovém světě se objevil i mechanismus, dříve známý pouze v prostředí
speciálních, tzv. "trusted" operačních systémů. Bezpečnostní správce má možnost
přidělit každému řádku databázové tabulky tzv. "label" (štítek), podle jehož
hodnoty mají uživatelé přidělení do různých bezpečnostních skupin různé úrovně
přístupových práv.

Spolehlivost a vysoký výkon
Vysoká spolehlivost a výkon znamená pro databázový server povinnost poskytovat
data aplikacím, kdykoli potřebuje mít uživatel data k dispozici. V této
souvislosti se v poslední době často cituje pojem databázový cluster.
Technologie databázového clusteru je ve skutečnosti starší než deset let. Za
dobu své historie nikdy databázové clustery nezískaly významnou pozici na trhu
a byly použity vesměs pro speciální aplikace, které byly vytvářeny přímo pro
databázové clusterované prostředí. Vývoj clusterových technologií jak na poli
hardwarovém, tak i softwarovém slibuje možnost použití databázových clusterů
pro jakýkoli typ aplikací včetně vysoce transakčních. Přínos databázových
clusterů je jak v oblasti zvyšování výkonu systému (přidáním uzlů do clusteru
téměř lineárně roste výkon clusteru jako celku), tak i v oblasti vysoké
dostupnosti (v případě výpadku uzlu v clusteru automaticky převezmou požadavky
uživatelů zbylé funkční uzly).
Pro databázové clustery založené na principu clusterové architektury "shared
disk" platí, že více serverů v clusteru se chová z hlediska správy systému i z
pohledu koncového uživatele či aplikace jako kompaktní systém, který se neliší
od databáze neclusterované. Přidáním dalších serverů do clusteru se zvýší výkon
systému bez nutnosti změn v aplikaci a rozložení dat v databázi. To umožní lépe
odhadnout investice do infrastruktury a zvyšovat výkon systému doplňováním
hardwarové kapacity podle aktuální obchodní potřeby firmy.
Fault-tolerant databázový cluster může být doplněn geograficky oddělenou
záložní databází s automatizovaným procesem údržby záložního systému a přechodu
na něj v případě vzniku katastrofické události způsobující ztrátu funkčnosti
primárního (provozního) systému jako celku.

Kde jsou hranice?
Říká se, že na světě existuje zhruba pět až deset databází, které obsahují
řádově stovky terabajtů dat a blíží se k "magické" hranici 1 petabajtu k objemu
dat, který by byl ještě před několika roky zcela za hranicemi našich představ z
důvodů hardwarových i softwarových. Jedna z největších databází na světě je na
Stanfordově univerzitě v Kalifornii. Zdejší vědci pracující v oblasti částicové
fyziky do databáze ukládají data získaná z provozu částicového urychlovače. K
již existujícím 500 terabajtům dat přibývají denně další 2 terabajty a
prolomení petabajtové hranice se očekává příští rok.
Analytici očekávají, že hranice petabajtu bude v komerční sféře dosažena někdy
na přelomu 2003 a 2004. V této souvislosti bude jistě zajímavý fakt, že i v
České republice existuje několik databází s objemem cca 1-2 terabajtů dat.

Vývoj a budoucnost
S otevřením informačních technologií z vnitropodnikového světa směrem k
obchodním partnerům i zákazníkům a především z důvodu efektivity využití
informací nastává doba, kdy každá firma (pokud to ještě neudělala) musí
uvažovat o konsolidaci svého datového bohatství do bezpečného a provozně
spolehlivého úložiště. Takovým úložištěm může být databázový server v roli
vysoce transakčního databázového systému, konsolidačního operativního datového
úložiště či agregovaného datového skladu s podporou analytických aplikací.
Z pohledu technologického budou pravděpodobně v blízké budoucnosti pro databáze
nejvíce skloňovanými tématy:
- XML
- další rozvoj bezpečnostních technologií a integrace bezpečnostních standardů
do databázových serverů
- vysoký výkon a spolehlivost prostřednictvím pokračujícího vývoje mechanismů
paralelního zpracování dat
- role databáze jako spolehlivého a bezpečného úložistě provozních dat/metadat
pro různé technologické komponenty informační infrastruktury jako jsou
například, adresářové servery, geografické servery, portály apod.









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