You are on page 1of 24

VISOKA TEHNIKA KOLA NI

SEMINARSKI RAD
Dizajn distribuirane baze
Predmet: Distribuirane baze podataka

Mentor: Dr Borivoje Miloevi


2013

Student: Jasmina orevi RTs 21/12

Dizajn distribuirane baze


Problem dizajna Dizajn strategije ( top-down, bottom-up) Fragmentacija Alokacija i replikacija fragmenata , optimalnost .

Problem dizajna Problem dizajna distribuiranih sistema je donoenje odluke o plasmanu podataka i programa irom sajtova raunarske mree , kao i eventualno projektovanju same mree. U DDBMS ,distribucija aplikacija ukljuuje: - Distribucija DDBMS softvera. - Distribucija aplikacija koje se pokre u na ba i. - Distribucija aplikacija ne e biti ra matrana ukoliko je ve a raspodela podataka a i uavanje.

Okvir distribucije Dimen ija a anali u distribuiranih sistema - Nivo razmene : ne deljenje, deljenje podataka , podaci + program za deljenje. - Ponaanje pristupnih obra aca : statika , dinamika. - Nivo nanja o ponaanju pristupnom obrascu : nema informacija, delimina informacija, kompletne informacije.

Distribuirana ba a di ajn treba posmatrati u okviru ovog opteg okvira. Dizajn Strategije Top-down pristup - Projektovanje sistema od nule - Homogeni sistem Bottom-up pristup - Baze podataka ve postoje na vie mesta - Baze podataka bi trebala da bude pove ana kako bi mogla da reava ajednike adatke. Dizajn Strategije . . . Top-down dizajn strategija

Dizajn Strategije . . . Distribucija di ajna je centralni deo dizajna u DDBMSs ( ostali zadaci slini tradicionalnim bazama podataka). - Cilj : Dizajnirajte LCSs distribucijom entitete ( odnosi ) nad sajtovima. - Dva glavna aspekta moraju da budu paljivo di ajnirana: * Fragmentacija Ve a se moe podeliti u nekoliko pod- odnosa, koji se distribuira. * Dodela i replikacija Svaki fragment se uva na lokaciji sa " optimalne " raspodele. Kopija fragment moe odravati na vie lokacija. U ovom poglavlju se uglavnom koncentriemo na ova dva aspekta. Distributivni di ajn pitanja - Zato fragment uopte? - Kako fragmenta ? - Koliko fragmenta ? - Kako da se testira ispravnost ? - Kako da se izdvoji ? Dizajn Strategije . . . Bottom-up dizajn strategija

Fragmentacija
ta je razumna jedinica distribucije? Veza ili fragment odnosa? Odnosi kao jedinica distribucije : - Ako se odnos nije kopirao , dobijamo veliku koliinu podataka udaljenih prila a . - Ako se odnos ponavlja , dobijamo nepotrebne replikacije , koje izazivaju probleme u i vravanju ispravke i gube prostor na disku. - Moda je u redu reenje, ako je potrebno sakupiti sve podatke u odnosu na boravak i podatke sajtova koji koristi podatke baze. Fragmenti odnosa kao jedinice distribucije : - Primena pregleda obino podgrupe odnosa - Tako je , lokalitet prilaza aplikacija definisan na podgrupe odnosa - Dozvole broj transakcija istovremeno i vravaju, jer e pristupiti ra liiti delovi odnosa - Paralelno i vrenje jednog upita ( intra- upit konkurentnost ) - Meutim , semantika kontrola podataka (posebno integritet i vrenje) je tea. Fragmenti odnosa su ( obino) odgovaraju e jedinice distribucije.

Fragmentacija . . .
Fragmentacija ima a cilj da pobolja : - Pouzdanost - Performanse - Uravnoteen kapacitet i trokovi - Komunikaciju trokova - Bezbednost Slede e informacije se koristi da odlue fragmentaciju : - Kvantitativne informacije : uestalost upita, sajt , gde se upit pokrene, selektivnost upita, itd. - Kvalitativni podaci : vrste pristupa podacima, itanje / pisanje , itd.

Fragmentacija . . .
Vrste Fragmentacije - Horizontalna : particije odnos du rekorda - Vertikalni : particije odnos du atributa - Meoviti / hibrid: kombinacija horizontalne i vertikalne fragmentacije

