|
|
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:
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> |