Zdravý směr relačních databází

Potřeby zákazníků se změnily Dnes si již skoro nedokážeme představit úspěšnou firmu bez podpory informačních ...


Potřeby zákazníků se změnily

Dnes si již skoro nedokážeme představit úspěšnou firmu bez podpory informačních
technologií. Vedle vlastních podnikových aplikací jsou ale důležitým prvkem i
databázové systémy zajišťující správu dat. Jakým směrem se vývoj databází
ubírá, jsme se proto zeptali specialisty Davida Krcha ze společnosti Oracle,
který je zodpovědný za podporu prodeje databází Oracle.

Mnozí odborníci tvrdí, že po více než 20 letech rozvoje relačních databází již
není kam postupovat, přesto se stále objevují nové verze databázových systémů...
Řekl bych, že databáze jsou oblastí, která se stále dynamicky vyvíjí a ještě se
bezpochyby dále vyvíjet bude. Je důležité si uvědomit, že se od vzniku první
relační databáze významně změnily potřeby zákazníků. I ti nejmenší dnes
zpracovávají mnohonásobně více dat než před deseti, dvaceti lety. Významně se
také zvýšil počet současně pracujících uživatelů a požadavky na dostupnost
systémů. Dá se říci, že u zákazníků všech velikostí, tedy i u těch menších, se
na poli databází důraz přesouvá především k efektivnímu zajištění provozu
databáze a potažmo celého informačního systému. Tomu samozřejmě odpovídají
oblasti, kde dochází k největšímu rozvoji je to jednoznačně dostupnost,
bezpečnost, snižování nákladů na provoz a schopnost zpracovávat v databázi
různé typy dat.

Jak souvisí zpracování různých typů dat s provozem databáze? Může způsob
uložení dat nějak ovlivnit provoz aplikace? Jaký vliv má to, zda jsou data
uložena pohromadě, nebo v různých technologiích?
Názor, že každý typ dat je nejlepší ukládat zvlášť ve speciální technologii a
že se mají relační databáze používat jen pro ukládání jednoduchých datových
typů, vychází z mylné představy, že jednotlivé aplikace pracují vždy pouze s
jedním typem dat. Skutečnost je však jiná: účetní aplikace pracuje vedle
strukturovaných dat také s dalšími vytvořenými či přijatými dokumenty. Všechny
typy dat je pak třeba mít zabezpečené a je důležité zajistit jejich dostupnost
a efektivní správu to se samozřejmě dělá snadněji, pokud jsou pro zajištění
výše uvedených požadavků použity stejné postupy a jsou-li všechna data uložena
v jediné technologii v našem případě v databázi Oracle.

Očekávala jsem, že ve vašich odpovědích nebude chybět magické slůvko "grid".
Můžete osvětlit, co tento trend znamená v pojetí Oraclu?
Koncepce Enterprise Grid, kterou podporujeme, představuje prostředek pro
snížení nákladů na provoz IS a zvýšení jeho dostupnosti, výkonnosti a
flexibility. Enterprise Grid umožňuje získat potřebný výkon spojením více
malých levných serverů, které jsou navíc schopny přebírat aktivity jiného
serveru v případě pádu, a zajišťují vysokou dostupnost celé infrastruktury.
Hlavní přínos tkví ve schopnosti dynamicky měnit to, na kterých serverech jaká
aplikace poběží, a reagovat tak na měnící se potřeby firmy či úřadu. Obchodní
společnosti například před Vánocemi své prodejní aplikaci jednoduše přidají
výkon na úkor analytické aplikace a po Vánocích mohou vše vrátit zpět. Pokud se
ukáže, že s disponibilním výkonem opravdu nevystačí, stačí do celé architektury
doplnit další levný server. Do výkonu tak není nutné investovat předem, ale až
v případě skutečné potřeby.