(A) Horizontalna Fragmentacija

(B) Vertikalna fragmentacija

(C) Meovita Fragmentacija

Fragmentacija . . . Primer:

Fragmentacija . . . Primer ( nastavak) : Hori ontalna fragmentacija pro odnosa - PROJ1 : projekti sa budetima manje od 200 , 000 - PROJ2 : projekti sa budetom ve im od ili jednak 200 , 000

Fragmentacija . . . Primer ( nastavak ): Vertikalna fragmentacija pro odnosa - PROJ1 : Informacije o projektu budeta - PROJ2 : Informacije o projektu imenima i lokacijama

Ispravnost pravila fragmentacije Kompletnost - Dekompo icija relacije R na fragmente R1 , R2 . . . , Rn se avri IFF svaki podatak u R mogu se na i u nekim Ri . Rekonstrukcija - Ako relacija R se dekomponuje na fragmente R1 , R2 . . . , Rn , onda treba da postoji neki relacioni operater da rekonstruie R od svojih fragmenata , odnosno R = R1 . . Rn. * Unija kombinovanje horizontalnih fragmente * Pridruite se kombinuju vertikalne fragmente Disjointness - Ako relacija R se dekomponuje na fragmente R1 , R2 . . . , Rn i podatak di pojavljuje u fragment RJ, onda di ne treba da se pojavi u bilo kom drugom fragment Mj , q 6 = j ( i u etak: primarni klju atribut za vertikalni fragmentaciju ) * Za horizontalne fragmentacije, podatak je torka * Za vertikalnu fragmentacije, podatak je atribut. Horizontalna Fragmentacija - Horizontalna fragmentacija: je fragmentacija slogova i ona se naje e koristi kod jednostavnih upita. Iz tog razloga horizontalnu fragmentaciju zovemo i intuitivnom. Kod nje svaka lokacija bi trebalo da sadri sve informacije koje se koriste prilikom upita, dok bi informacije na lokaciji trebale biti fragmentisane kako bi odgovori na upite bili bri. - Horizontalna fragmentacija je definisana kao operacija selekcije, p(R), to nai da su rezultati kompleksniji, odnosno da, kao za jednostavan upit, po svojoj prirodi ona nije u stanju da i vri visoku selekciju potrebnih podataka, ve vra a veliku koliinu podataka od kojih verovatno jedan deo nije od interesa za korisnika. Prednost ovog naina selekcije je njegova
9

