You are on page 1of 12

FAKULTET ELEKTROTEHNIKE I RAUNARSTVA

ZAVOD ZA ELEKTRONIKE SUSTAVE I OBRADBU


INFORMACIJA

SUSTAVI ZA PRAENJE I VOENJE PROCESA


DISTRIBUIRANE BAZE PODATAKA
Seminar

arevi Konstantin
0036389474
Svibanj, 2006.

Uvod
Ako raunalo u raunalnoj mrei definiramo kao mozak organizacije, onda je mrea
ivani sustav organizacije, a baza podataka kolektivno pamenje organizacije.
Definicija koju daje James Martin:
Baza podataka je skup istovrsnih podataka s viestrukom namjenom. Korisnik nije
zainteresiran za sve vrste podataka u bazi, ve samo za one koji su mu potrebni u njegovu
poslu. Korisnik moe imati uvid u samo jednu, njemu potrebnu datoteku, koja ima uvijek
istu i to vrlo jednostavnu strukturu, iako je u biti izvedena iz mnogo kompleksnije strukture podataka. Razliiti korisnici uzimaju u obzir razliite datoteke izvedene iz iste baze
podataka. Dakle, iako je baza podataka zajednika veem broju korisnika, razliiti
korisnici je razliito shvaaju.
Prema Ulmanu, zajednika osobina svih baza podataka je:
-

Apstraktni model podataka


Visoka razina pristupa ili upitnih jezika
Upravljanje transakcijama u viekorisnikom okruenju
Kontrola pristupa i vlasnitvo nad podacima
Validacija podataka i provjera konzistentnosti
Konzistentni oporavak sustava nakon ispadanja sustava i/ili strojne opreme

Baze podataka se dijele na:


Operacijske (transakcijske, produkcijske) baze podataka - pamte detaljne i aktuelne
podatke potrebne za podrku poslovnih procesa i operacija u e-biznis preduzeu. Primjeri
su baza kupaca, baza ljudskih resursa personala, baza zaliha i mnoge druge baze
generisane poslovnim operacijama.
Distribuirane baze podataka - Mnoge organizacije repliciraju i distribuiraju kopije ili
djelove baze podataka na razliite mrene servere. Distribuirane baze dakle se mogu
nalaziti na razliitim serverima Web, intranet, extranet ili neke druge kompanijske
mree. Distribuirane baze mogu biti kopije operacijskih ili analitikih, hipermedijalnih ili
nekih drugih tipova baza podataka. Replikacija i distribucija baza podataka umanjuje
performanse i sigurnost baze podataka. Garancija da e svi podaci u organizacijskim
distribuiranim bazama podataka biti konzistentno i istodobno aurirani je jedan od
glavnih zadataka distribuiranih DBMS-a.
Eksterne baze podataka - Pristup informacijama iz eksternih baza podataka je mogu
putem velikog broja komercijalnih online servisa, kao i sa plaanjem ili bez, iz mnogih
izvora na Internetu. Web-stranice osiguravaju putem hiperlinkovanih strana pretraivanje
multimedijalnih dokumenata u hipermedijalnim bazama podataka. Eksterni podaci su
najee u vidu statistikih baza podataka nastalih kao rezultat ekonomskih i

demografskih istraivanja i aktivnosti. Takoer su popularne bibliografske ili full text


