COMPUTERWORLD
pod kapotou
DistribuovanΘ databßzovΘ systΘmy

DistribuovanΘ databßzovΘ systΘmy (DDBS) kombinujφ dv∞ technologie: databßze a komunikace. Vznik t∞chto architektur byl iniciovßn praxφ, kdy v typickΘm p°φpad∞ obsahoval podnikov² informaΦnφ systΘm izolovanΘ ostr∙vky dat, kterΘ bylo pro urΦitΘ u₧ivatelskΘ po₧adavky nutnΘ zpracovßvat najednou, tj. jakoby Ülo o jednu databßzi. Jin²mi slovy °eΦeno, databßze je v takovΘm p°φpad∞ rozlo₧ena na vφce v²poΦetnφch za°φzenφch se samostatn²mi procesory, magnetick²mi disky atd. Jejφ vznik je obvykle dßn zdola-nahoru, sm∞°uje se k integraci. Vedle toho existuje zp∙sob shora-dol∙, kdy projektant zaΦφnß jakoby ôna zelenΘ louceö, pracuje s globßlnφm konceptußlnφm schΘmatem, navrhuje distribuci dat atd. Tento, bohu₧el dnes mΘn∞ Φast² zp∙sob, nabφzφ naopak bohatou teorii, jeho aplikace v praxi vÜak nenφ p°φliÜ rozÜφ°enß.

Vφce procesor∙ ovÜem nenφ jedinou charakteristikou DDBS. Jsou-li procesory umφst∞ny fyzicky pohromad∞, hovo°φ se o paralelnφch architekturßch a dßle pak o paralelnφch databßzov²ch systΘmech. ┌Φel t∞chto systΘmu je takΘ jin² ne₧ u DDBS. Mφsto o integraci dat jde spφÜe o zv²Üenß v²konu centralizovanΘho poΦφtaΦe. Zde se budeme v∞novat p°φpadu DDBS, tj. variant∞, kdy jednotlivΘ procesory jsou fyzicky vzdßlenΘ, tj. umφst∞nΘ na jednotliv²ch mφstech, a s ka₧d²m procesorem je svßzßna n∞jakß dφlΦφ databßze s eventußln∞ nezßvisl²m, tj. autonomnφm provozem. Mφsta jsou propojena telekomunikaΦnφmi linkami. Je z°ejmΘ, ₧e i n∞kterΘ varianty architektury klient-server s daty distribuovan²m mezi server a klienty, lze pova₧ovat za jist² druh DDBS. S╪BD, kter² zabezpeΦuje °φzenφ DDBS se naz²vß distribuovan² S╪BD (DS╪BD).

P°φstupy k DDBS

Zp∙sob∙ jak navrhnout Φi hodnotit DDBS je mnoho. N∞kdy je u₧iteΦnΘ je charakterizovat ve t°ech dimenzφch: autonomie, transparence distribuce a heterogennost.

Autonomie se t²kß distribuce °φzenφ. M∙₧e jφt o t∞snΘ zapojenφ, voln∞jÜφ autonomii Φi ·plnou izolaci. V t∞snΘm spojenφ je distribuovanß databßze vybudovßna nad lokßlnφmi databßzemi. Ka₧dΘ mφsto mß ·plnou znalost o datech v celΘm DDBS a m∙₧e °φdit Φi zpracovßvat po₧adavky vyu₧φvajφcφ data na r∙zn²ch mφstech. P°i voln∞jÜφ autonomii participujφ jednotlivß mφsta ve federaci, tj. jen Φßst jejich dat je sdφlena. Typicky, lokßlnφ systΘm pot°ebuje jistΘ modifikace, aby si byl v∞dom ostatnφch mφst ve federaci. V ·plnΘ izolaci jsou mφsta autonomnφ, nevφ i o sob∞. DS╪BD tvo°φ specißlnφ vrstvu nad lokßlnφmi systΘmy. Schopnosti takovΘho systΘmu koordinovat a optimalizovat Φinnosti nad vφce mφsty jsou dost omezenΘ, Φasto se pracuje pouze s read-only po₧adavky. Ka₧dß z t∞chto variant vy₧aduje jin² p°φstup ke schΘmatu, prost°ednictvφm kterΘho lze klßst globßlnφ po₧adavky.