br ina i vrenja a negativna strana je cena i vrenja to se manifestuje velikim dotokom podataka na klijentsku stranu. Intuicija i a hori ontalne fragmentacije - Svaki sajt bi trebalo da odri sve informacije koje se koristi za upit na sajtu. - Informacije na sajtu treba da budu rascepkani pa upita na sajtu tri bre Hori ontalna fragmentacija se definie kao i bor operacije _p(R) Primer: BUDET < 200000 ( PROJ ) BUDET 200000 ( PROJ ) Horizontalna Fragmentacija . . . Raunarski hori ontalna fragmentacija ( ideja ) - I raunati uestalost pojedinanih upita na sajtu q1 . . . , qq - Prepiite upite na sajtu spojeno normalnoj formi ( disjunkcija od veznici ) su veznici nazivaju minterms . - I raunati selektivnosti minterms - Pronaite minimalni i kompletan set minterms ( predikati ) *Skup predikata se avriti ako i samo ako je bilo dva rekorda u istom fragmentu su navedene sa istom verovatno om od bilo koje aplikacije *Skup predikata je minimalan ako i samo ako postoji bar jedan upit koji pristupa fragmentu - Postoji algoritam kako da pronaete ove fragmente algoritamski (algoritam CON MIN i PHORIZONTAL (pp 120-122 ) udbenika kursa ) Horizontalna Fragmentacija . . . Primer: Fragmentacija projek odnosa - Ra motrite slede i upit: Pronaite ime i budet projekata dali svoje PNO . -Upita se izdaje na sva tri lokaliteta - Fragmentacija na osnovu LOC , koriste i skup predikata / minterms { LOC = ' Montrealu ", loc =' NevI ork ', LOC =' Pariz '}

10

Ako je pristup samo po lokaciji, iznad skup predikata je kompletan. - Odnosno , svaka torka svakog fragmenta PROJi ima istu verovatno u da joj se pristupi. Ako postoji drugi upit aplikaciji e da pristupi, samo one projekat torke gde je budet manji od $ 200000 , skup predikata nije potpun. - P2 u PROJ2 ima ve u verovatno u da se pristupi.

Horizontalna Fragmentacija . . . Primer ( nastavak) : - Dodajte BUDET 200000 i budet > 200000 skupu predikata da ga avri. { LOC = ' Montrealu ", loc =' NewYork ', LOC =' Pariz ', BUDET 200000 , BUDET < 200000 } jekompletan skup - Minterms u fragmentuodnos dati na slede i nain : ( LOC = ' Montrealu ') ( BUDET 200000 ) ( LOC = ' Montrealu ') ( BUDET > 200000 ) ( LOC = ' NevI ork ') ( BUDET 200000 ) ( LOC = ' NevI ork ') ( BUDET > 200000 ) ( LOC = ' Pariz ') ( BUDET 200000 ) ( LOC = ' Pariz ') ( BUDET > 200000 ) Horizontalna Fragmentacija . . . Primer ( nastavak) : Sada PROJ2 e biti podeljen u dva fragmenta

11

- PROJ1 i PROJ2 bi bio podeljen na slian nain, ako torke sa budetima manji i ve i od 200.000 e biti uskladiten. Horizontalna Fragmentacija . . . U ve ini sluajeva intuicija moe da se koristi a i gradnju hori ontalne particije. Neka t1, t2 , t3 }, { t4 , t5 } i { T2, T3 , T4 , T5 } se upita rezultati. Onda torke bi fragmentirano u slede i nain :

Vertikalna Fragmentacija
Cilj vertikalne fragmentacije je da podeli odnos u skup manjih odnosa tako da e mnoge od tih aplikacija raditi samo na jednom fragmentu . Odnosno,vertikalna fragmentacija: je usmerena na particionisanje relacije u mnotvo manjih relacija tako da vie aplikacija moe biti pokrenuto na samo jednom fragmentu, odnosno definiemo na neki nain paraleli am i vravanja. Ono to se odmah vidi je da je vertikalna fragmentacija neizostavno komplikovanija od horizontalne fragmentacije. Vertikalna fragmentacija relacije R proi vodi fragmente R1, R2,..., od kojih svaki sadri podskup osobina relacije R.. Definisana je kori enjem operacije projekcije relacione algebre A1,A2,...An (R). Primer: PROJ1 = PNO , BUDET ( PROJ ) PROJ2 = PNO , PNAME
, LOK

( PROJ )

Vertikalna fragmentacija je takoe studirao a ( centrali ovane ) DBMS. - Manji odnosa, a samim tim i manje stranica pristupi. - Npr. MONET sistem. Vertikalna fragmentacija . . . Vertikalna fragmentacija je inherentno komplikovaniji nego hori ontalne fragmentacije

12

- U horizontalnom particionisanju: za n prostih predikata, broj mogu ih minterma 2n ( neki od njih mogu biti ne adovoljavaju i a upit, ali je broj neznatno manji ) - U vertikalnom particionisanju: za m ne-primarnih kljunih atributa, broj mogu ih fragmenata je B(m) tj. broj particija sa m stanja B(m) ~ mm * Za velike brojeve , B (m ) mm ( npr. B ( 15) = 109) - Vano je re i da optimalno reenje ne postoji, tako da se primenjuju heuristika reenja. Ovde razlikujemo dva tipa: - Grupisanje : gde se svakom fragmentu pridruuje po jedna osobina, i na svakom koraku, pridruuju se neki fragmenti dok se ne adovolje postavljeni kriterijumi (prila bottom-up) * Bottom-up ( odozdo nagore ) pristup - Deljenje: gde se poinje sa relacijom i onda se donose odluke a povoljno particionisanje, zasnovane na ponaanju pristupne aplikacije prema osobinama (prila top-down). Ovim tipom se dobijaju nepreklapaju i fragmenti sa optimalnim reenjem koje je verovatno blie potpunoj relaciji nego setu malih relacija sa samo jednim atributom, i to je interesantno, ovde se razmatra samo vertikalna fragmentacija. * Top-dovn pristup * Rezultati u ne- preklapaju fragmenata * " Optimalna " reenje je verovatno blie punoj ve i nego skup malih odnosa sa samo jednim atributom. Vertikalna fragmentacija . . . Primena informacije: Glavne informacije potrebne kao ulaz za vertikalnu fragmentaciju se odnosi na primenu. - Od vertikalnih fragmentacijom mesta u jednom fragmentu one atribute obino pristupiti ajedno, postojipotreba a nekom meru koja e definisati preci nije. Pojam " ajednitva ", odnosno , kako su blisko povezani atributi. - Ova informacija je dobijena od upita i prikupljeni u Matriksu Attribute Usage i atributa Affiniti Matriks. Vertikalna fragmentacija . . . S ob irom su korisniki upiti / aplikacije Q = ( q1 , ..., qq ) koji e se prika ivati na relaciji

13

R ( A1, ...,) Osobina Upotreba Matrix: O naava koji query koristi koje pripisuju :

Upotreba (qi , ) vektori a svaku aplikaciju je lako definisati , ako dizajner zna aplikacije koje rade na villl DB . Vertikalna fragmentacija . . . Primer: Ra motrimo slede u relaciju : PROJ ( PNO , PNAME, BUDGET, LOC) i slede i upiti :

Omogu ava skratim A1 , A2 Atribut Upotreba Matrix

PNO

Na iv, A3

budeta, A4

LOC

Vertikalna fragmentacija . . . Osobina Affiniti Matrix : Odlikuje frekvenciju dva atributa Ai i Aj sa potovanjem skupa upita q = ( q1 , ..., qn ):

14

Gde: - ref l ( qk ) je troak ( broj prila a do ( Ai, Aj )) upita qk na sajtu l - accl ( qk ) je uestalost upita qk na sajtu l Vertikalna fragmentacija . . . Primer ( nastavak) : Neka troak svaki upit bude ref l ( qk ) = 1 , a uestalost accl ( qk ) od upita biti kao to sledi :

Atribut Affiniti matrix aff (Ai , Aj ) =

npr . ( q1 je jedino pitanje da pristupi A1 i A3 ) Vertikalna fragmentacija . . . U mite atribut humanitarnu matricu ( AA) i reorgani uje nareenja atributa da formiraju klastere gde su atributi u svakom klasteru pokazuju visok afinitet jedni drugima. Bond energija algoritam ( BEA ) je predloio da bude korisno a tu svrhu iz nekoliko razloga :
15

- On je posebno dizajniran da odredi grupe slinih stavki u odnosu na linearno naruivanje stavki. - Konano grupacije su neosetljivi na redosledu po kome su predstavljeni predmeti. -Raunanje vreme je ra umno ( O ( n2) , gde je n broj atributa ) BEA : - Ulaz: AA matrica - Izlaz: Clustered AA matrice ( CA) - Permutacija se vri na takav nain da maksimalno slede e globalnu mesaure humanitarnu ( afinitet Ai i Aj sa svojim susedima ):

Vertikalna fragmentacija . . . Primer ( nastavak) : Atribut Afinitet Matrix CA nakon pokretanja BEA

Elementi sa slinim vrednostima su grupisani ajedno, i dva klastera se mogu identifikovati. -Dodatna podela algoritam je potrebno da se identifikuju klasteri u CA. * Obino vie klastera i vie od jednog kandidata particionisanja , dakle dodatna koraci su potrebni za izbor najboljeg nagomilavanja . -Rezultat fragmentacija posle podele ( PNO dodaje se u PROJ2 eksplicitno kao klju ):

16

Ispravnost vertikalnih fregmentacija: Ve a R se dekomponuje na fragmente R1 , R2 . . . , Rn npr., PROJ = {PNO,BUDGET, PNAME,LOC} into PROJ1 = {PNO,BUDGET} and PROJ2 = {PNO, PNAME,LOC} Potpunost: - Garantovano je particionisanje algortia , koje dodeljuje svaki atribut u A u jednoj particiji. Rekonstrukcija: - Pridruuje se, i rekonstruie vertikalne fragmente. R = R1 Rn = PROJ1 PROJ2 Pridruena: - Atributi moraju biti razdvojen u VF. Razlikuju se dva sluaja: * Ako torka ID koriste, fragmenti su stvarno disjunktivni. * Inae , kljuni atributi se automatski kopiraju u sistemu. * Npr PNO u gore navedenom primeru. Meovita Fragmentacija U ve ini sluajeva jednostavno hori ontalno ili vertikalno fragmentacija DB eme ne e biti dovoljni da zadovolje zahteve aplikacija. Kombinovana fragmentacija ( fragmentacija hibrid ) : Sastoji se od horizontalne fragmentacije pra ena ili vertikalnom fragmentacijom sledi horizontalna fragmentacija. Fragmentacija je definisana kori enjem i bora projektovanja operacije relacione algebre :

Replikacija i raspodela
- Replikacija (engl. replication) je postupak kopiranja i distribuiranja podataka i objekata iz jedne baze podataka u drugu koji sadri mehani am a sinhroni aciju podataka.

17

- Replikacija nai da na odreenim lokacijama uvamo vie kopija relacija ili relacionih fragmenata. Tada cela relacija moe biti replicirana na vie lokacija. Shodno tome, jedan ili vie fragmenata relacije moe biti repliciran na vie lokacija. Na primer, ako je relacija P, fragmentisana na relacije P1, P2 i P3, moe se predpostaviti da postoji samo jedna kopija relacije P1, dok bi se P2 replicirala na dve lokacije a P3 replicirala na svim lokacijama. Replikaciju moete implementirati i njome moete upravljati putem SQL Server Management Studija, Windows Synchronization Managera ili programski, putem API sistema za replikaciju,

Replikacija:

Koji fragmenti e biti smeteni kao viestruke kopije? -Kompletna replikacija Potpuna kopija cele ba e je podrana na svakom serveru -Selektivna replikacija Selektivni fragmenti se repliciraju na nekim serverima Alokacija : Na kojim sajtovima se skladitite ra liiti fragmenti ? - Centralizovana * Sastoji se od jedne DB i DBMS skladite na jednom mestu da korisnici distribuiraju preko mrea. - Odvojenim * Baza podataka je podeljena u disjunktnih fragment, svaki fragment dodeljen je jednom mestu.

Replikacija . . . Kopiraju DB - Potpuna replikacija: svaki komadi na svakoj lokaciji. - Delimino ponavlja : svaki komadi nekih od sajtova. Ne kopiraju DB ( podeljena DB) - Podeljena : jedni fragment boravi u samo jednom mestu.

18

Replikacija . . .

Poreenje replikacije alternativa

Fragment Alokacija Problem raspodele fragmenta - Dati su: - Fragmenti F = { F1 , F2, ..., Fn } - Sajtovima na mrei S S1, S2, ..., Sm } - I aplikacije Q = { q1 , q2 , ..., ql } - Na i:" optimalan" distribuciju od f do S Optimalnost - Minimalna cena * Komunikacija + skladitenje + obrada ( itanje i auriranje) * Cena u smislu vremena ( obino) - Performanse * Vreme odziva i / ili propusna

