You are on page 1of 18

Univerzitet u Novom Sadu Tehniki fakultet MihajloPupin Zrenjanin

Predmet: DISTRIBUIRANI INFORMACIONI SISTEMI Obrada transakcija u distribuiranim informacionim sistemima

prof. dr Biljana Radulovi

olt Juhas MIT 17/11 Inenjer informatike MASTER

Zrenjanin, 2012.

Obrada transakcija u distribuiranim informacionim sistemima


Sadraj
1. 2. 3. 4. 5. 6. 6.1 6.1.1 6.1.2 6.1.3 6.2 6.2.1 6.2.2 6.2.3 6.2.4 6.3 6.3.1 6.3.2 6.3.3 6.4 6.5 6.6 6.6.1 6.6.2 6.6.3 7. 7.1 7.2 8. 9. 9.1 9.2

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 -

Dvofazno izvravanje transakcije u sistemima distribuiranih baza podataka .................. - 15 -

olt Juhas MIT 17/11

Strana - 2 -

Obrada transakcija u distribuiranim informacionim sistemima


O emu govori rad Sistem distribuiranih baza podataka (DDBS,) poseduje mnotvo problema u sluajevima kada se pristupa bazama distribuiranim u multikorisnikim okruenjima i replikovanim bazama podataka. Kontrola pristupa i menaderi transakcija zahtevaju razliite procese kako bi kontrolisali i nadlgledali pristup podacima i osveavanju DDBS-a. Ovaj rad opisivae temu kako se razlikuje tehnologija distribuiranih baza podataka od distribuiranog obraivanja i paralelnog freameworka. Takoe e se govoriti o fragmentaciji, alokaciji i replikaciji korienim za distribuciju velikih baza podataka do manjih logikih sajtova. Bezgubitna distribucija baze podataka mogua je ukoliko se ima na umu da je rekonstrukcija baze mogua u bilo kom trenutku. Model transakcionoobraujue distribuirane baze podataka sadri podatke, transakcije, menader podataka, menader transakcija i razne operacije i procese koji se vre pomou spomenutih komponenata. Glavni deo rada prikazae sastav problema konkurencijske kontrole u dva podnivoa problema: read-write i write-write sinhronizacije. Reavanje problema sinhronizacije prikazae se razliitim tehnikama za oba problema.

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 -

Obrada transakcija u distribuiranim informacionim sistemima


skupovi iteraciono povezanih baza podataka distribuiranih preko raunarske mree." Distribuirani menadment sistem baza podataka je softverski sistem koji upravlja distribuiranim bazama podataka i ini distribuciju transparentnom korisnicima sistema.

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 -

Obrada transakcija u distribuiranim informacionim sistemima


3. Obrada transakcija u distribuiranim sistemima

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.

Distribuirana obrada naspram distribuiranih baza odataka

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.

Paralelni DBMS naspram distribuiranih baza podataka

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 -

Obrada transakcija u distribuiranim informacionim sistemima

Slika 1. Struktura podele DBMS

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.

Tehnike distribuiranih baza podataka

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.

olt Juhas MIT 17/11

Strana - 6 -

Obrada transakcija u distribuiranim informacionim sistemima


Replikacija: DDBMS moe odravati kopiju fragmenta na nekoliko razliitih sajtova odjednom.

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.

olt Juhas MIT 17/11

Strana - 7 -

Obrada transakcija u distribuiranim informacionim sistemima


Da bi se izgradila relacija R od razliitih horizontalnih fragmenata, mogue je izvesti UNION proceduru nad fragmentima. R= r1 U r2............U rn

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

olt Juhas MIT 17/11

Strana - 8 -

Obrada transakcija u distribuiranim informacionim sistemima


6.2.1 Cenatralizovana Ovakva strategija se sastoji od jedne jedinstvene baze podataka i jednog DBMS-a sauvanom na sajtu, dok su korisnici rasporeeni na mrei. Lokalnost reference je na minimumu, jer svi sajtovi izuzev centralnog, moraju koristiti mreu za pristup podacima.

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 -

Obrada transakcija u distribuiranim informacionim sistemima


6.3.1 Potpuna replikacija baze podataka Svaki podatak je dostupna na svim sajtovima. Na ovaj nain poveava se dostupnost podacima i tolerancija greke. Procedura za razne upite se obavlja veoma brzo, jer se upiti vre lokalno i nema potrebe za preuzimanjem podataka sa drugih sajtova. Nakon auriranja nekih od podataka, potrebno je replikaciju izvriti na svim sajtovima da bi se postigao integritet i uestalost.

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

