1.57k likes | 1.78k Vues
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.
E N D
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 -
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 -
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 -
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 -
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 -
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 -
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 -
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 -
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 -
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 -
Porazdeljena arhitektura Porazdeljena PB Vozlišče 2 Vozlišče 3 Vozlišče 1 Komunikacijsko omrežje Vozlišče 5 Vozlišče 4 - 11 -
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 -
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 -
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 -
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 -
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 -
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 -
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 -
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 -
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 -
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 -
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 -
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 -
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 -
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 -
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 -
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 -
Referenčna arhitektura za SUPB Ponovitev ANSI-SPARC tri-nivojska arhitektura - 28 -
Referenčna arhitektura za SUPPB Zaradi različnih vrst SUPPBtežko določiti referenčno. Shema predstavlja zgoljprimer. - 29 -
Referenčna arhitektura za FDBS Tesno sklopljenaarhitektura - 30 -
P 2.3 Fragmentacija, replikacija in alokacija Kaj si bomo pogledali? • Fragmentacija podatkov • Replikacija podatkov • Alokacija podatkov - 31 -
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 -
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 -
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 -
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 -
Horizontalni fragment Vertikalni fragment DELAVEC - 36 -
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 -
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 -
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 -
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 -
Vertikalna fragmentacija… DELAVEC Osebni podatki Službeni podatki Potrebujemo vsaj en enoličen atribut za povezavo (ključ ali kandidat za ključ) - 41 -
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 -
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 -
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 -
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 -
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 -
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 -
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 -
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 -
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 -