19

- Ogranienja * Po licu ogranienja ( a skladitenje i obrada)

Fragment alokacije Potrebne informacije - Baza podataka Informacija * Selektivnost fragmenata * Veliina fragmenata - Aplikacija informacija * RRij : broj ita pristup od upita qi na fragment Fj * URij : broj ispravki prilaza upita qi na fragment Fj * uij : matrica pokazuje koji su upiti ispravke kojih fragmenata , * rij : slina matrica a pretraivanje baze podataka. * Poreklom sajt svaki upit - Informacija sajta * USCk : jedinica cena skladitenja podataka na sajtu Sk * LPCk : cena obrade jedne jedinice podataka na sajtu Sk - Informacija mree * Komunikacija cena / okvir i meu dve lokacije * Okvir veliine Fragment alokacije Mi predstavljamo raspodelu modela koji pokuava da: - Smanjuje ukupne trokove prerade i skladitenja, - Ispunjavaju odreene odgovore vremnskih ogranienja. Opti oblik : min ( Total Cost ) - Predmet: * Vreme od iva ogranienja * Skladitenje ogranienja * Obrada ogranienja Funkcije a ukupne trokove i ogranienja su predstavljene u narednim slajdovima. Odluka promenljiva kij

20

fragment Fi je uskladiten na sajtu Sj drugaije