Transparence distribuce znamenß, do jakΘ mφry je distribuce dat v jednotliv²ch mφstech viditelnß u₧ivatel∙m, Φi aplikacφm. Existuje n∞kolik mo₧nostφ, jak distribuovat data:

  • distribuce zßkladnφch relacφ databßze, tj. jednotkou distribuce je tabulka, kterß je v₧dy celß umφst∞na v mφst∞, kde se nejΦast∞ji pou₧φvß (obr. 1).
  • distribuce odvozen²ch dat, tj. jednotkou distribuce je tabulka, kterß vznikne jako v²sledek dotazu (obr. 2). Je-li vytvo°ena a umφst∞na v danΘm mφst∞, nemß ji₧ ₧ßdnΘ napojenφ na zßkladnφ relace databßze (databßzφ).
  • distribuce typu momentka (snapshot), kterß vznikß podobn∞ jako v p°edchozφm p°φpad∞, pouze s tφm rozdφlem, ₧e data v momentce jsou periodicky aktualizovßna znovuprovedenφm zdrojovΘho dotazu na aktußlnφch zßkladnφch relacφch (obr. 3). Jde o mechanismus podobn² pojmu pohled v SQL, data jsou zde vÜak materializovanß, tj. na danΘm mφst∞ skuteΦn∞ existujφ.
  • replikovanΘ relace, kdy vφcenßsobnΘ kopie jednΘ (logickΘ) tabulky jsou umφst∞ny na r∙zn²ch mφstech v DDBS (obr. 4).
  • fragmentovanΘ relace, kterΘ vzniknou bu∩ horizontßlnφm, vertikßlnφm Φi kombinovan²m rozd∞lenφm zßkladnφch relacφ. V prvnφm p°φpad∞ se relace rozlo₧φ do n∞kolika mno₧in °ßdk∙, v druhΘm p°φpad∞ do n∞kolika mno₧in sloupc∙, poslednφ p°φpad vyu₧φvß aplikaci obou technik (obr. 5). V p°φpad∞ horizontßlnφ fragmentace se pou₧ije pro rozd∞lenφ °ßdk∙ do skupin obvykle n∞jakß podmφnka (m∙₧e zapojit do procesu rozd∞lovßnφ i vzta₧enß data s dalÜφ relace). D∙le₧itΘ kritΘrium pro vertikßlnφ fragmentaci je, aby projekce zßkladnφ relace vedly k bezztrßtovΘ dekompozici relace. Jde o to, aby relaΦnφ spojenφ fragment∙ dalo op∞t p∙vodnφ tabulku. Toho lze dosßhnout nap°. tak, ₧e vÜechny vertikßlnφ fragmenty obsahujφ klφΦ p∙vodnφ tabulky.


mφsto 1 mφsto 1

DB R1 DB R3 R3=f (R1,R2)

R1 R1

R2 mφsto 2 R2 mφsto 2

R2 R4 R 4=g(R1,R2)

 

Obr.1: Distribuce relacφ Obr. 2: Distribuce odvozen²ch dat

mφsto 1 mφsto 1

DB f R3 DB R1

R1 R1 R2

R2 R2 mφsto 2

g R4 R1

R2

Obr. 3: Distribuce typu momentka

Obr. 4. ReplikovanΘ relace

mφsto 1

DB R11

R1 R21

R2 mφsto 2 R1 = R11 È R12

R12 R2 = R21 * R22

R22

Obr. 5: FragmentovanΘ relace

Heterogennost lze v DDBS chßpat r∙zn∞. M∙₧e jφt o r∙zn² hardware v jednotliv²ch mφstech, lokßlnφ S╪BD mohou b²t takΘ r∙zn²ch typ∙, nebo dokonce nad r∙zn²mi databßzov²mi modely. R∙znΘ mohou b²t i p°φsluÜnΘ operaΦnφ systΘmy, Φi komunikaΦnφ protokoly

Architektura schΘmat v DDBS

P∙vodnφ p°φstup k DDBS veden² nßvrhem shora dol∙ nabφzφ rozsßhlou obecnou architekturu schΘmat (obr. 6), kterß je mo₧nΘ p°i nßvrhu vyu₧φt. Globßlnφ dotaz je formulovßn nad globßlnφm konceptußlnφm schΘmatem (resp. globßlnφm externφm schΘmatem), globßlnφ schΘma distribuce °φkß, na kter²ch mφstech a v jak²ch kopiφch jsou data distribuovßna, schΘma lokßlnφ reprezentace definuje, co se vlastn∞ exportuje z mφst do celku, lokßlnφ konceptußlnφ schΘmata (v event. r∙zn²ch modelech) popisujφ konceptußln∞ data v  mφstech, lokßlnφ internφ schΘma lze v mφst∞ ztoto₧nit nap°. s databßzov²m schΘmatem.

 

mφsto 1 mφsto n

 

Globßlnφ externφ schΘma ... Globßlnφ externφ schΘma

 

 

Globßlnφ konceptußlnφ schΘma

 

 

Globßlnφ schΘma distribuce

 

 

SchΘma lokßlnφ reprezentace SchΘma lokßlnφ reprezentace

 

 

