1 / 155

Poglavje II Porazdeljene podatkovne baze

Poglavje II Porazdeljene podatkovne baze. Osnovni koncepti Vrste SUPPB Fragmentacija, replikacija in alokacija podatkov Ravni transparentnosti v SUPPB Porazdeljeno procesiranje transakcij Obnavljanje podatkov v porazdeljenih sistemih. P 2.1. Osnovni koncepti.

jonny
Download Presentation

Poglavje II Porazdeljene podatkovne baze

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Poglavje II Porazdeljene podatkovne baze • Osnovni koncepti • Vrste SUPPB • Fragmentacija, replikacija in alokacija podatkov • Ravni transparentnosti v SUPPB • Porazdeljeno procesiranje transakcij • Obnavljanje podatkov v porazdeljenih sistemih - 1 -

  2. P 2.1 Osnovni koncepti • Razlogi za pojav porazdeljenih PB • Osnovne definicije • Razlika med paralelnimi in porazdeljenimi PB • Arhitekture porazdeljenih PB • Prednosti porazdeljenih PB • Dodatne funkcije porazdeljenih PB Kaj si bomo pogledali? - 2 -

  3. Pojav porazdeljenih podatkovnih baz • Porazdeljene podatkovne baze se pojavijo kot odziv na porazdeljeno procesiranje in računanje, ki je zaznamovalo področje operacijskih sistemov. • V raziskovalni sferi veliko truda vložijo v porazdeljenost podatkov. Nekatera področja so zelo težavna: • Porazdeljeno poizvedovanje • Obvladovanje transakcij • Varnost podatkov • Upravljanje z meta-podatki - 3 -

  4. Definicije • Porazdeljena podatkovna baza (PPB)predstavlja nabor več logično povezanih podatkovnih baz, fizično razpršenih (porazdeljenih) po računalnikih, povezanih z računalniškim omrežjem. • Sistem za upravljanje s PPB (SUPPB)predstavlja programsko opremo, ki omogoča upravljanje s PPB na način, ki je uporabniku transparenten. - 4 -

  5. Lastnosti porazdeljenih sistemov • Lastnosti SUPPB: • zajema eno samo logično podatkovno bazo, ki je razdeljena na fragmente. • Fragmenti so shranjeni na enem ali več računalnikih pod nadzorom ločenih SUPB-jev. • Fragmenti so lahko replicirani. • Računalniki so povezani s komunikacijskim omrežjem. • SUPB na povezanih računalnikih samostojno obdelujejo lokalne podatke. • Vsak SUPB na povezanih računalnikih sodeluje v vsaj eni globalni aplikaciji. • Porazdeljenost PB je za uporabnike transparentna. - 5 -

  6. PPB in porazdeljeno procesiranje • Porazdeljene podatkovne baze so fizično porazdeljene po več računalnikih. • Če so podatki centralizirani, gre zgolj za porazdeljeno procesiranje, četudi do podatkov dostopa lahko več uporabnikov. - 6 -

  7. Paralelne in porazdeljene PB… • Paralelne in porazdeljene PB se razlikujejo. • Paralelne PB označujejo PB, ki tečejo na več enakih sistemih (so narejene tako, da tečejo na več procesorjih in diskih) z namenom, da lahko izvajajo več operacij vzporedno. Cilj je povečati učinkovitost. • Porazdeljene PB so navadno heterogene - porazdeljene po sistemih z različno strojno in programsko opremo. - 7 -

  8. Paralelne in porazdeljene PB • Tipične arhitekture za paralelne PB: • Deljen spomin (tesno povezana arhitektura): več procesorjev si deli skupen sekundarni in primarni pomnilnik. • Deljeno diskovje (rahlo povezana arhitektura): več procesorjev si deli skupen sekundarni pomnilnik; vsak ima svoj primarni spomin. • Brez deljenih sredstev: vsi procesorji imajo svoj primarni in sekundarni pomnilnik. • Katera arhitektura je najbližja porazdeljenim PB? - 8 -

  9. Paralelna PB Shema arhitekture brez deljenih sredstev Računalniški sistem 1 Računalniški sistem 2 DB DB Procesor Procesor Spomin Spomin VODILO Računalniški sistem 3 DB Procesor Spomin - 9 -

  10. Centralizirana arhitektura Porazdeljeno procesiranje DB1 Centralno vozlišče LJUBLJANA DB2 Vozlišče NOVO MESTO Vozlišče CELJE Komunikacijsko omrežje Vozlišče MARIBOR Vozlišče POSTOJNA - 10 -

  11. Porazdeljena arhitektura Porazdeljena PB Vozlišče 2 Vozlišče 3 Vozlišče 1 Komunikacijsko omrežje Vozlišče 5 Vozlišče 4 - 11 -

  12. Podatkovna distribucija in replikacija DELAVEC 1 * DELA NA * Delavci: vsi Projekti: vsi Dela_na: vsi 1 PROJEKT LJUBLJANA Sedež podjetja Delavci: NM + MB Projekti: NM Dela_na: za delavce iz NM Delavci: CE Projekti: vsi Dela_na: za delavce iz CE NOVO MESTO CELJE Komunikacijsko omrežje Delavci: MB Projekti: MB+NM Dela_na: za delavce iz MB Delavci: PO Projekti: PO Dela_na: za delavce iz PO MARIBOR POSTOJNA - 12 -

  13. Prednosti in slabosti PPB... • Prednosti PPB: • Lahko izražajo porazdeljeno organizacijsko strukturo • Izboljšajo porazdeljenost (dostop do vseh podatkov) in avtonomnost (podatki tam, kjer se uporabljajo) • Izboljšajo razpoložljivost (sistem je porazdeljen. Če odpove eno vozlišče, so druga še vedno dostopna) • Izboljšajo zanesljivost (replikacija) • Izboljšajo učinkovitost (podatki porazdeljeni glede na poizvedovanje, paralelnost,...) - 13 -

  14. Prednosti in slabosti PPB... • Prednosti PPB (nadaljevanje): • Ekonomičnost • 1960´ - Grosch’s Law (računska moč = cena2) npr. za trikrat večjo ceno dobimo devet krat večjo računsko moč • Danes: ceneje sestaviti sistem iz manjših računalnikov kot kupiti enega večjega! Prenos podatkov po omrežju tudi stane! • Modularna gradnja (enostavna razširljivost) • Integracija (osnovna motivacija razvoja SUPB je integracija, ne centralizacija) • Konkurenčnost (številne nove IT zahtevajo porazdeljenost, npr. e-business, skupinsko delo, obvladovanje procesov). - 14 -

  15. Prednosti in slabosti PPB • Slabosti PPB: • Kompleksnost (transparentnost porazdelitve, replikacija,...) • Cena (strošek nabave in vzdrževanja, strošek komunikacije) • Varnost (podatki na več mestih; varnost komunikacijskega omrežja) • Težje zagotavljati podatkovno skladnost • Pomanjkanje standardov • Pomanjkanje izkušenj • Kompleksno načrtovanje - 15 -

  16. SUPPB iz vidika strojne opreme • Z vidika strojne opreme se porazdeljen SUPB od centraliziranega loči predvsem v naslednjih elementih: • Obstaja več računalnikov, imenovanih mesta ali vozlišča • Mesta oziroma vozlišča so povezana z računalniškim omrežjem, ki omogoča prenos podatkov in ukazov. • Mesta ali vozlišča so lahko v neposredni bližini, lahko pa jih ločijo zelo velike razdalje. - 16 -

  17. Vpliv topologije omrežja • Topologija omrežja ima lahko velik vpliv na učinkovitost in tudi realizacijo porazdeljenih sistemov. • Posebnosti računalniških omrežij, ki vplivajo na porazdeljene sisteme, ne bomo obravnavali. • V nadaljevanju predpostavljamo, da neka omrežna povezava med vozlišči obstaja (ne glede na njeno topologijo). - 17 -

  18. P 2.2 Vrste sistemov za upravljanje s PPB Kaj si bomo pogledali? • Homogeni in heterogeni sistemi • Federirani in več-bazni sistemi • Funkcionalnosti in arhitekture SUPPB - 18 -

  19. Razlike med različnimi SUPPB • Obstajajo številne vrste SUPPB • Dva pomembna kriterija, po katerih se SUPPB razlikujejo, sta: • Stopnja homogenosti in • Stopnja lokalne avtonomnosti Stopnja lokalne avtonomnosti Stopnja homogenosti PB brez lokalne avtonomnosti Več-bazni infederirani sistemi Homogene PB Heterogene PB - 19 -

  20. Homogeni in heterogeni SUPPB... • Homogeni SUPPB: • Vsa mesta uporabljajo enak SUPB; • Enostavni za načrtovanje in obvladovanje; • So razširljivi (enostavno dodajanje novih mest); • Omogočajo paralelnost izvajanja. - 20 -

  21. Homogeni in heterogeni SUPPB • Heterogeni SUPPB: • Mesta uporabljajo različne SUPB. Lahko temeljijo na različnih podatkovnih modelih (relacijskih, objektnih,...) • Navadno so posledica integracije sistemov, ki so samostojno nastali v različnih časovnih obdobjih; • Za razumevanje med različnimi SUPB so potrebne prevedbe; • Prevedbe se obnesejo za poizvedovanja, problematično obvladovanje transakcij, zagotavljanje sočasnosti dostopa, obnovitev podatkov ipd.; • Potrebno zagotoviti globalno konceptualno shemo; • Težko zagotoviti transparentnost heterogenosti za uporabnika; - 21 -

  22. Več-bazni sistemi… • Več-bazni sistemi: poseben primer SUPB, kjer ima vsako mesto popolno avtonomijo. • Ideja: logična integracija več povezanih SUPB, kjer ima vsak SUPB popoln nadzor nad lokalnimi operacijami. • Nad posameznimi SUPB še dodaten nivo programske opreme, ki skrbi za skupno funkcionalnost. • Celovita integracija lokalnih shem ni potrebna. • Lokalnim skrbnikom je omogočena administracija lokalnih SUPB. • Lokalni skrbniki določijo dele modela, ki bodo vidni zunanjim uporabnikom (export schema). - 22 -

  23. Več-bazni sistemi… • Več-bazni sistemi: • Zahtevajo dodatno raven programske opreme, ki predstavlja skupen vmesnik do podatkovnih in datotečnih sistemov. • Za uporabnike dodatna raven transparentna; Uporabnik vidi cel sistem kot eno bazo. • Vzdržujejo zgolj globalno shemo, ki je na voljo za poizvedovanje in spreminjanje podatkov. Lokalni SUPB vzdržujejo svoje podatke sami. • Več-bazni sistemi poskrbijo za potrebna prevajanja poizvedb ter nadzirajo transakcije, združujejo delne rezultate… - 23 -

  24. Federirani več-bazni sistemi… • Obstajajo nefederirani (ni lokalnih uporabnikov) in federirani več-bazni sistemi (FDBS - federated DB systems). • FDBS so hibridi med centraliziranimi in porazdeljenimi baznimi sistemi. • Za globalne uporabnike so porazdeljeni, za lokalne pa centralizirani. • Gre za sisteme z neodvisnimi strežniki, centraliziranimi SUPB-ji z visoko stopnjo lokalne avtonomnosti (lokalni uporabniki, lokalne transakcije, lokalni DBA,…) • Uporabljajo globalno shemo federacije podatkovnih baz, ki je na voljo aplikacijam. - 24 -

  25. Federirani več-bazni sistemi… • FDBS so lahko popolnoma heterogeni. • Na enem strežniku je relacijski SUPB, na drugem mrežni, na tretjem objektni ipd. • V takem primeru je potrebno uporabljati neodvisen jezik ter translatorje, ki ta jezik pretvorijo v posameznim sistemom ustrezno sintakso. - 25 -

  26. Federirani več-bazni sistemi • Razlogi za heterogenost v FDBS: • Razlike v podatkovnih modelih • Razlike v omejitvah • Razlike v poizvedovalnih jezikih • Kadar se pojavijo razlike v interpretaciji, pomenu in namenu uporabe istih ali povezanih podatkov, govorimo o semantični heterogenosti. • Semantična heterogenost - ena največjih preprek pri gradnji globalnih shem heterogenih sistemov. - 26 -

  27. Funkcionalnosti SUPPB • SUPPB mora zagotavljati vsaj naslednje funkcije: • Vodenje evidence o lokaciji podatkov (porazdelitev, fragmentacija, replikacija) – razširitev sistemskega kataloga; • Porazdeljeno izvajanje poizvedb • Obvladovanje porazdeljenih transakcij • Obvladovanje replikacije • Obnavljanje PPB po nesrečah • Zagotavljanje varnosti • Vodenje razširjenega kataloga • Za nekatere funkcije, ki so za SUPPB nujne, še vedno ni učinkovitih rešitev. - 27 -

  28. Referenčna arhitektura za SUPB Ponovitev ANSI-SPARC tri-nivojska arhitektura - 28 -

  29. Referenčna arhitektura za SUPPB Zaradi različnih vrst SUPPBtežko določiti referenčno. Shema predstavlja zgoljprimer. - 29 -

  30. Referenčna arhitektura za FDBS Tesno sklopljenaarhitektura - 30 -

  31. P 2.3 Fragmentacija, replikacija in alokacija Kaj si bomo pogledali? • Fragmentacija podatkov • Replikacija podatkov • Alokacija podatkov - 31 -

  32. Načrtovanje PPB… • Pri načrtovanju PPB moramo dodatno poskrbeti za: • Fragmentacijo: Kako bomo podatkovno bazo razdelili na segmente? • Alokacijo: Kako bomo podatke porazdelili po vozliščih? • Replikacijo: Ali bomo iste podatke hranili na enem ali več mestih? • Za izvedbo dobrega načrta potrebno analizirati ključne transakcije: • S kakšno frekvenco bodo izvajane posamezne transakcije? Na katerem vozlišču se bodo izvajale? Katere relacije, atribute in zapise obdelujejo? Gre za branje ali pisanje ipd. F A R - 32 -

  33. Načrtovanje PPB • Pri načrtovanju PPB sledimo predvsem naslednjim ciljem: • Lokalnost • Dostopnost • Učinkovitost • Uravnoteženost med lokalnostjo in stroškom podvajanja podatkov • Uravnoteženost med lokalnostjo in replikacijo ter stroški komunikacije po omrežju. - 33 -

  34. F Fragmentacija podatkov v PPB… • V PPB moramo določiti, katero vozlišče naj ima določen segment podatkov. • Vzemimo primer, kjer velja: • Ni replikacije (vsak segment na samo enem vozlišču) • Gre za relacijsko PB (enako bi veljalo za druge vrste PB) • Imamo relacijsko shemo, ki bi jo radi porazdelili po vozliščih - 34 -

  35. Fragmentacija podatkov v PPB… • Preden izvedemo fragmentacijo, določimo logično enoto za fragmentiranje. • Najenostavnejše je za logično enoto vzeti relacijo. • Kadar želimo manjše enote, se navadno odločimo za horizontalne ali vertikalne fragmente posameznih relacij. - 35 -

  36. Horizontalni fragment Vertikalni fragment DELAVEC - 36 -

  37. Horizontalna fragmentacija... • Horizontalni fragment relacije je podmnožica n-teric relacije. • N-terice, ki spadajo v fragment, so določene s pogojem nad enim ali več atributov relacije. • Pri horizontalni fragmentaciji dobimo podmnožice n-teric, ki imajo nek logični pomen. • Izpeljana horizontalna fragmentacija – fragmentiranje relacije na osnovi povezanih relacij… - 37 -

  38. Horizontalna fragmentacija... • Horizontalni fragment nad relacijo R lahko zapišemo kot Ci(R), kjer je: •  selekcija (operacija relacijske algebre) • Ci; i = 1..n nabor pogojev • R relacija • Kadar vsaka n-terica relacije R zadošča pogoju (C1OR C2OR … OR Cn) pravimo, da gre za popolno horizontalno fragmentacijo. - 38 -

  39. Horizontalna fragmentacija • Kadar je horizontalna fragmentacija disjunktna, velja, da nobena n-terica ni v več kot enem fragmentu. • Tedaj velja, da nobena n-terica ne zadošča pogoju (CiAND Cj), kjer i ≠ j • Kader je v uporabi horizontalna fragmentacija, lahko osnovno relacijo rekonstruiramo s pomočjo operacije UNION. - 39 -

  40. Vertikalna fragmentacija… • Pri vertikalni fragmentaciji relacijo razdelimo vertikalno, po stolpcih. • Smiselno, ko na nekem vozlišču ne potrebujemo vseh atributov relacije… • Opozorilo: z vertikalno fragmentacijo lahko zgubimo podatke! - 40 -

  41. Vertikalna fragmentacija… DELAVEC Osebni podatki Službeni podatki Potrebujemo vsaj en enoličen atribut za povezavo (ključ ali kandidat za ključ) - 41 -

  42. Vertikalna fragmentacija… • Vertikalni fragment nad relacijo R lahko zapišemo kot Li(R), kjer je: •  projekcija (operacija relacijske algebre) • Li; seznam atributov, ki so vključeni v fragment (projekcijski nabor) • R relacija • Množico vertikalnih fragmentov, katerih projekcijski nabori vključujejo vse atribute relacije R (delijo si pa primarni ključ), imenujemo popolna vertikalna fragmentacijo. - 42 -

  43. Vertikalna fragmentacija • V primeru popolne vertikalne fragmentacije velja: • L1 L2  …  Ln = ATTRS(R) • Li Lj = PK(R); za  i ≠ j, kjer je PK(R) primarni ključ relacije R. • Kadar je v uporabi popolna vertikalna fragmentacija, dobimo osnovno relacijo z uporabo zunanjega stika. - 43 -

  44. Hibridna ali mešana fragmentacija • Horizontalni in vertikalni fragmentaciji lahko kombiniramo. • V splošnem lahko fragment nad R določimo z uporabo kombinacije selekcija-projekcija. L( C(R) ) • Če C = true in L ≠ ATTRS(R)  vertikalni fragment • Če C ≠ true in L = ATTRS(R)  horizontalni fragment • Če C ≠ true in L ≠ ATTRS(R)  mešani fragment - 44 -

  45. R Podatkovna replikacija… • Z replikacijo večamo razpoložljivost podatkov. • Polno replicirana PPB ima na vseh vozliščih vse podatke. Podatki so na voljo, če vsaj eno vozlišče deluje. • Veča učinkovitost globalnih poizvedb (podatki so velikokrat najdeni lokalno). • Močno obremeni sistem ob spremembah (dodajanje, spreminjanje) • Drug ekstrem so PPB brez replikacije. Vsak fragment se nahaja na natanko enem vozlišču. - 45 -

  46. Polna replikacija Brez replikacije Podatkovna replikacija • Parcialne replikacije so značilne za okolja, kjer zaposleni delajo na terenu • PB nosijo s seboj na teren • Kasneje replicirajo s centralnim strežnikom. Parcialne replikacije Intenzivnost replikacije - 46 -

  47. A Alokacija podatkov… • Vsak fragment (in vsaka njegova kopija) mora biti dodeljen nekemu vozlišču v porazdeljenem sistemu. • Proces dodeljevanja imenujemo podatkovna alokacija ali podatkovna distribucija. • Izbira vozlišč in stopnje replikacije je odvisna želene učinkovitosti sistema in razpoložljivosti podatkov ter pogostosti in tipa transakcij, ki naj bi na posameznem vozlišču tekle. Optimizacijska naloga - 47 -

  48. Strategije alokacije podatkov… • Ločimo štiri strategije alokacije fragmentov: • Centralizirana: podatki na enem mestu • Porazdeljena: podatki porazdeljeni po mestih; ni replikacije • Polno replicirana: vsako mesto vsebuje popolno kopijo podatkovne baze • Delno replicirana: nekateri podatki so replicirani na več mestih - 48 -

  49. Strategije alokacije podatkov • Kriteriji za primerjavo strategij: • Lokalnost • Zanesljivost in razpoložljivost • Učinkovitost • Stroški shranjevanja • Stroški komunikacije * velja, če dobro načrtovana porazdelitev - 49 -

  50. P 2.4 Ravni transparentnosti v SUPPB Kaj si bomo pogledali? • Ravni transparentnosti v SUPPB in njihov pomen • Transparentnost porazdeljenosti • Transparentnost transakcij • Transparentnost učinkovitosti • Transparentnost SUPB • Dvanajst pravil za SUPPB - 50 -

More Related