baze iz kojih se mogu vidjeti ili download-ovati apstrakti ili kompletne kopije raznih
asopisa, istraivakih radova i drugih publiciranih materijala.
Data Warehouse i Data Mining - Data Warehouse baza podataka memorizira podatke
ekstrahirane iz razliitih operacijskih, eksternih ili nekih drugih baza podataka u okviru
organizacije. Ona je sredinji izvor preienih i transformiranih aktuelnih i povijesnih
podataka koje koriste menaderi i drugi poslovni strunjaci za data mining, OLAP
(online analytical processing) i druge vrste poslovnih analiza, istraivanja trita, i
podrku odluivanju. Data warehouse moe biti podijeljen na data mart-ove koji sadre
podskupove podataka warehose-a koji su fokusirani na neki specifini aspekt kompanije,
kao to je odjel ili poslovni proces.
Hipermedijalne baze podataka na Web-u. Rapidni napredak Web tehnologija je
znaajno poveao primjenu baza hipermedijalnih dokumenata koje se nazivaju
hipermedijalne baze podataka. Hipermedijalna baza podataka je zapravo webstranica koja
se sastoji od hiperlinkovanih multimedijalnih strana. Dakle, sa toke gledita teorije baza
podataka, hipermedijalna baza podataka nije skup meusobno povezanih slogova, ve
skup meusobno hiperlinkovanih multimedijalnih strana.

Distribuirane baze podataka


Distribuirana baza podataka je baza podataka koja se ne nalazi u cjelini na jednom raunalu, ve je razdijeljena na vie lokacija koje su povezane komunikacijskom mreom.
Svaka lokacija, koja se zove i vor komunikacijske mree, ima svoj vlastiti, autonomni
sustav za upravljanje bazama podataka, sa vlastitom kontrolom, upravljaem transakcija
i opravka od pada, i ostalim vanim funkcijama, a ima i svoj procesor i ulazno/izlazne
ureaje.
Aplikacije istovremeno pristupaju i mijenjaju podatke na vie razliitih baza podataka u
mrei, gdje mrea moe biti LAN ili WAN.
Osnovne znaajke DBP:
- Skup logiki povezanih djeljivih podataka
- Podaci su razdvojeni na vie fragmenata
- Fragmenti se mogu replicirati
- Fragmenti/Replikacije pripadaju lokacijama
- Lokacije su povezane komunikacijskom mreom
- Podaci na svakoj lokaciji su pod nadzorom DBMS-a
- DBMS na svakoj lokaciji moe upravljati lokalnim aplikacijama autonomno
- Svaki DBMS uestvuje u najmanje jednoj globalnoj aplikaciji.
Prikaz sustava DBP:

Lokacija 1

Data

Tower box

Lokacija 4

Lokacija 2

RAUNALNA
MREA

Data

Tower box

Tower box
Data

Lokacija 3

Tower box

Prednosti koje donosi distribuirani koncept baze podataka:


-

Lokalna autonomija podataka, upravljanja i kontrole. Okruenje u kojem


se DBP primjenjuju je i samo distribuirano (npr. sveuilite, fakulteti, zavodi;
sredinja knjinica, matine knjinice, ogranci; ministarstvo, regionalni centri
itd.).Distribuiranje baza podataka kao i sustava za upravljanje njima, omoguava pojedinim grupama da lokalno kontroliraju vlastite podatke, uz mogunost pristupa podacima na drugim lokacijama kada je to potrebno.

Vei kapacitet i postupni rast. est razlog za instaliranje distribuiranog


sustava je nemogunost jednog raunala da primi i obrauje sve potrebne
podatke. U sluaju da potrebe nadmae postojei kapacitet, dodavanje vora
distribuiranom sustavu je znatno jednostavnije nego zamjena sustava veim.

Pouzdanost i raspoloivost. Distribuirani sustavi mogu nastaviti svoje


funkcioniranje i kada neki od vorova izgube funkcionalnost.

Efikasnost i fleksibilnost. Podaci su fiziki blizu onome tko ih stvara i


koristi, pa je znatno smanjena potreba za udaljenom komunikacijom.

Da bi se postigla visoka efikasnost DSUBP, sve njegove komponente treba realizirati na


takav nain da se smanji mrena komunikacija. Najznaajniji problemi koje pri tome
treba rijeiti su:
-

fragmentacija podataka
distribuirana obradba upita
distribuirano auriranje
upravljanje katalogom
distribuirano izvrenje skupa transakcija, to ukljuuje konkurentnost, integritet, oporavak i protokole kompletiranja transakcija