Lokßlnφ konceptußlnφ schΘma Lokßlnφ konceptußlnφ schΘma

 

 

Lokßlnφ internφ schΘma Lokßlnφ internφ schΘma

 

Obr. 6 SchΘmata v DDBS

Charakteristiky DS╪BD

JakΘ charakteristiky by m∞l spl≥ovat ôopravdov²ö DS╪BD, popsal v roce 1987 snad nejznßm∞jÜφ databßzov² konzultant a publicista Chris Date. Jeho 12 pravidel lze rozlo₧it podle v²Üe uveden²ch dimenzφ, tj. autonomie (A), distribuce (D) a heterogennosti (H).

A1. Lokßlnφ autonomie. V ka₧dΘm mφst∞ jsou data °φzena lokßlnφm S╪BD, vΦetn∞ integrity, utajenφ apod.

A2. Ve vÜech slu₧bßch se nespolΘhß se na ₧ßdnΘ centrßlnφ mφsto. VÜe je distribuovanΘ.

A3. Kontinußlnost. Provoz v jednom mφst∞ (nap°. upgrade S╪BD, odstran∞nφ jednΘ tabulky apod.) by nem∞l p°φliÜ naruÜovat provoz DDBS jako celku.

D4. Nezßvislost na mφst∞. U₧ivatel nemusφ v∞d∞t, kde jsou ulo₧ena pot°ebnß data.

D5. Nezßvislost na fragmentaci. U₧ivatel nemusφ v∞d∞t, kde jsou ulo₧eny fragmenty relacφ, realizuje-li sv∙j po₧adavek. (Toto pravidlo m∙₧e b²t v konfliktu s A1).

D6. Nezßvislost na replikaci. Jde o podobnΘ zßsady jako D5.

D7. Mo₧nost distribuovanΘho zpracovßnφ dotazu. Nem∞lo by b²t nutnΘ p°esouvat zbyteΦn∞ data ke zpracovßnφ dotazu do jednoho mφsta.

D8. DistribuovanΘ zpracovßnφ transakcφ. Pou₧φvß se dvoufßzov² potvrzovacφ protokol (2PC) - viz Databßzovß abeceda CW51, 1996). Op∞t m∙₧e dojφt ke konfliktu s A1. Je toti₧ zv²Üen² tlak na blokovßnφ dat v danΘm mφst∞ kv∙li Φekßnφ na potvrzenφ dφlΦφch transakcφ v jin²ch mφstech.

H9. Nezßvislost na hardware.

H10. Nezßvislost na operaΦnφm systΘmu.

H11. Nezßvislost na sφti.

H12. Nezßvislost na S╪BD.

Vznik pojmu distribuovanΘho S╪BD se datuje do poΦßtku 70. let, do doby v²voje v²zkumnΘho projektu IBM - systΘmu R* . DalÜφ dodßvkou distribuovanΘ architektury IBM je DRDA (distributed relational data architecture). Jde o pokus integrovat data rozmφst∞na na poΦφtaΦφch pod r∙zn²mi verzemi S╪BD DB2. Prvnφm produktem v tΘto oblasti byl z°ejm∞ INGRES/Star, ohlßÜen² v r. 1987. I kdy₧ ORACLE pou₧φval distribuovanΘ rysy koncem 80. let, skuteΦnß podpora distribuovanΘho databßzovΘho zpracovßnφ je a₧ ve verzi ORACLE 7 z r. 1993.

Praxe ukßzala, ₧e tak jak jsou DDBS koncipovßny v Dateov²ch pravidlech a v teorii 70. a 80. let, vznikß °ada problΘm∙, jejich₧ d∙sledkem je implementace pouze torza p∙vodnφch idejφ. Pat°φ mezi n∞ nap°.: °φzenφ katalogu dat, umφst∞nφ (distribuce) schΘmatu, detekce Φi p°edchßzenφ uvßznutφ, synchronizace aktualizacφ. S poslednφm bodem souvisφ ji₧ zmφn∞n² populßrnφ mechanismus 2PC, kter² zamykß synchronn∞ vÜechny kopie nutnΘ pro spln∞nφ po₧adavku a₧ do okam₧iku, kdy odpov∞dnΘ mφsto neobdr₧φ zprßvu o potvrzenφ. SouΦasnΘ tzv. replikaΦnφ servery °eÜφ dan² problΘm mnohem voln∞ji a pro v∞tÜinu praxe postaΦujφcφm zp∙sobem. Zaslou₧φ si samostatnΘ heslo v n∞kterΘ z p°φÜtφch pokraΦovßnφ databßzovΘ abecedy.



<seznam dφl∙ serißlu>   <COMPUTERWORLD>