Professional Documents
Culture Documents
Zrenjanin, 2012.
Uvod ................................................................................................................................... - 3 Karakteristike transakcija .................................................................................................... - 4 Obrada transakcija u distribuiranim sistemima ................................................................... - 5 Distribuirana obrada naspram distribuiranih baza odataka ................................................. - 5 Paralelni DBMS naspram distribuiranih baza podataka ..................................................... - 5 Tehnike distribuiranih baza podataka ................................................................................. - 6 Fragmentacija .............................................................................................................. - 7 Horizontalna fragmentacija ................................................................................. - 7 Vertikalna fragmentacija ..................................................................................... - 8 Meana fragmentacija ......................................................................................... - 8 Raspodela podataka..................................................................................................... - 8 Cenatralizovana ................................................................................................... - 9 Fragmentovana .................................................................................................... - 9 Kompletna replikacija ......................................................................................... - 9 Selektivna replikacija .......................................................................................... - 9 Replikacija podataka ................................................................................................... - 9 Potpuna replikacija baze podataka .................................................................... - 10 Parcijalna replikacija baze podataka ................................................................. - 10 Bez replikacije................................................................................................... - 10 Kontrola konkurencije u distribuiranim bazama podataka ....................................... - 10 Distribuirani model transakcije-obrade ..................................................................... - 11 Tehnike sinhronizacije zasnovane na dvofaznom zakljuavanju .............................. - 12 2PL implementacija .......................................................................................... - 13 Primarna kopija 2PL ......................................................................................... - 14 Cenatralizovani 2PL .......................................................................................... - 14 Faza zahteva-izvravanja .......................................................................................... - 16 Faza izvravanja ........................................................................................................ - 16 Zakljuak........................................................................................................................... - 17 Literatura: .......................................................................................................................... - 18 Pisana literatura ......................................................................................................... - 18 Internet izvori ............................................................................................................ - 18 -
Strana - 2 -
1.
Uvod
Distribuirana baza podataka je takva baza podataka koja je pod kontrolom centralne baze i upravljakog sistema (DBMS), gde se mesta za uvanje podataka ne prikljuuju uvek za CPU. Podaci se mogu uvati na odreenom broju raunara koji se nalaze na istoj fizikoj lokaciji ili mogu biti raskomadani na raunarima koji su meusobno povezani na mrei. Kolekcije podataka mogu biti distribuirane preko vie fizikih lokacija. Sistem distribuiranih baza podataka (DDBS), predstavlja sistem koji poseduje replikovane podatke preko vie lokacija. Podaci mogu biti replikovani preko mree horizontalnom ili vertikalnom fragmentacijom, slino procesima selekcije i projekcije u SQL okruenju. Baza podataka deli probleme kontrole pristupa i menadmenta transakcija, kao i konkurentnom pristupu korisnika i detekcijama zastoja i rezolucije. Sa druge strane DDBS mora reavati i mnotvo drugih problema. Kontrola pristupa podacima i menadmentu transkacija u DDBS-u zahteva drugaiji pristup za nadgledanje pristupa podacima i njihovim osveavanjem. IBM, DB2 i DBMS koriste dvofaznu tehnologiju izvravanja za odravanje baze podataka. Tehnologija distribuiranih baza podataka nastala je sjedinjavanjem dva razliita tehnoloka sistema: 1. Tehnologija baza podataka 2. Komunikacija podataka i raunarske mree Na polju globalne saradnje i poslovanja distribuirane baze podataka predstavljaju najefektivniju tehnologiju kojom se dele resursi i podaci. "Distribuirane baze podataka su
olt Juhas MIT 17/11 Strana - 3 -
2.
Karakteristike transakcija
Svaka transakcija poseduje etiri glavne karakteristike koje potom rezultiraju konzistencijom i pouzdanom distribuiranom bazom podataka. etiri glavne karakteristike su: valentnost, konzistentnost, izolovanost i otpornost. Valentnost: Valentnost baze podataka uslovljava modifikacije na bazi da prate pravilo "sve ili nita". Svaka transakcija se moe smatrati valentnom. Ukoliko se jedan deo transkacije prekine, kompletna transakcija se ponitava i stanje baze ostaje nepromenjeno. Sutinske vanosti je da upravljaki sistem baze podataka koristi pravilo valentnosti nasuprot bilo kojoj drugoj aplikaciji, DBMS-u, operativnom sistemu ili hardverskoj greci. Valentni prenos ne moe biti podeljen i mora se obraditi u svojoj celokupnosti ili nikako. Valentnost za korisnike znai da ne moraju brinuti o grekama transakcija. Transakcije se mogu prekinuti zbog nekoliko razlogoga, i to: 1. Hardverska greka: Drajv na disku prekine svoj rad; spreeno je osveavanje koju trenutno vri transakcija. 2. Sistemski pad: Korisnik gubi pristup aplikaciji prije nego to unese sve potrebne informacije. 3. Pad baze podataka: npr. potroi se slobodan prostor na disku. 4. Greka u aplikaciji: Aplikacija pokua uneti podatak u bazu koji kri pravilo kao to je zabrana duplikacija podataka. Konzistentnost: Referira na tanost i karakterie odravanje konzistentnih podataka u sistemu baza podataka. Konzistentnost spada u kategoriju upravljanja konkurencijom. Recimo da se radi o "prljavom podatku". Takav podatak je onaj na kojem su izvrene izmene transakcije prije nego to je ona zapoeta. Zbog sluaja kao to su "prljavi podaci", konzistentnost spada u kategoriju kontrole konkurencije koja spreava transakcije da itaju i osveavaju "prljave podatke". Izolacija: Prema ovoj karakteristici, svaka transakcija bi trebala videti konzistentnu bazu podataka u svakom momentu. Otpornost: Otpornost je DBMS garancija da jednom kada se korisnik obavesti o uspenoj transakciji, ona se vie nee prekinuti, tranzakcione promene nad podacima e premostiti pad sistema, da su svi uslovi tanosti zadovoljeni, te da DBMS nee morati preokrenuti i vratiti transakciju. Mnogi DBMS sistemi ugrauju otpornost u svoje logove kako bi oni bili reprocesirani sa namerom da rekonstruiu stanje sistema na prethodno ukoliko doe do pada sistema. Transakcija se tek tada smatra zavrenom kada se zapie u log. Otpornost nije karakteristika koja se odnosi na trajno stanje baze.
olt Juhas MIT 17/11 Strana - 4 -
Transakcija je logika jedinica posla konstituisana od jednog ili vie SQL izjava, zadata sa strane korisnika. Transakcija zapoinje zadavanjem prve izvrne SQL izjave korisnika i zavrava kada je uraena ili ponitena sa korisnike strane. Transakcije na daljinu sadre samo takve izjave koje imaju pristup udaljenim vorovima (nodes). Distribuirana transakcija je ona ija izjava ima pristup odreenom broju vorova. Distribuirana transakcija je transakcija koja sadri jednu ili vie izjava koje individualno ili grupno osveavaju podatke na dva ili vie odreena vora distribuirane baze podataka.
4.
Distribuirani raunarski sistem sastoji se od odreenog broja elemanata koji vre obradu i koji su povezani mreom radi zajednike saradnje da bi obavili zadati zadatak. Prednosti ovakvih sistema su: 1. Koristi se mrea kako bi se povezali raunari, a samim tim se poveava i njihova mo obrade. Na ovakav nain dobija se mnogo vie resursa nego u sluaju da postoji centralizovani sistem. 2. Svaki autonomni element obrade se moe nezavisno kontrolisati i za svaki postoji mogunost razvijanja specifinog softvera. Distribuirane baze podataka nemaju nikakve veze sa logikom obrade. Fundamentalni koncept koji se krije iza distribuiranih baza podataka je injenica da baza podataka iako fiziki jeste distribuirana na vie raunara odjednom, treba biti skrivena od korisnika koji rade na tim raunarima.
5.
Karakteristika DBMS-a koji radi sa vie procesora i diskova odjednom, je poveavanje performansi izvravanja zadataka koji su mu postavljeni u paraleli. U paralelnoj arhitekturi sistema postoje dve glavne arhitekture: 1. Nita podeljeno: Svi procesi dele zajedniku memoriju. 2. Podeljeni disk: Svi procesi dele zajedniki set diskova. Verzija u kojoj nita nije podeljeno najvie lii okruenju distribuiranih baza podataka, ali glavna razlika ogleda se u njegovoj radnoj filozofiji. U ovoj verziji postoji simetrija homogenosti naina rada, dok je sa druge strane u sluaju distribuiranih okruenja heterogenost hardvera i operativnih sistema svakog vora esta pojava.
olt Juhas MIT 17/11 Strana - 5 -
Distribuirane baze podataka klasifikovane su u homogene i heterogene baze podataka. U homogenim, svi sajtovi imaju identine softvere za kontrolu baza. Homogene sisteme je mnogo lake projektovati i odravati. Ovakav pristup omoguava inkrementalni rast koji je dodatni doprinos novim sajtovima za sistemski menadment distribuiranih baza podataka. U sluaju heterogenih distribuiranih baza podataka, razliiti sajtovi mogu koristiti razliite eme, kao i razliite softverske sisteme za menadment bazama podataka. Sajtovi ponekad i nisu svesni jedan drugog i omoguavaju limitirane prostore za zajedniku obradu transakcija. Svaki sajt implementuje svoju bazu i podaci mogu biti zahtevani od drugog sajta koji moe imati: Drugaiji hardver, Drugaiji DBMS, Kombinaciju prethodna dva.
6.
Fragmentacija: Relacija moe biti podeljena na odreeni broj podrelacija zvanih fragmenti, koji se potom distribuju. Dve glavne grupe fragmentacija su horizontalna i vertikalna fragmentacija. Raspodela: Svaki fragment je sauvan na sajtu za optimalnu distribuciju.
Strana - 6 -
6.1
Fragmentacija
Fragmentacija - Podaci mogu biti sauvani na odreenom broju raunara u delovima koji ine celu bazu podataka. Ovakvi delovi se nazivaju fragmentima, a deljenje baze na ovaj nain naziva se fragmentacija. Svaki deo sauvan je na drugom sajtu. Pravila fragmentacije: 1. Relacija R je sainjena od fragmenata R1, R2, ..., Rn - svaki deo podatka sadran u R mora se pojaviri barem u jednom fragmentu. Ovakvo pravilo je elementarno kako ne bi dolo do gubitka podataka tokom procesa fragmentacije. 2. Mora se omoguiti definisanje relacionog procesa koji e rekonstruisati R relaciju iz fragmenata. Ovo pravilo obezbeuje funkcionalnu nezavisnost koja se mora sauvati. 3. Ukoliko jedan lan nestane iz fragmenta Ri, tada se on ne sme pojaviti ni u jednom drugom fragmentu. Vertikalna fragmentacija je izuzetak ovog pravila gde se atributi primarnog kljua moraju ponavljati zbog rekonstrukcije. U horizontalnoj fragmentaciji, podatak je torka1, dok je u sluaju vertikalne fragmentacije podatak atribut.
6.1.1 Horizontalna fragmentacija Kod horizontalne fragmentacije, relacije su podeljene kao to i sam naziv ukazuje horizontalno. Pojedine torke relacija smetene su na jednom raunaru, dok su preostale torke rasporeene na ostale raunare. "Horizontalni fragment je podset ukupnog broja torki jedne relacije." Relacija je podeljena na odreeni broj podsetova r1, r2, ... rn. Svaka pojedina torka relacije r mora pripadati barem jednom od fragmenata kako bi bilo mogue rekonstruisati originalnu relaciju. U relacionoj algebri, horizontalna fragmentacija na relaciji R moe se prikazati na sledei nain: (R)Ci gde je Ci uslov koji se mora zadovoljiti horizontalnom fragmentacijom.
U raunarstvu, n-torka ima tri razliita znaenja. Tipino u funkcijskim i nekim drugim programskim jezicima, n-torka je podatkovni objekat koji sadri nekoliko drugih objekata, slian matematikoj n-torci. Takav objekat je takoe poznat kao zapis.
Strana - 7 -
6.1.2 Vertikalna fragmentacija Kod sluaja vertikalne fragmentacije, neke od kolona (atributa) sauvane su na jednom raunaru, dok su ostale rasporeene na drugima. Ovakav nain implementacije je efektivniji zbog toga to svaki sajt nema potrebu za svim atributima jedne relacije. "Vertikalni fragment uva samo odreene atribute relacije." Fragmentacija bi se po pravilu tako trebala izvesti da je mogue r relaciju izgraditi od fragmenata koristei njihov prirodni spoj. r= r1 * r2 * r3 ............rn Da bi rekonstrukcija r relacije bila mogua, primarni klju atributa od R je sadran u svakom Ri. 6.1.3 Meana fragmentacija Meana fragmentacija koristi obe do sada spomenute vrste fragmentacije, horizontalnu i vertikalnu zajedno. Ona se jo naziva i hibridnom fragmentacijom. Relacija r je podeljena na nekoliko fragmentiranih relacija r1, r2, r3, ........rn. Svaki pojedini fragment je dobijen kao rezultat aplikacije ili horizontalne ili vertikalne eme fragmentacije na relaciji r.
6.2
Raspodela podataka
Postoje etiri alternativne strategije koje se odnose na raspodelu podataka: 1. 2. 3. 4. Centralizovana Fragmentovana Kompletna replikacija Selektivna replikacija
Strana - 8 -
6.2.2 Fragmentovana Ovakva strategija razdvaja bazu podataka na fragmente, gde je svaki od fragmenata prikljuen jednom sajtu. Ukoliko se podaci nalaze na sajtu gde se najvie koriste, lokalna referenca je na visokom nivou.
6.2.3 Kompletna replikacija Karakteristika strategije kompletne replikacije je odravanje celokupne baze podataka na svakom sajtu. Iz toga proizilazi da je lokalnost refernce, pouzdanost, pristupnost i uinak na maksimalnom nivou. Ipak, trokovi skladitenja i komunikacije su najvei kada doe do auriranja.
6.2.4 Selektivna replikacija Ovakva strategija kombinuje fragmentaciju, replikaciju i centralizaciju. Neki podaci su fragmentovani da bi se pstigla visoka lokalnost reference, dok su drugi koriteni na vie sajtova, manje aurirani a samim tim replikovani. Oni najmanje koriteni su centralizovani.
6.3
Replikacija podataka
Kod replikacije podataka, kopija istih podataka dostupna je na vie sajtova. Zbog ovakve replikacije stvara se suvinost, ali postoje prednosti koje donosi upotreba ovakve strategije. 1. Podaci su lako dostupni na aktuelnom sajtu ili na oblinjem sajtu, tako da se prenos podataka drastino smanjuje. 2. Pristupnost podacima je poveana. Ukoliko se desi da jedan sajt ne radi, preuzimanje podataka je mogue sa drugog oblinjeg sajta. Replikaciju podataka je mogue postii na tri naina: 1. Potpunom replikacijom baze podataka 2. Parcijalnom replikacijom baze podataka 3. Bez replikacije
olt Juhas MIT 17/11 Strana - 9 -
6.3.2 Parcijalna replikacija baze podataka U ovkavim vrstama baza podataka replikuju se samo pojedine tabele ili elementi na nekim od sajtova. Koje baze se replikuju zavisi od korisnikog okruenja. Ovaj tip unapreuje performanse bez prevelikih optih trokova.
6.3.3 Bez replikacije Ovakav tip okruenja striktno uslovljava svaki jedinstveni element da se nalazi na jednom jedinstvenom sajtu. Ne postoje opti trokovi oko auriranja, ali je dostupnost podacima na niskom nivou. Uslovi za prenos podataka su vii, jer ne postoje lokalna skladita za podatke.
6.4
Postoji odreeni broj problema kada se govori o kontroli konkurencije i oporavci distribuiranih baza podataka. Neki od najveih problema su: Otkazivanje sajta: Postoje situacije kada jedan ili vie sajtova prestane da funkcionie u DDBMS-u. U takvim sluajevima uestalost i integritet moraju biti obnovljeni. Problemi sa mreom: U ovim sluajevima pada mrea, odnosno prestaje komunikacija meu jednim ili vie sajtova koji postaju odseeni od DDBMS okruenja. Dupliranje podataka: Kopije baza podataka konstantno moraju biti nadgledane kako bi se ouvala konzistencija. Distribuirane transakcije: Problem nastaje kada se transakcija distribuira preko razliitih mrea. Distribuirani zastoj: U DDBMS-u zastoj se moe pojaviti bilo kada na jednom ili vie sajtova, te je paljivo nadgledanje isitih od velike vanosti.
Strana - 10 -
DDBMS se sastoji od etiri glavne komponenete, i to: transakcije, Menadera Transakcije (TM), Menadera Podataka (DM) i podataka. Transakcije vre komunikaciju sa TM-om, TS komunicira sa DM-om, a Dm upravlja podacima. TM nadgleda transakcije. Svaka pojedina transakcija u DDBMS-u je nadgledana sa strane individualnog TM-a, to znai da sve to se odnosi na transakcije u bazi podataka vezano je za TM. Bilo koje distribuirano raunanje koje je potrebno izvriti nad transakcijom nadgledano je sa strane TM-a. etiri procedure su definisane u vezi transakcija u TM-u koje se izvravaju preko interfejsa. READ(X): vraa vrednost X (logiku vrednost podatka) u aktuelnoj logikoj bazi podataka sajta. WRITE(X, new value): kreira novo logiko stanje baze u kojoj X ima odreenu novu vrednost. BEGIN i END: operacije za izvravanje transakcije.
DM upravlja sauvanom bazom podataka, funkcionisajui kao bekapovani procesor baze. U odzivu na komande transakcije, TM izdaje komandu DM-u specifikijui koji sauvani podatak treba da bude iitan ili zapisan.
U centralizovanim DBMS sistemima, privatni radni prostor je deo TM-a i podaci se slobodno mogu kretati izmeu transakcija i svog radnog prostora, kao i izmeu radnog prostora i DM-a. Sa druge strane U DDBMS sistemu TM i DM mogu biti izvravani na odvojenim sajtovima gde je kretanje podataka izmeu TM-a i DM-a veoma skupo. Da bi se
olt Juhas MIT 17/11 Strana - 11 -
6.6
Dvofazno zakljuavanje (2PL) sinhronizuje itanja i zapise (read and write) tako to eksplicitno detektuje i spreava konflikte meu konkurentnim procesima. Prije itanja podatka x, transakcija mora posedovati "svoje" pravo zakljuavanja itanja x-a. Isto tako,
olt Juhas MIT 17/11 Strana - 12 -
Pravo na sekundarno zakljuavanje prouzrokuje, da svaka transakcija dobije zakljuavanje na dvofazni nain. Tokom faze rasta transakcije dobijaju zakljuavanja bez da oslobaaju prethodna zakljuavanja. Oslobaanjem zakljuavanja, transakcija ulazi u fazu smanjenja. Tokom ove faze transakcija oslobaa zakljuavanja i po drugom pravilu, zabranjeno je nabaviti dodatna zakljuavanja. U sluaju da se transakcija zavri (ili prekine), sva preostala zakljuavanja se automatski oslobaaju. Optva varijacija je da transakcija nabavlja sva potrebna zakljuavanja prije poetka, a nakon toga se i ona izvrava. Ova varijacija nazvana je predeklaracija.
6.6.1 2PL implementacija Implementacija 2PL tehnike dovodi i do potrebe za 2PL rasporeivaem. Ovakav rasporeiva je softverski modul koji prima zahteve za zakljuavanje i oslobaanje i obrauje ovakve zahteve po 2PL specifikaciji. Osnovni nain implementacije 2PL tehnike u distribuirane baze podataka je distribuiranje rasporeivaa duinom cele baze, smestivi rasporeivaa na podatak x u DM-u, gde je x sauvan. U ovoj implementaciji zakljuana iitavanja mogu biti preutno zahtevana od zakljuanih dm itanja i pisanja koje zahteva predpisanje. Ukoliko zahtevano zakljuavanje ne moe biti odobreno, izvravanje procesa je stavljeno na listu ekanja dok ekani podatak nebude raspoloiv. Zakljuavanje zapisivanja oslobaa dm-zapisiva. Ipak, da bi se oslobodilo zakljuano iitavanje, potrebni su specijalni procesi oslobaanja. Kada je zakljuavanje dignuto, procesi koji su naekanju se izvravaju u FIFO (first-in/first-out) redosledu. U sluaju da transakcija osvei X, moraju se osveiti i sve kopije X-a i tako nabaviti i zakljuavanja na sve zapise kopija X.
Strana - 13 -
6.6.3 Cenatralizovani 2PL Umesto distribuiranja 2PL rasporeivaa na sve sajtove, mogue je smestiti jedan centralizovani rasporeiva na nekom od sajtova. Prije pristupa podacima sa bilo kojeg sajta, potrebno je nabaviti odgovarajaua zakljuavanja od centralnog 2PL rasporeivaa. Kao primer toga, predpostavimo da bi izvrili dm-itanje(x) gde x nije sauvan na centralonom sajtu kako bi se potvrdilo da zakljuavanje nije izvreno. Nakon toga potrebno je dm-itanje(x) poslati DM-u koji sadri x. Kao to je i sluaj kod primarne kopije 2PL, ovakav prstup zahteva vie komunikacije od osnovnog 2PL, poto dm-itanja i preditanja ne mogu implikativno zahtevati zakljuavanje. TRANSAKCIJE T1: BEGIN; READ(X); WRITE(Y); END BAZE
Strana - 14 -
7.
Kod obrade transakcija, baza podataka i raunarskih mrea, dvofazni protokol izvravanja (commit protokol - 2PC) je vrsta valentnog izvravanja (ACP). On je distribuirani algoritam koji koordinira sve procese koji uestvuju u distribuiranoj valentnoj transakciji, bilo da se radi o izvravanju ili prekidu (roll back) transakcije (specijalizovana vrsta koncenzusnog protokola). Ovaj protokol postie svoj cilj, ak i u sluajevima kada nastanu privremeni sistemski padovi i zbog toga je iroko primenjivan. Ipak, nije otporoan na sve vrste prekida, a u retkim sluajevima korisnika (npr. administratorska) intervencija je potrebna za okonanje prekida. Da bi se prilagodio oporavak nakon prekida (esto je to sluaj automatizma) uesnici protokola koriste sistem logovanja stanja. Log zapise koje karakterie veoma sporo generisanje ali i opstanak nakon prekida, koriste se sa strane procedure za oporavak. Postoje mnoge verzije protokola koje se primarno razlikuju u strategijama logovanja i mehanizmu oporavka. Iako su namenjeni da se retko koriste, procedure oporavka zauzimaju bitan deo protokola zbog razliitih scenarija koji se mogu
olt Juhas MIT 17/11 Strana - 15 -
7.1
7.2
U sluaju da su sve radnje uspene: 1. Koordinator alje poruku za izvravanje. 2. Izvravaju se svi procesi, a nakon toga se oslobaaju zakljuavanja i resursi koji su bili zauzeti tokom transakcije. 3. Kada koordinator primi sve potvrde o zavrenim procesima, zavrava transakciju. U sluaju da je dolo do greke: 1. Koordinator alje poruku za prekid. 2. Transakcija se opovrgava koristei undo log i oslobaaju se resursi i zakljuavanja koriteni tokom transakcije. 3. Koordinator prima sve potvrde o zavrenim procesima. 4. Koordinator prekida transakciju.
Strana - 16 -
Seminarski rad prikazao je osnove tehnologija distribuiranih baza podataka, kao i tehnike pomou kojih se olakava distribucija ovakvih baza u manjim fragmentima. Obrada transakcije nije novi koncept u sistemima distribuiranih baza podataka (DDBMS). Iako je kontrola izvravanja transakcija kompleksne prirode, nakon potrebnih radnji, svaka transakcija postaje lako kontrolisana u distribuiranom okruenju. Mnoge organizacije i kompanije ne korsite distribuirane baze zbog svoje sloenosti. Lake reenje je u mnogim sluajevima je centralizovana baza podataka. Ipak, u sluaju globalnih organizacija i kompanija sa vieslojnim arhitekturama, distribuirana implementacija postaje osnovna potreba za kontrolu distribuiranih baza podataka.
Strana - 17 -
Literatura:
Pisana literatura 1. "Database Menagement System" (Sistem baza podataka), ACM Transactions on Database Systems, Vol. 11, No. 4, Decembar 1986. 2. Goran Pani, "DISTRIBUIRANE BAZE PODATAKA", PRIRODNO MATEMATIKI FAKULTET, UNIVERZITETA U NOVOM SADU, 2009. god. 3. Johann Gamper, "Distributed Databases", Poglavlje 1: Introduction, DDB 2008/09.
9.2 1. 2. 3. 4.
Strana - 18 -