Kontrola konkurencije u distribuiranim bazama podataka

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.

olt Juhas MIT 17/11

Strana - 10 -

Obrada transakcija u distribuiranim informacionim sistemima


6.5 Distribuirani model transakcije-obrade

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.

Slika 2. Distribuirani model transkacije-obrade

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 -

Obrada transakcija u distribuiranim informacionim sistemima


zbog toga smanjio troak, mnoge DDBMS sisteme snabdevaju upitnim optimizacijama (query optimization) koja regulie protok podataka meu sajtovima. Kako Trans akcija (T) ita i zapisuje podatke na ovim radnim povrinama problem je upitne optimizacije i apsolutno nema efekta na kontrolu konkurencije. Predpostavimo da T osveava x, y i z sauvane u DMx, DMy i DMz i da TM T-a zakae nakon izdavanja DM- write(x), ali prije pokretanja DM ispie y i z. U ovom momentu baza nije tana. Ipak, u DDBMS sistemu drugi TM-ovi ostaju operativni i mogu pristupiti netanoj bazi. Da bi se izbegao ovakav problem, predzapisne komande (PRE WRITE) se moraju malo izmeniti. Pri odreivanju podataka koje je potrebno kopirati u siguro skladite, predzapisne komande odreuju koji DM-ovi su ukljueni u izvrnu aktivnost. Nakon toga ako se desi da TM otkae tokom druge faze od dvofaznog izvravanja, onaj DM iji DM zapisi nisu izdati, prepoznaju situaciju i konsultuju druge DM-ove koji su ukljueni u izvravanje. Ukoliko je bilo koji DM primio komandu dm-write, ostali se ponaaju kao da su i oni takoe primili istu. U DDBMS sistemima ovakvi procesi se izvravaju na sledei nain. BEGIN: TM kreira privatnu radnu povrinu za T. READ(X): TM proverava privatnu radnu povrinu T da bi ustanovio postoji li kopija X. U sluaju da je tako, vrednost te kopije postaje raspoloivo T. U suprotnom, TM odabire jednu od sauvanih kopija X, npr. xi i zadaje komandu read(x) DM-u, nakon ega je x sauvano. DM odgovara na ovo tako to preuzima vrednost x iz baze i postavlja ga u privatnu radnu povrinu. TM vraa ovu vrednost T. WRITE(X, nova-vrednost): Vrednost X u radnoj povrini T je osveena na novu-vrednost (new-value), predpostavljajui da radna povrina sadri kopiju X. U suprotnom se kreira kopija X sa novom vrednou u radnoj povrini. END: Zapoinje dvofazno izvravanje. Za svako X osveeno sa T i za svaku sauvanu kopiju x od X, TM izdaje predzapisnu (prewrite) komandu (x) DM-u koji uva x. DM odgovara na ovu komandu kopiranjem vrednosti X sa T privatne radne povrine na sigurno interno uvanje. Nakon to su obraeni svi predzapisi, TM zapoinje dm-zapise za sve kopije logikih podataka osveenih od strane T. DM odgovara na dm-zapis(x), kopiranjem vrednosti x sa sigurne radne povrine u sauvanu bazu podataka. Nakon svih instaliranih dm-zapisa, T izvravanje je zavreno. Tehnike sinhronizacije zasnovane na dvofaznom zakljuavanju

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 -

Obrada transakcija u distribuiranim informacionim sistemima


prije poetka zapisa u x, ono mora posedovati "svoje" pravo zakljuavanja zapisa u x. Prava o zakljuavanju se dele na osnovu dva pravila: 1. Razliite transakcije ne mogu istovremeno posedovati konfliktna zakljuavanja. 2. Nakon to jedna transakcija preda vlasnitvo zakljuavanja, nikad vie ne moe dobiti dodatna zakljuavanja. Definicija o konfliktnim zakljuavanjima zavisi od vrste sinhronizacije koja se odvija: za 'rw' sinhronizaciju dva zakljuavanja su u konfliktu ako: - su oba zakljuali isti podatak, - je jedan zakljuao itanje, a drugi zapisivanje. za 'ww' sinhronizaciju dva zakljuavanja su u konfliktu ako: - su oba zakljuali isti podatak, - su oba zakljuala zapisivanje.

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.

olt Juhas MIT 17/11