Fragmentacija podataka
Podaci u distribuiranom sustavu mogu biti particionirani ili ponovljeni u fizikoj memoriji.
U sluaju ponavljanja podataka, jedan logiki objekt moe imati vei broj kopija na
veem broju lokacija. Ponovljenost podataka poveava raspoloivost podataka i efikasnost pristupa podacima, ali znaajno komplicira auriranje podataka, koji moraju biti
konzistentni u svim svojim kopijama.Sloenost koju nosi sa sobom strategija ponavljanja podataka mora biti sakrivena od korisnika, tj. mora biti osigurana nevidljivost
ponavljanja podataka.
U sluaju particioniranja podataka,logiki skup podataka treba na neki nain podijeliti,
a zatim dijelove - fragmente (moe i sa ponovljenim kopijama) razdijeliti po raznim lokacijama. Logiki skup podataka u relacijskom sustavu je relacija, a prirodni fragment
relacije je neki njezin podskup definiran uvjetom projekcije i restrikcije. Fragmentacija

mora biti izvedena tako da se spajanjem fragmenata dobije polazna relacija.

Distribuirana obradba upita


Distribuirana obradba upita podrazumijeva distribuiranu optimizaciju kao i distribuirano izvrenje upita. Strategije optimizacije upita nad distribuiranom bazom podataka
imaju za cilj minimalizaciju cijene obradbe i vremena za koje e korisnik dobiti odgovor.
U trokovima obradbe najvei udio imaju trokovi mrene komunikacije, tj. prijenosa
podataka kroz mreu, dok su trokovi komunikacije sa ulazno/izlaznim ureajima i koritenja procesora manji za nekoliko redova veliine. Zbog toga je vrlo znaajno, u ovisnosti o propusnosti mree (koliina podataka koju moe primiti u sekundi) i vremena
kanjenja, pravilno odabrati relacije i njihove fragmente koji e biti prenoeni s jedne
lokacije na drugu s ciljem obradbe upita (globalna optimizacija). Razlog za prenoenje
podataka moe biti taj to su podaci na lokaciji razliitoj od one na koju se postavlja upit,
ili to u upitu uestvuje vei broj relacija s razliitih lokacija. Izbor strategije za izvrenje
operacija na jednoj lokaciji zove se lokalna optimizacija.
Ako se n relacija R1 , R2, ,Rn koje uestvuju u upitu nalaze na k razliitih lokacija
l1 , l2 , , ln , pri emu je svaka relacija Ri u cijelosti na lokaciji lj , onda se osnovna
strategija distribuirane obradbe upita sastoji od dva koraka:
1. maksimalna redukcija svake relacije na njenoj lokaciji (lokalna restrikcija i
projekcija na atribute spajanja i izlazne atribute)
2. prenoenje dobivenih relacija na jednu lokaciju, ili na vie lokacija, redom,
na kojima je mogue izvriti pojedinana spajanja i projekciju na izlazne
atribute
Za drugi korak osnovne strategije vezana je odluka o tome koje se relacije prijenose i na
koje lokacije. Ta odluka se donosi na temelju procjene koliine podataka koji se prijenose
izmeu lokacija u svakom pojedinanom sluaju; izbor relacija i lokacija vri se tako da
se minimizira protok podataka kroz mreu.

Distribuirano auriranje
Kao to je reeno u dijelu o fragmentaciji podataka, ponavljanje podataka podrazumijeva da jedan logiki objekt (relacija ili fragment) moe imati vie kopija na veem
broju lokacija. Posljedica toga je da se, s obzirom na potrebu za konzistentnou podataka
u svim kopijama, auriranje jednog logikog objekta mora prenijeti i na sve fizike kopije
tog objekta. Meutim, trenutno prenoenje auriranja moe onemoguiti ( ili nedopustivo
dugo odloiti) uspjeno izvravanje auriranja u sluaju da je bilo koja lokacija u padu;
na taj nain ponavljanje podataka ne poveava, nego smanjuje raspoloivost podataka.
Jedan iroko prihvaeni pristup prijenosu auriranja oslanja se na koncept primarne
kopije, i sastoji se od dva dijela:

