Distribuované databázové systémy

8.1 Základné pojmy

Distribuovaný databázový systém je množina uzlov počítačovej siete, navzájom prepojených v komunikačnej sieti pričom:
- každý z uzlov je samostatný databázový systém, ale
- tieto uzly navzájom spolupracujú tak, že z každého uzla je možné sprístupniť údaje uložené na inom uzle presne tak, akoby boli umiestnené na vlastnom uzle.
Samotná databáza je množina navzájom prepojených databáz, ktoré sú umiestnené na rôznych uzloch tak, že užívateľ s nimi manipuluje akoby boli umiestnené v centralizovanej databáze.
O celé riadenie databázy sa stará Distribuovaný systém riadenia bázy dát, ktorý spolupracuje s lokálnymi systémami riadenia databáz .
Distribuovaný databázový systém je množina logicky zviazaných databáz distribuovaných na jednotlivých uzloch prepojených sieťou. SRDBD je softvérový systém umožňujúci z hľadiska používateľa transparentné riadenie distribuovanej bázy dát.
Pod pojmom transparentné rozumieme, že pre užívateľa sa systém javí ako by bol riadený jedným SRBD
Architektúry distribuovaných databázových systémov sa od seba odlišujú hlavne autonómiou jednotlivých lokálnych databáz a integráciou dát. Podľa týchto kritérií potom rozlišujeme systémy so samostatnými bázami dát, kde prístup k jednotlivým dátam a operácie s nimi je možné vykonávať pomocou systémov vzdialeného prístupu RDA – Remote Database Access, ďalšou skupinou sú systémy so spojenými databázami, založené na spolupráci nezávislých databáz umiestnených v jednotlivých uzloch
8.1.1 Funkcie DDBS sú:
Riadenie globálnych katalógov dát o distribuovaných dátach.
Definovanie distribuovaných dát.
Distribuovaná sémantická kontrola.
Distribuované spracovanie dotazov vrátane optimalizácie dotazov vrátane vzdialeného prístupu k dátam.
Distribuované riadenie transakcií vrátane zabezpečenia paralelného spracovania.
Dôležitým aspektom je i nutnosť alebo snaha odstrániť nevýhody vyplývajúce z centralizovaného spôsobu ukladania dát. Nie vždy je tento spôsob najefektívnejší a nie vždy vyhovuje spôsobu práce v užívateľskej organizácii. Zaťaženie komunikačných liniek, zdieľanie dát, spoľahlivosť, dostupnosť, rýchlosť spracovania sú aspekty, ktoré vedú k hľadaniu takej architektúry databázového systému, ktorá by umožnila fyzické rozptýlenie dát na rôznych miestach a zároveň umožnila centralizovaný pohľad na dáta podobne ako je to v klasických databázových systémoch.
8.1.2 Vlastnosti DDBS
C.J. Date [ Date96] definoval 12 vlastností, ktoré by mal splňovať ideálny distribuovaný databázový systém, čo predstavuje akýsi cieľový stav výskumu a vývoja v tejto oblasti. Sú to nasledovné vlastnosti:
Lokálna autonómnosť.
Nezávislosť na centrálnom uzle.
Súvislá prevádzka.
Nezávislosť na umiestnení dát.
Nezávislosť na fragmentácii dát.
Nezávislosť na replikácii dát.
Spracovanie distribuovaných dotazov.
Distribuované riadenie transakcií.
Nezávislosť na technickom vybavení.
Nezávislosť na operačnom systéme.
Nezávislosť na sieti.
Nezávislosť na lokálnych databázových systémov.
Nie všetky z týchto dvanástich vlastností nie sú na sebe závislé, a ani nie sú všetky rovnako dôležité. Avšak sú nutné pre stanovenie technológie distribuovaného spracovania a jej funkcionalitu v danom konkrétnom prípade nasadenia.
8.1.3 Výhody a nevýhody DDBS
výhody:
Lokálna autonómnosť,
Zvýšenie výkonu,
Zvýšenie spoľahlivosti,
Zvýšenie dostupnosti dát,
Vyššia zdieľatelnosť dát,
Rozširovatelnosť,
Ekonomická efektívnosť.
nevýhody:
Nedostatok skúseností,
Zložitosť nového systému,
Zvýšenie ceny,
Riadenie distribuovaného spracovania,
Vyššie nároky na bezpečnosť.

Hoci sa distribuované databázové systémy využívajú už niekoľko rokov ich skutočný rozvoj nastal až po masívnom rozšírení a skvalitnení počítačových sietí. Tento trend je charakteristickým pre deväťdesiate roky.
Klasifikácia problémov je nasledovná:
Návrh distribuovaných databáz.
Distribuované spracovanie dotazov.
Distribuované riadenie katalógov.
Distribuované riadenie transakcií.
Distribuované riadenie paralelizmu.
Zabezpečenie spoľahlivosti.

8.2 Modelovanie distribuovaných databáz