Nejde spíše jen o teorii? Využívá se Enterprise Grid v praxi hojně?
Enterprise Grid je koncepce, jak stavět a provozovat informační systémy.
Databáze a aplikační server Oracle obsahují řadu mechanismů, které tuto
koncepci podporují. Asi nejzajímavější je technologie Real Application
Clusters, která umožňuje provozovat více serverů najednou nad společnou
databází a na databázové úrovni splňuje všechny základní charakteristiky
koncepce Enterprise Grid. Tuto technologii již po světě implementovalo několik
tisíc zákazníků a i v ČR jde o desítky zákazníků. Žádná teorie realita.

Není ale správa velkého počtu serverů v clusteru příliš náročná?
V rámci konceptu Enterprise Grid je třeba zajistit, aby složitost každé vrstvy
IS byla pro ostatní vrstvy transparentní. Aplikace prostě pracuje s jednou
databází a je jí jedno, na kolika serverech běží. To samé platí i pro správu
celý databázový cluster se spravuje stejně jako běžná databáze. Většina dříve
manuálních činností, jako je diagnostika, konfigurace instance, správa
databázového prostoru a ladění výkonu je navíc do značné míry automatizována. A
pokud si databáze neumí poradit sama, minimálně vám poskytne dostatek informací
pro to, aby jste mohli kvalifikovaně rozhodnout a jednoduše danou změnu provést
pomocí webového administrátorského prostředí. Od dob databází Oracle7 a Oracle8
se toho však již hodně změnilo administrátoři, kteří u těchto verzí zůstali, se
po přechodu k Oracle10g budou hodně divit, o co všechno se již nemusejí starat.

Databázový cluster, jako je třeba Oracle Real Application Clusters, ale řeší
jen dostupnost v případě výpadku serveru. Z různých statistik však vyplývá, že
za skoro polovinou všech výpadků stojí lidské chyby. Mohou i tento problém
databáze nějak minimalizovat?
Standardním řešením v těchto případech je obnova databáze ze zálohy, to ale v
případě rozsáhlých databází může znamenat i relativně dlouhou odstávku. Proto
například Oracle přišel s technologií Flashback, která umožňuje vrátit stav
celé databáze nebo jen vybraných tabulek do určitého stavu v minulosti. Nebo
lze prostě v rámci dotazu získat starší verzi dat i bez použití zálohy. Tímto
postupem lze data obnovit v řádu minut místo hodin proto, že není třeba
přenášet data z pásek na disk, ale také proto, že se postupuje od současnosti
do minulosti a ne od času posledního zálohování vpřed objem dat, které je třeba
zpracovat, je tak většinou výrazně menší.

Jak může databáze pomoci v zajištění bezpečnosti informačního systému? Je
zřejmé, že databáze nemůže zabránit programátorovi, aby ve své aplikaci
neudělal chybu, která způsobí napadnutelnost aplikace. Správná architektura a
kombinace různých bezpečnostních mechanismů v databázi i mimo ni však může
minimalizovat potenciální škody. Pokud například aplikace nemá plná práva k
datům v databázi, ale přístup k datům je řízen na databázové úrovni, má i
klasický útok "SQL Injection" velmi omezené možnosti. Oracle proto například
implementoval vedle klasického řízení přístupu na úrovni jednotlivých tabulek i
možnost řízení přístupu na úrovni jednotlivých záznamů, a to buď pomocí
pravidel díky technologii Virtual Private Database, nebo pomocí bezpečnostních
štítků díky Label Security. Deklarativní řízení bezpečnosti má oproti tomu
programovému tu výhodu, že je mnohem lépe kontrolovatelné.



Jedna z největších softwarových společností Oracle vyvíjí všechny základní
prvky podnikového softwaru od podnikových aplikací a nástrojů na jejich vývoj
přes aplikační server až po databázi a nástroje pro podnikovou spolupráci.
Česká pobočka byla založena v roce 1994 a zaměstnává více než 200 specialistů.









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