- jedna kopija svakog ponovljenog objekta proglaava se primarnom kopijom tog


objekta, pri emu primarne kopije razliitih objekata mogu biti ba razliitim lokacijama
- operacija auriranja objekta smatra se logiki izvrenom im se izvri auriranje
primarne kopije tog objekta; auriranje ostalih kopija je sada u nadlenosti lokacije na kojoj je primarna kopija, ali se mora izvriti prije kompletiranja transakcije. Ovaj postupak zahtijeva primjenu protokola dvofaznog kompletiranja
transakcije (bit e opisan kasnije), koji se ne moe uspjeno provesti ako je bar
jedna relevantna kopija u padu , to je est sluaj. Ukoliko se dopusti auriranje
kopija i poslije kompletiranja transakcije, ne moe se jamiti konzistentnost podataka u svim njihovim kopijama.

Upravljanje katalogom
Katalog je baza podataka koja sadri podatke o baznim relacijama, pogledima, indeksima
korisnicima itd., a u sluaju distribuiranog sustava, i o nainu i lokacijama na koje su podaci razdijeljeni i (moda) ponovljeni. Sam katalog u distribuiranom sustavu moe biti
centraliziran (samo na jednoj lokaciji), potpuno ponovljen (na svim lokacijama po jedna
kopija kataloga), particioniran (na svakoj lokaciji je dio kataloga koji se odnosi na objekte te lokacije) ili kombiniran (katalog je particioniran ali na jednoj lokaciji postoji
jedna sredinja kopija cijelog kataloga ).
S obzirom na nedostatke koje ima svaki od navedenih pristupa (zavisnost od sredinje
lokacije, visoka cijena prijenosa auriranja kataloga, skup pristup udaljenoj lokaciji) implementirani sustavi koriste neke druge strategije. Npr. u sustavu R* svaka lokacija sadri:
- slog kataloga za svaki objekt roden na toj lokaciji (tj. ija je prva kopija kreirana na toj lokaciji); ovaj slog sadri i informaciju o trenutnoj lokaciji objekta
- slog kataloga za svaki objekt koji je trenutno smjeten na toj lokaciji
- tabelu sinonima za svakog korisnika prijavljenog na toj lokaciji, koja preslikava sinonime objekta, definirane iskazom kreiranja sinonima, u sistemske
identifikatore objekta, jedinstvene u cijelom distribuiranom sustavu
Sistemski identifikator objekta, koji se nikad ne mijenja (dok se objekt ne ukloni) sastoji se od identifikatora korisnika koji je kreirao prvu kopiju tog dokumenta, lokacije sa
koje je kreirana, lokalnog imena objekta i lokacije na kojoj je roen. Pronalaenje objekta
kada je zadano njegovo lokalno ime ili sinonim, poinje preslikavanjem lokalnog imena
(automatski), odnosno sinonima (pregledavanjem tabele sinonima), u sistemski identifikator objekta. Zatim se, prema sistemskom identifikatoru, nalazi lokacija roenja objekta,
pristupa joj se i u slogu koji odgovara tom objektu, pronalazi se lokacija u kojoj je trenutno smjeten. U slijedeem koraku pristupa se lokaciji na kojoj je objekt smjeten, i lokalnim operacijama pronalazi objekt.

Distribuirano upravljanje transakcijama