Strana - 13 -

Obrada transakcija u distribuiranim informacionim sistemima


6.6.2 Primarna kopija 2PL Primarna kopija 2PL tehnike je tehnika u kojoj je akcenat na suvinosti podataka. Jedna kopija svakog logikog podatka je dizajnirana u primarnoj kopiji. Prije nego li se pristupi kopiji logikog podatka, potrebno je nabaviti adekvatno zakljuavanje na primarnu kopiju. Za zakljuavanje iitavanja ovakva tehnika zahteva vie komunikacije od osnovne 2PL tehnike. Predpostavimo da je x1 primarna kopija logikog podatka X i predpostavimo da transkacija T eli iitati neku drugu kopiju x od X. Da bi proitao x, T mora izvriti komunikaciju sa dva DM-a i DM-om gde je X sauvan. Ipak, po osovnom pravilu 2PL, T bi izvrio komunikaciju jedino sa x-ovim DM-om. Za zakljuavanje zapisa sa druge strane, primarna kopija 2PL ne zahteva dodatnu komunikaciju.

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

T2: BEGIN; READ(Y); WRITE(Z); END

T2: BEGIN; READ(Z); WRITE(X); END

Slika 3. Centralizovani 2PL

olt Juhas MIT 17/11

Strana - 14 -

Obrada transakcija u distribuiranim informacionim sistemima


Ukoliko se dogodi, da se transakcije izvravaju konkurentno, sa svakom transakcijom koja izvrava READ (itanje) prije bilo koje druge koja izvrava END (kraj), parcijalno izvravanje bi izgledalo na sledei nain: DM A : rl [x1] DM B : r2 [y2] DM C : r3 [z3] - Sledi, T1 ima zakljuano itanje na x1 T2 ima zakljuano itanje na y2 T3 ima zakljuano itanje na z3 - Prije nastavka, sve transakcije moraju nabaviti zakljuavanje zapisa. T1 zahteva zakljuavanje zapisa na y1 i y2 T2 zahteva zakljuavanje zapisa na z2 i z3 T3 zahteva zakljuavanje zapisa na X1 - Ali, T1 ne moe nabaviti zakljuavanje zapisa na y2, dok T2 ne oslobodi zakljuano itanje T2 ne moe nabaviti zakljuavanje zapisa na z3, dok T3 ne oslobodi zakljuano itanje T3 ne moe nabaviti zakljuavanje zapisa na x1, dok T1 ne oslobodi zakljuano itanje Prikazivanje zastoja mogue je uraditi navedenim primerom.

7.

Dvofazno izvravanje transakcije u sistemima distribuiranih baza podataka

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 -

Obrada transakcija u distribuiranim informacionim sistemima


dogoditi, a na koje protokol mora znati odgovoriti. U "normalnom izvravanju" bilo koje distribuirane transakcije (bez greaka), to je i najei sluaj, protokol obuhvata dve faze: 1. Faza zahteva-izvravanja (faza glasanja) - u kojoj koordinator procesa pokuava pripremiti sve procese koji uestvuju u transakciji da preduzmu odgovarajau korake bilo da se radi o izvravanju ili prekidu transakcije i da glasaju sa DA izvri ili NE - prekini. 2. Faza izvravanja - u kojoj na temelju glasanja, koordinator odluuje da li da pokrene izvravanje ili prekine transakciju i o tome obavesti. Faza zahteva-izvravanja 1. Koordinator alje upit (query) da se izvri poruka, a potom eka na odgovor. 2. Transakcija se izvrava do take gde je se postavlja pitanje izvravanja. Zapisuje se poruka u undo log i redo log. 3. Prima se poruka o saglasnosti u sluaju da su sve radnje uspene ili poruka za prekid ukoliko je dolo do nekog zastoja i izvravanje nije mogue. Faza izvravanja

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.

olt Juhas MIT 17/11

Strana - 16 -

Obrada transakcija u distribuiranim informacionim sistemima


8. Zakljuak

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.

olt Juhas MIT 17/11

Strana - 17 -

Obrada transakcija u distribuiranim informacionim sistemima


9.
9.1

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.

Internet izvori http://citeseer.ist.psu.edu/search?q=DDBMS&submit=Search&sort=rlv&t=doc http://www.service-architecture.com/ http://en.wikipedia.org/wiki/DDBMS http://en.wikipedia.org/wiki/DBMS

olt Juhas MIT 17/11

Strana - 18 -

You might also like