Fragment alokacije Ukupna cena funkcija ima dve komponente: skladitenje i obrada upita .

- Skladitenje cena fragmenata Fj na sajtu Sk: STCjk = USCk * Veliina ( Fi) * xij gde je USCk jedinica a skladitenje cene na sajtu k - Upit za obradu trokova upita qi se sastoji od dve komponente: * Sastavljen od obrade trokova ( PC) i prenosa trokova ( TC) QPCi = PCi + TCi

Fragment alokacije Obrada trokova je zbir od tri komponente: - Pristup trokova ( AC), integritet protiv trokova ( IE ), konkurentna kontrola trokova ( CC) PCi= ACi + IEi + CCi - Pristup trokova :

gde je LPCk jedinica procesa troka na sajtu k - Integritet i konkurentnost trokovi: * Moe se slino i raunati , mada avisi od specifinih ogranienja Napomena : ACi pretpostavlja da e procesuiranje upita ukljuiti raspadanje skupa od kojih svaki radi na fregmentu. - Ovo je veoma pojednostavljen model - Ne u ima u ob ir ra liite upite trokova u avisnosti od operatera ili ra liiti algoritmi koji se primenjuju.

21

Fragment alokacije Prenos trokova se sastoji od dve komponente: - Trokovi obrade novostima ( TCU ) i trokovi obrade pretraivanja ba a podataka ( TCR ) TCi = TCUi + TCRi - Trokovi ispravke: * Obavestiti sve sajtove koji imaju replike + kratka potvrda poruka