Pod transakcijom u distribuiranom sustavu podrazumijeva se vremenski niz ureenih
radnji koji prevodi jedno konzistentno stanje baze u drugo konzistentno stanje. Transakcija moe izvravati moe izvravati radnje svog programa na raznim lokacijama.
Na taj nain transakcija moe izvravati vie procesa na vie lokacija. Startanjem jedne
transakcije bira se jedan upravlja transakcija (na jednoj lokaciji) koji slui kao koordinator procesa te transakcije. Svakoj transakciji se dodjeljuje i njezin privatni radni prostor (koji moe biti rasporeen na vie lokacija), iz kojeg e transakcija itati i u kojeg e
se upisivati vrijednosti objekata.
Pri distribuiranoj obradbi transakcija, transakcija koja ita vrijednost objekta, ita
vrijednost samo jednog lokalnog primjerka tog objekta, dok auriranje jednog objekta
sprovodi nad svim primjercima tog objekta.
Konkurentnost
Neka je dat skup transakcija { Ti } in=1 nad bazom podataka distribuiranom nad k lokacija:
Lokalno izvrenje skupa T na lokaciji l je niz I l trojki oblika:
( T j , proitaj, xl ), odnosno
( T j , auriraj, xl ),
gdje je T j T, xl je primjerak objekta x na lokaciji l, a radnja (proitaj x) odnosno (auriraj x) je radnja transakcije T j . Poredak trojki u ovom nizu odgovara
poretku radnj pojedine transakcije.
Distribuirano izvrenje skupa T je niz lokalnih izvrenja I={ Il } lk=1 , takav da
vai:
a) (itanje samo jednog primjerka): ako je ( Ti , proitaj, x j ) I j , tada
( Ti ,proitaj, xl ) Il , za l j, gdje su x j , xl primjerci objekta x na
lokacijiama j,l, redom
b) (auriranje svih primjeraka): ako je ( Ti , auriraj, x j ) I j , tada je
( Ti ,auriraj, xl ) Il , za sve lokacije l, na kojima postoji primjerak xl
objekta x
c) svakoj radnji svake transakcije T j odgovara bar jedna trojka sa prvom
komponentom T j
Kao kod centraliziranih sustava, i kod distribuiranih sustava mogu se definirati serijska
distribuirana izvrenja, ekvivalentna distribuirana i linearizirana (ekvivalentna serijskim)
distribuirana izvrenja skupa transakcija.
Serijsko distribuirano izvrenje skupa transakcija T={ Ti } in=1 je distribuirano izvrenje
I za koje se na skupu T moe definirati ureenje < za koje vai: ako je Ti < T j , onda sve
radnje transakcije Ti prethode svim radnjama transakcije T j u svakom lokalnom izvr-

enju Il u kojem se pojavljuju radnje obiju transakcija.