Problematika modelovania databáz v distribuovanom informačnom systéme alokovania databáz (Database Allocation Problem (DAP))
Levin and Morgan v roku 1975 [LEVIN75] navrhli tvorbu distribuovaných systémov podľa troch hľadísk:
- zdieľanie - zdieľanie dát alebo programov
- spôsob prístupu - statický alebo dynamický pohľad na aplikáciu
- úroveň poznania - znalosť návrhára databázy akým spôsobom bude užívateľ pristupovať k databáze
Zdieľanie dát a programov reprezentuje jednu dimenziu, ktorá dovoľuje stanoviť spôsob zdieľania od jedného extrému, ktorým je obmedzenie zdieľania až po úplnú replikáciu dátových objektov a programov. Zložitosť problematiky znásobuje i možnosť heterogénnych systémov, čo predstavuje dosť často takmer neriešiteľnú prekážku vhodného návrhu.
Druhým hľadiskom je statický alebo dynamický prístup v závislosti na tom, akým spôsobom, kedy a odkiaľ budeme vykonávať dotazy na jednotlivé objekty databázy v čase.
Tretí rozmer predstavuje situáciu keď znalosť projektanta databázy o tom, aké dotazy, ktorými užívateľmi budú formulované, a ktoré objekty databázy budú súčasťou dotazu. Samozrejme, že teoretickou možnosťou je ich úplná znalosť , ale prakticky je veľmi obtiažne ak nie nemožné vopred ich formulovať .
V súčasnej dobe väčšina prác zaoberajúcich sa danou problematikou je sústredená na problém návrhu dátového modelu v nasledovných krokoch a to:
návrh konceptuálnej schémy databázy
návrh fyzickej databázy
fragmentácia dátového modelu a objektov databázy,
alokácia fragmentov databázy .

8.3 Funkčný model DSRBD

Distribuovaný systém riadenia bázy dát má dva základné komponenty:
- používateľský procesor (UP –user procesor)
- dátový procesor ( DP – data procesor)
Optimalizácia distribuovanej požiadavky- nájdenie plánu je založená na nájdení plánu pracuje používateľský procesor v uzle, z ktorého je distribuovaná požiadavka riadená a dátové procesory v uzloch, ktorých sa distribuovaná požiadavka týka. Optimalizácia spočíva v nájdení plánu uspokojenia požiadavky s minimalizáciou spotreby zdrojov. Ako miera spotreby zdrojov sa volí doba odozvy, ktorá pozostáva z viacerých faktorov: čas na prenos, čas na potvrdenie bezchybnosti, spojované služby, čas strávený v medziľahlých uzloch, prepojovanie paketov.
Dostupnosť zdrojov je možné dosiahnuť vhodnou fragmentáciou (rozdelením databázy - horizontálna (podľa riadkov), vertikálna (podľa atribútov), kombinovaná)

8.4 Transakčné spracovanie
Transakcia je proces, ktorý považujeme na danej rozlišovacej úrovni na ďalej nedeliteľný celok meniaci databázu y jedného konzistentného stavu do druhého konzistentného stavu. Pričom transakcie môžeme charakterizovať nasledovnými vlastnosťami: atomicita, izolovaná návratnosť, permanentnosť, usporiadanosť. Transakcie môžeme rozdeliť podľa viacerých kritérií ako napr. podľa počtu uzlov a mieste vykonávania: lokálne, globálne, primárne, čiastkové; podľa trvania: on-line, dávková. Dôležitými prvkami daných systémov sú: modul riadenia transakcií (úlohy), ktorý umožňuje analyzovať požiadavky transakcie, rozdelenie transakcie na podtransakcie, spojiť jednotlivé medzivýsledky do konečného riešenia, odovzdať výsledok používateľovi a pod.
Dôležitou úlohou, ktorú je potrebné riešiť pri distribuovaných databázových systémoch je sychronizácia - rieši problém viacnásobného prístupu k jednému a tomu istému dátovému objektu viacerými záujemcami. Existuje viacero prístupov k problému synchronizácie a to napr. pesimistické metódy riadenia transakcií: zámky a značky, časová značka, konflikty, hlasovanie (voiting), time out prostriedok; optimistické metódy (predpokladajú, že ak s dátami pracuje jeden účastník, to ostatní ich nebudú potrebovať (aktualizácie sa neprekrývajú). Ukončenie transakcie môže byť úspešné alebo neúspešné. Pričom pri ukončovaní poznáme dve fázy ukončenia: - ukončenie čiastkových transakcií;- povolenie na uvoľnenie zmien primárnou transakciou.

8.5 Záver distribuovaných databázových systémov
Distribuované databázové systémy ako súčasť distribuovaného spracovania dát začína hrať veľkú úlohu pri riešení mnohých úloh v oblasti techniky (riadenie sieťových odvetví, v oblasti financií, bankovom sektore ale aj čoraz viac pri riešení úloh riadenia štátu, verejnej správe, pri tvorbe globálnych informačných systémov, v oblasti vzdelávania, e-learningu a pod.