* ( auriranje poruka trokova + potvrda trokova ) - Povra aj trokova : * Slanje zahteva za preuzimanje svih sajtova koji imaju kopiju fragmenata koji su potrebni + alju re ultate od ovih sajtova na originalnom sajtu.

* ( Cena od preuzimanja zahteva + trokovi slanja na ad na rezultat ) Fragment alokacije Modelovanje ogranienja - Vreme od iva ogranienje a upita qi vreme i vravanja qi max. doputeno vreme odziva za qi - Skladitenje ogranienja a lokacije Sk

uslov skladitenja Fj u Sk kapaciteta od Sk - Obrada ogranienja a lokacije Sk

obrada optere enja qi na sajt Sk kapaciteta prerade od Sk Fragment alokacije Reenje Metode - Sloenost ovog modela raspodele / problema je NP -kompletan - Prepiska i meu alokacije problema i slinih problema u drugim oblastima * Fabrika lokacija problem u istraivanju operacija * Ranac problema

22

* Mrea protok problema - Dakle , reenja iz ovih oblasti mogu se ponovo koristiti - Koristite ra liite heuristike da se smanji prostor a pretragu * Pretpostavimo da su svi kandidati podele utvreni zajedno sa svojim povezanim trokovima i koriste se u smislu upita obrade. Problem se tada svodi na optimalnu podelu i plasman za svaku relaciju. * Ignorisati replikaciju na prvom koraku i na i optimalno reenje koje se ne kopira. Ponavljanje je onda u drugom koraku na vrhu prethodne i ne kopiraju reenje.

23

Zakljuak:
Distribuirani di ajn odluuje o plasmanu ( delovi ) podataka i programa irom sajtovi za raunarsku mreu. Na apstraktnom nivou postoje dva obrasca : top-down i Bottom-up ( odozdo nagore ) . Na i radi detaljnom nivou odgovara na dva kljuna pitanja: fragmentacija i alokacija / replikacija podataka - Horizontalna fragmentacija je definisana preko selekcije operacije p (R ). * Izmene upite za svaku lokaciju u spojenom normalnom obliku pronalazi minimalan i kompletan skup veznika da odredi fragmentacije. - Vertikalni fragmentacija preko projekcione operacije A(R ) * I raunava atribut humanitarnu matricu i grupe ajedno " kao " atributi - Meoviti fragmentacija je kombinacija oba pristupa. Alokacija / replikacije podataka - Tip replikacije : ne replikaciju , delimino ponavljanje , puna replikacija - Optimalna alokacija / replikacija modelovan kao funkcija trokova pod skupom ogranienja. - Sloenost problema je NP -kompletan - Kori enje ra liitih heuristika da smanji kompleksnost.

24

You might also like