Distribuirano izvrenje moe ne biti serijsko ili zbog toga to neko od lokalnih izvrenja
nije serijsko, ili zbog toga to redoslijed transakcija u (inae serijskim) lokalnim izvrenjima nije isti.
Dvije radnje skupa transakcija T su konfliktne u distribuiranom izvrenju ako su konfliktne u nekom (bilo kom) izvrenju.
Dva distribuirana izvrenja su ekvivalentna ako su, za svaku lokaciju, njihova lokalna
izvrenja ekvivalentna ( u centraliziranom smislu).
Distribuirano izvrenje je linearizirano ako je ekvivalentno nekom serijskom izvrenju.
Dvofazno zakljuivanje
Jedna metoda za postizanje lineariziranog distribuiranog izvrenja je, kao i kod centraliziranog lineariziranog izvrenja, dvofaznost transakcija, koje se u distribuiranom sluaju
proiruje nekim zahtjevima:
- pri itanju logikog objekta x, dovoljno je da transakcija zakljua djeljivim
lokotom jedan primjerak objekta x (onaj koji stvarno ita)
- pri auriranju logikog objekta x, transakcija mora postaviti lokote na sve
primjerke objekta x, na svim lokacijama u distribuiranoj bazi
- ako transakcija ne moe dobiti traeni lokot, ona stoji u redu za ekanje za
onaj primjerak objekta nad kojim treba izvriti radnju
Glavni nedostatak prethodnog postupka dvofaznog zakljuivanja je to transakcija, pri
auriranju jednog logikog objekta, mora dobiti lokot na svim primjercim tog objekta, na
raznim lokacijama, a o dodjeljivanju i oslobaanju lokota odluuju lokalni moduli(upravljai zakljuivanja). Zbog toga taj postupak zahtijeva mnogo komunikacije (slanja i primanja poruka), i moe se pojednostavniti na nekoliko naina (od kojih svaki ima svoje
prednosti i nedostatke). Jedna tehnika dvofaznog zakljuivanja u distribuiranom sustavu
je centralizacija upravljaa zakljuivanja koja podrazumjeva da samo jedna lokacija
upravlja postavljanjem i oslobaanjem lokota u cijelom sustavu. U tom sluaju je auriranje pojednostavljeno, jer se skup svih primjeraka jednog logikog objekta moe tretirati
(u svrhe zakljuivanja) kao jedinstveni objekt. Nedostatak ove tehnike je to se lokacija
koja upravlja zakljuivanjem brzo optereuje, a u sluaju njenog pada, pada i cijeli distribuirani sustav.
Druga tehnika je tehnika primarnog primjerka objekta. U ovoj tehnici svaki logiki
objekt ima jedan svoj primjerak i, mogue, vei broj ostalih primjeraka. Razni logiki
mogu imati primarne primjerke na raznim lokacijama. Upravlja zakljuivanja lokacije
na kojoj je primarni primjerak logikog objekta x obrauje zahtijeve za zakljuivanjem
objekta x (i na svim drugim lokacijama). I u ovom sluaju svi primjerci jednog objekta
ponaaju se, u svrhe zakljuivanja, kao jedinstveni objekt, ali ova tehnika ne pokazuje nedostatke centraliziranog upravljaa zakljuivanja.
Vremenske oznake
Kod centraliziranih sustava sprijeavanje uzajamnog blokiranja je bila skupa operacija
pa se najeee pribjegavalo njegovom detektiranju i ponitavanju nekih transakcija koje
su u njemu imale uee. Kod distribuiranih sustava operacija ponitavanja transakcija je

skuplja nego kod centraliziranih sustava, pa se primjenjuje i druga mogunost rijeavanja


problema uzajamnog blokiranja njegovo sprijeavanje. Ono se postie na raun smanjene konkurentnosti izvrenja skupa transakcija.
Jedna metoda konkurentnog izvravanja skupa transakcija koja iskljuuje mogunost
uzajamnog blokiranja je metoda vremenskih oznaka. U ovoj metodi transakcijama se dodijeljuju oznake vremena njihovog poetka, i doputaju se konfliktne radnje samou redoslijedu vremenskih oznaka pripadnih transakcija (pokuaj da se ide drugim redoslijedom
rezultira ponitenjem transakcije). Dok metoda zakljuivanja, uz detekciju i razrijeavanje nastalog uzajamnog blokiranja, osigurava ekvivalentnost konkurentnog izvrenja s
nekim (unaprijed poznato kojim) serijskim izvrenjem, metoda vremenskih oznaka osigurava konkurentnost ekvivalentnog izvrenja sa specifinim, unaprijed poznatim serijskim
izvrenjem.
Ideja ove metode:
- Svakoj transakciji dodijeljuje se jedinstvena vremenska oznaka. Ona se dobije
dopisivanjem rednog broja lokacije oznaci vremena aktiviranja transakcije
(oznaka lokacije je neophodna jer se vie transakcija na vie lokacija moe
istovremeno aktivirati).
- Auriranja se fizki upisuju u bazu tek pri uspjenom kompletiranju transakcije
- Svaki fiziki primjerak logikog objekta u bazi nosi vremensku oznaku transakcije koja ga je posljednja aurirala (raznim optimizacijama vremenske oznake objekata u bazi mogu se izostaviti)
- Svaki zahtjev starije transakcije T1 za operacijom odbacuje se, a transakcija se
ponitava i ponovno aktivira, ukoliko je taj zahtjev u konfliktu sa operacijom
koju je ve, nad istim objektom izvrila mlaa transakcija T2. Operacija transakcije T1 je u konfliktu s operacijom tranakcije T2 ako se izvravaju nad istim
fizikim objektom, i bar jedna od tih operacija je auriranje.
- Ponovno aktiviranoj transakciji dodijeljuje se nova vremenska oznaka
Oporavak
Da bi se dobila atominost transakcije u distribuiranom okruenju, u smislu da se izvre
sve njene radnje ili nijedna, sustav za ipravljanje transakcijama mora osigurati da se svi
procesi te transakcije uspjeno kompletiraju ili da se svi njihovi efekti ponite. Na primjer, da bi se izvrilo auriranje logikog objekta x, od strane neke transakcije, potrebno je
uspjeno izvriti auriranje svih primjeraka tog objekta. Taj zadatak zahtijeva posebno
razmatranje zato to su primjerci jednog objekta na raznim lokacijama koje, nezavisno
jedna od druge, mogu biti onemoguene da izvre tu radnju (npr.zbog pada sustava). Da
bi se osiguralo da auriranja svih primjeraka svih objekata od strane jedne transakcije
budu uspjeno izvrena, ili da nijedno ne bude izvreno, primjenjuje se poseban protokol
dvofaznog komplementiranja transakcije. Njemu se pristupa kada je koordinator transakcije obavijeten da su svi procesi te transakcije zavrili sa radom(uspjeno ili neuspjeno),
i sastoji se od dvije faze:
- Za svaki logiki objekt x koji transakcija T aurira, i za svaki primjerak xi objekta x, koordinator te transakcije alje poruku lokaciji i (njenom SUBP) da
preliminarno aurira objekt xi . Ako je proces transakcije T na lokaciji i us-

pjeno izvren, lokacija i odgovara tako to izvri preliminarno auriranje, tj.


prepisuje vrijednost xi iz radnog prostora transakcije u svoju log datoteku, i
obavjetava o tome koordinatora; u suprotnom sluaju, lokacija obavjetava
koordinatora o neuspjehu.
Ako je koordinator obavijeten da su sve radnje preliminarnog auriranja svih
objekata koje transakcija T aurira, na svim lokacijama, uspjeno obavljene,
on alje poruke tim lokacijama da izvre operaciju konanog auriranja svih
svojih primjeraka svih objekata koje T aurira; lokacije odgovaraju tako to
odgovarajue vrijednosti iz svojih log datoteka prepisuju u svoje lokalne baze
i oslobaaju resurse koje je transakcija T drala. Kada se obave sva ta prepisivanja i o tome obavijesti koordinator, izvrenje transakcije T je zavreno. Ako
je koordinator obavijeten da bar jedna lokacija nije uspjeno obavila prvu
fazu, on alje poruku svim lokacijama o ponitenju transakcije.

Ovakav protokol dvofaznog komplementiranja transakcije u implementacijama se poboljava na razne naine, u cilju smanjenja broja poruka koje se prenose. Npr., mogue je
pretpostaviti da e komplementiranje biti uspjeno i time eliminirati slanje poruka iz prve
faze. Ukoliko je kompletiranje zaista uspjeno, broj poruka je znatno smanjen; ukoliko je
kompletiranje (a pretpostavlja se da je to rijei sluaj), broj poruka se uveava,a zahtijeva
se i ponitavanje odreenog broja radnji.

Heterogeni distribuirani sustavi


Prerpostavka o homogenosri DSUBP, tj. pretpostavka da sve lokacije u DSUBP imaju
isti SUBP pokazala se kao prejako ogranienje u dananjim uvjetima, kada velike koliine podataka i aplikacija postoje na raznim raunalima, pod razliitim operatuvnim sustavima i pod kontrolom razliitih SUBP. Potreba za istovremenim pristupom ovakvim
podacima unutar jedne aplikacije, ili ak i jedne transakcije, postavlja zahtjev pred proizvoae DSUBP da osiguraju podrku heterogenim sustavima. To znai da, pored nezavisnosti pristupa podacima i obrade podataka od lokacije, fragmentacije, ponavljanja
podataka, stroja, operatvinog sustava i mrenog protokola, heterogeni distribuirani sustav
mora osigurati i nezavisnost od SUBP na pojedinim lokacijama.
Postoje dva razliita pristupa rijeavanju ovog problema. Jedan je izgradnja tzv. sustava multibaza podataka, SMBP. SMBP je programski sustav koji se sastoji od niza
komponenti. Jedna od njih je jedinstveni jezik za kreiranje podataka i manipuliranje
podacima koji su pod kontrolom heterogenih SUBP.
Druga komponenta SMBP je globalni upravlja transakcija. SMBP osigurava, pored
lokalnih transakcija ( nad jednim SUBP), i upravljanje globalnim transakcijama. Globalne transakcije se sastoje od veeg broja podtransakcija koje se izvravaju nad pojedinanim (razliitim) SUBP, i sa njihove pozicije se ponaaju kao lokalne transakcije.
SMBP ukljuuje i skupove servera, po jedan za svaki lokalni SUBP, koji se ponaaju
kao veza izmeu globalnog upravljaa transakcija i lokalnog SUBP. Svaka globalna

transakcija predaje globalnom upravljau transakcija operacije itanja i upisa, a ovaj ih


mor predati na obradu lokalnim SUBP (preko odgovarajuih servera), odloiti ili prekinuti transakciju. Kada globalni upravlja transakcija odlui kopletirati globalnu transakciju, on upuuje komandu za kompletiranje lokalnim SUBP. Globalni upravlja transakcija je odgovoran za funkcionalnost i za odravanje svojstava globalnih transakcija,
(ACID svojstva, globalna lineariziranost izvrenja skupa transakcija izbjegavanje ili
razrijeavanje uzajamnog blokiranja, oporavak od sistemskih padova).
Oblast sustava multibaza je jo uvijek otvorena istraivaka oblast. Osnovni cilj ovih
sustava je da kroz upravljanje globalnim transakcijama odravaju konzistentnost multibaze.
Drugi pristup heterogenim sustavima je komercijalno zastupljeniji. Radi se o zgradnji
aplikacijskih programa, tzv. prolaza (eng. gateway) sustava SUBP1 prema sustavu
SUBP2 koji omoguava korisnuku SUBP1 (na lokaciji l1 ) da komunicira sa SUBP2 (na
lokaciji l2 ).
Realizacija aplikacijskog programa prolaza sustava SUBP1 prema sustavu SUBP2 je u
nadlenosti sustava SUBP1, a program se izvrava nad sustavom SUBP2. Npr., ako je
SUBP1 sustav Oracle a SUBP2 sustav DB2, onda bi prolaz sustava Oracle prema sustavu
DB2 omoguio korisniku sustava Oracle da komunicira sa sustavom DB2, lano predstavljajui sustav DB2 kao Oracle.
Aplikacijski program prolaz ostvaruje kroz:
- protokol za razmjenu informacija izmeu SUBP1 i SUBP2
- relacijski server za SUBP2
- preslikavanja izmeu tipova podataka i upitnih jezika dva sustava
- preslikavanje strukture kataloga sustava SUBP2 u strukturu kataloga sustava
SUBP1
- uee u dvofaznom protokolu kompletiranja transakcija
- doslijednu primjenu mehanizma zakljuivanja, itd.
S obzirom na znaaj koji ima realizacija kvalitetnih programa prolaza, postoji razvijena
aktivnost standardizacije odgovarajuih protokola. U implementaciji pune funkcionalnosti prolaza javljaju se znaajni problemi, pa zato komercijalni proizvodi ovog tipa ne
podravaju sve potrebne funkcije.

You might also like