You are on page 1of 133

Ba e podataka

Baze
Tema: Distribuirane baze podataka
*** SPECIJALISTIKE STUDIJE ***

Prof dr Borivoje Miloevi


Prof.

Visoka tehnika kola strukovnih studija


j - NI
PRETEA BAZA - Klasina organizacija
datoteka
IS jje sainjavao
i j skup
k nezavisnih
i ih aplikacija
lik ij

Svaka aplikacija - sopstvene datoteke


Skladite podataka - skup datoteka

Podaci o istom entitetu u razliitim


datotekama

Vremenom, takav IS dolazi u


kontradikciju sa samim sobom
?
PRATE]A OBRA^UNSKI
RADNI NALOG OTPREMNICA
DOKUMENT. LIST

OBRADA
LANSIRANJE
LI^NIH PRODAJA
PROIZVODNJE
ZARADA

RADNA TEHN. RADNA FINALNI


PROIZVODI RADNICI KUPCI
MESTA POSTUPAK LISTA PROIZVODI

Sistemski dijagram" jednog skupa "aplikacija" u nekom


informacionom sistemu klasina organizacija
organizacija.
Svaka aplikacija je razvijana posebno
Koristi
K i i svoje
j "privatne"
" i " datoteke
d k sa fizikom
fi ik
strukturom podataka pogodnom za tu aplikaciju.
Tipovi baza Baze Komercijalne baze
podataka otvorenog koda podataka
d t k

Objektno-relacione baze MySQL Oracle


podataka PostgreSQL IBM DB2
Objektno orijentisane baze Informix
podataka
Cloudscape
l d
InterBase
XML baze podataka Firebird
Progress
Distribuirane
st bu a e baze
ba e HSQLDB Mi
Microsoft
ft SQL Server
S
podataka
Ingres DBase
Aktivne baze podataka
Prostorne baze podataka MaxDB Foxpro
Deduktivne baze podataka MonetDB InterBase
Data warehose
SQLite
Data mining
Mobilne
bil baze
b podataka
d k tdbengine
Embedded baze podataka
PRATE]A OBRA^UNSKI
RADNI NALOG OTPREMNICA
DOKUMENT. LIST

OBRADA
LANSIRANJE
LI^NIH PRODAJA
PROIZVODNJE
ZARADA

SISTEM ZA
UPRAVLJANJE
BAZOM PODATAKA
(SUBP)

BAZA
PODATAKA

DBMS - Sistem za upravljanje bazom podataka


BAZA PODATAKA

Baza podataka je skup klasa entiteta podataka sa


viestrukom namenom. Korisnik nije zainteresovan za
sve vrste podataka u bazi, ve samo za one koji su
mu potrebni za njegov posao. Korisnik moe imati
uvid u samo jednu, njemu potrebnu datoteku, koja
ima uvek istu i to vrlo jednostavnu strukturu, iako je
u naelu izvedena iz mnogo kompleksnije strukture
podataka. Razliiti korisnici uzimaju u obzir razliite
datoteke izvedene iz iste baze podataka.
podataka Dakle
Dakle, iako
je baza podataka zajednika veem broju korisnika,
razliiti korisnici je razliito shvtaju i koriste.
BAZA PODATAKA
O

Prema Ulmanu, zajednika osobina svih baza


podataka je:
- Apstraktni model podataka
- Visok nivo pristupa ili upitnih jezika
- Upravljanje
p j j transakcijamaj u viekorisnikom
okruenju
- Kontrola pristupa i vlasnitvo nad podacima
- Validacija podataka i provera konzistentnosti
- Konzistentni oporavak sistema posle sistemskog
ispada i/ili ispada hardverske opreme
Opta arhitektura SUBP- 3 eme
ANSI/SPARC arhitektura
Data
Data Definition
Manipulation
M i l ti
Language
Language
PROGRAMER A KORISNIK A PROGRAMER B PROGRAMER C PROGRAMER D

JEZIK DOM. UPITNI JEZIK DOM. JEZIK DOM. JEZIK DOM.


+DDL+DML JEZIK +DDL+DML +DDL+DML +DDL+DML

POD[EMA POD[EMA EKSTERNI


A B NIVO

Eksterna
KONC/EKS PRESL. A KONC/EKS PRESL. B
ema
RE^NIK
PODATAKA

KONCEPTUALNI
EMA
[ E M A NIVO

Konceptualna
ema
KONCEPTUALNO/INTERNO PRESLIKAVANJE

INTERNI
ADMINISTRATOR NIVO
BAZE
PODATAKA
Interna
BAZA PODATAKA
ema
Opta arhitektura SUBP- 3 eme
ANSI/SPARC arhitektura
PODELA BAZA PODATAKA

Operacijske
Distribuirane baze podataka
Eksterne baze podataka
Data Warehouse
h i Data Mining
i i
Hipermedijalne baze podataka na
Web-u.
Operacijske ( transakcijske,
produkcijske ) baze podataka:

- pamte detaljne i aktuelne podatke


potrebne za podrku
p p poslovnih
p procesa
p i
operacija u e-biznis preduzeu. Primeri 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


ilil delove
d l baze
b podataka
d k na razliitel mrene servere.
Distribuirane baze se mogu dakle nalaziti na razliitim
serverima Web_a, intranet, extranet ili neke druge
kompanijske mree. Distribuirane baze mogu biti
kopije operacijskih ili analitickih, 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 istovremeno aurirani
je jedan od
glavnih zadataka distribuiranih sistema - DDBMS-a.
Eksterne baze podataka:

- Pristup informacijama iz eksternih baza podataka


je mogu putem velikog broja komercijalnih online
servisa, 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
e ltat ekonomskih i
demografskih istraivanja i aktivnosti. Takoe su
popularne bibliografske ili full text baze, iz kojih se
mogu videti
id ti ili download-ovati
d l d ti apstrakti
t kti ili kompletne
k l t
kopije raznih asopisa, istraivakih radova i drugih
publikovanih materijala.
Data Warehouse i Data Mining:

- Data Warehouse baza podataka memorie podatke


ekstrahovane iz razliitih operacijskih, eksternih ili
nekih drugih
g baza podataka
p u okviru organizacije.
g j
Ona je centralni izvor preienih i transformisanih
aktuelnih i istorijskih podataka koje koriste menaderi
g poslovni
i drugi p strunjaci
j za data mining,
g, OLAP
(Online Analytical Processing) i druge vrste poslovnih
analiza, istraivanja trita, i podrku odluivanju.
Data warehouse moe biti p podeljen
j na data mart-
ove koji sadre podskupove podataka warehose-a, a
koji su fokusirani na neki specifini aspekt kompanije,
kao to je odjeljenje ili poslovni proces.
Hipermedijalne baze podataka na Web-u.:

Rapidni napredak Web tehnologija je znaajno


poveao primenu baza - skupova
hipermedijalnih dokumenata, koje se nazivaju
hipermedijalne baze podataka. Hipermedijalna
baza podataka je zapravo web stranica koja se
sastoji od hiperlinkovanih multimedijalnih
strana. Dakle, sa take gledita teorije baza
podataka, hipermedijalna baza podataka nije
skup meusobno povezanih slogova,
slogova ve skup
meusobno hiperlinkovanih multimedijalnih
strana i dokumenata.
Motivacija

Da bi se stekla precizna slika o


bazama podataka, nije
dovoljno samo definisati pojam
baze podataka i odabrati
modele!

Potrebno je prvo, baze


podataka sagledati u kontekstu
njihovog istorijskog razvoja i
naina na koji su bile
organizovane,
i na kojoj
k j j platformi
l tf i
i upotrebom kojih programskih
alata?
BACK TO PAST

Do nedavno su se velike baze podataka mogle pokretati samo


na mainframe raunarima. Do kraja 80-tih i poetka 90-tih
godina 20. veka obrada podataka na mejnfrejmovima je bio
jedini izbor za organizacije kojima je bilo potrebano obimno
procesiranje podataka, kao i podrka za veliki broj korisnika.
Mejnfrejmovi su bili u upotrebi preko 20 godina a glavni razlog
za njihovu dugovenost je bila njihova pouzdanost. Sposobnost
mejnfrejmova da istovremeno podravaju veliki broj korisnika
dok istovremeno vree brzo prikupljanje informacija, njihovo
procesiranje i prosleivanje, doprineo je njihovoj prihvaenosti u
oblasti velikih firmi i korporacija.
MAINFRAME

sva
procesiranja,
upravljanje
RDBMS,
upravljanje
aplikacijama

p j j komunikacijom
Upravljanje j

IInteligentni
t li t i
termilali
PC/File server
Obrada podataka PC/File serverom je podrazumevala pokretanje
aplikacije RDBMS-a na samom PC raunaru. Druga veoma vana
tehnologija je bila lokalna mrea (LAN) i njena integracija u firmama
irom sveta. Radilo se dakle o relacionojj bazi podataka
p u heterogenom
g
mrenom okruenju. Iako su korisnici bili naviknuti na terminalske
konekcije ka firminom mainframe-u , sada su fajlovi koji su se obraivali
mogli da sauvaju na lokalnom kompjuteru pa da im se pristupa i sa
nekog drugog kompjutera prikljuenog na istu lokalnu mreu.

Na PC-u se izvravalo svo RDBMS procesiranje dok se je fajl server


koristio kao centralizovana oblast za skladitenje podataka. Nakon to je
Apple Macintosh uveo grafiki interfejs (Graphic User Interface GUI)
kompjuteri su pored jeftinosti i solidne procesorske snag
snag,e
e postali i laki
za korienje.

Glavna negativna strana PC/File server procesiranja je to se svo


procesiranje baze podataka izvravalo na PC raunaru.
raunaru Kada bi se poslao
upit fajl serveru on ne bi procesirao upit ve bi vratio sve podatke koji su
potrebni za obraivanje tog upita. To je dovodilo do umanjenja
performansi i drastinom poveanju zaguenja mree.
PC/File server
PC/File server
Raunari su konektovani na Local Area Network (LAN).
J di t
Jedinstveni i File
Fil server pamtiti jjedinstvenu
di t kkopiju
ij fajlova
f jl
baze.
Aplickacija je pokrenuta na svim raunarima /( PC ) na
mreii i pristupa
i t istom
i t setu
t fajlova
f jl na serveru. Aplikacija
A lik ij je
j
takoe DBMS.
Poslovna pravila su ukljuena u aplikaciju ali ona mora da
se izbori
i b i sa kontrolim
k t li konkurencije
k k ij ( zakljavanjem
klj j
slogova ) itd.
Svaki korisnik pokree kopiju iste aplikacije i pristupa istim
f jl i
fajlovima - datotekama
d t t k b
baze.
Primer: Deljenje fajlova MS Access na Fajl serveru.
Client/Server
/
Client/Server obrada se moe definisati kao logika podela
korisnikog interfejsa i upravljanja bazom podataka.

Client kompjuter, esto nazivan i radna stanica, kontrolie


korisniki interfejs. Na njemu se korisniku predstavlja informacija u slici
i tekstu i na njemu takoe korisnik unosi podatke i svoje zahteve.

Serverski kompjuter se stara o upravljanju bazom podataka. Na


njemu se vri:
manipulacija podacima,
smetaju
j svi podaci,
p ,i
sa njega se prosleuju potrebni podaci odreenom korisniku.

Sve obrade nad podacima se obavljaju na ovom


serverskom raunaru.

Serverski kompjuter je obino povezan sa vie klient kompjutera


putem mree bilo ona LAN ili WAN. Oni meusobno komuniciraju kroz
zajedniki mreni protokol koji im omoguava da razmenjuju
informacije.
Client/Server
/
Radne stanice koje
zahtevaju i koriste servise
D t B
DataBaseServera
S

DBMS samo na
serveru

PC/mini/mainframe
obezbeuje
j sve servise
Aplikaciona logika u Klijent-Server
sistemima

Presentation Logic
Input keyboard/mouse
GUI Interface
Output monitor/printer

Processing Logic
I/O processing Procedures, functions,
Business rules programs
Data management

Storage Logic
Data storage/retrieval DBMS activities
Fig 1 Arhitektura Klijent/Server sistema na NET_u
Glavne komponente korisnikog procesora su:

Web Server Software i komponente servisa kao ISAPI


( Internet Server Application Programming Interface N-tier
API za Internet Information Services ( IIS )), CGI
( Common Gateway Interface ) kao standardni softverski
metod
t d za web
b servere i delegiranje
d l i j itave
it generacije
ij web
b
strana i ASP ( Active Server Pages ), JSP ( JavaServer
Pages, kao tehnologije koje pomau softverskim
inenjerima da dinamiki generiu web strane bazirane na
HTML, XML ) , etc.

Transaction Manager.
g

Jezgro sistema - Core System.


Opisani DDB sistem ima samo jedan kontrolni sajt ( Control
Site ) i nekoliko sajtova podataka ( Data Site ). Kontrolni sajt je
k i iki procesor a svaki
korisniki ki sajt
jt podataka
d t k je
j procesor podataka,
d t k
Na ovoj figuri, Fig. 1., tri komponente ine korisniki procesor,
ali zadravamo se na dve najznaajnije:

Transaction Manager i
Core System.

etiri procesora u jezgru sistema su obezbeena da podre


etiri tipa SQL naredbi. Selection processor, najkomplikovaniji
od sve etvorice, je podeljen u tri dela za dekompoziciju,
lokalizaciju i optimizaciju upita.

Input iz jezgra sistema je neobraena SQL naredba. Ovo


prouzrokuje SQL zapis kroz leksiki i semantiki parser.
parser
Data Dictionary
Data Dictionary se uglavnom koristi za reavanje tri zadatka:

Prvo za Query Decomposition problem,


problem zapamtiemo
informacije u globalnoj emi, ili proveriti tanost ulaznih SQL
stringova, pri emu moramo imati globalnu emu svake tabele.

Drugo za Data Localization problem, zameniemo tabele njenim


fragmentima. Pri tome je izvesno da moramo zapamtiti
informaciju fragmentacije u spoljnjem Data Dictionary.

Tree za Query Optimization problem, trebamo znati statistiku


svakog fragmenta. Da bi sumirali rezultate potrebna je globalna
ema, informacije o fragmentaciji i statistika informacija o
fragmentima.
fragmentima
Za svaku relaciju u DDB, postavljaju se tri nivoa informacija:

Prvi je SchemaInfo nod,


nod koji sadri informacionu emu relacije.
relacije
Globalno, SchemaInfo nod svih relacija u DDB organizovan je
kao vektor koji se naziva GlobalSchemaTable.

j FragmentAction
Drugii je
D F tA ti stablo
t bl za svaki
ki nod,
d koje
k j opisuje
i j
proces fragmentacije za svakun relaciju. Ovim stablom moemo
lako oporaviti formular za rekonstrukciju.

Trei sloj sadri vektor FragmentInfo nodova. Svaki od njegovih


elemenata opisuje potrebne informacije o svakom finalnom
fragmentu. Tako je svaki FragmentInfo nod pokaziva na
korespondirajui nod u kraku stabla FragmentAction. U dodatku,
dodatku
svaki SchemaInfo nod je ukaziva na vektor u FragmentInfo
nodu.

Q
Query Tree
T j sredinja
je di j struktura
t kt podataka
d t k za d
dekompoziciju
k i ij i
lokalizaciju, i ima uticaja na optimizaciju i izvravanje upita.
SQL Parser
SQL parser je master modul jezgra sistema, koje je srce naeg
korisnikog procesora,
procesora jer jedino skup ulaznih SQL naredbi proputenih
kroz parser, mogu kao takve biti izvrene.
Parser se generie famoznim lex and yacc ( computer program yacc je
parser generator ) .

SQLstatement je osnov izvrenja zadatka. Kada se ona pozove,


kompletiran je parsing sistem i sve dekompozicije operacija su zavrene.
Znai, potrebno je samo pozvati korektni modul procesora kucanjem
Q naredbe.
SQL

SQLstatement : select\_statement { call selection processor }


| create\_table\_statememnt { call Table creation processor }
| insert\
insert\_statement
statement { call Insertion processor }
| delete\_statement { call Deletion procssor }

Obe SELECT i DELETE naredbe, sa WHERE klauzulom, sadre logike


uslove
l AND, OR,
O NOT,
O i svaki k operandd se moe komparirati
k uslovima
l
>=, <=, !=, >, <. U sluaju normalizacije i eliminacije redundancije,
moramo konstruisati logiko stablo operacija iji su kraci komparacije
meu operandima. Tada delimo sve krake na dve kategorije: prva se
naziva simple predicate, a druga je join rule.
Client/Server
/ karakteristike

Pristupnost obrada podataka ovom metodom je drastino


jeftinija od metode mejnfrejma. Client/Server je baziran na
otvorenoj arhitekturi to omoguava da vie proizvoaa
proizvodi konkurentne proizvode i time snizi cenu, za razliku od
mejnfrejmova, ije je elemente proizvodio proizvoa samog
mejnfrejma i time diktirao cene. Client/Server je uglavnom
baziran na PC raunarima, pa je prisutan drastinan pad cena
raunara doveo do dalje pristupanosti celokupnog sistema.

Brzina razdvajanje obrade informacija izmeu klijenta i


servera smanjila je zaguenje mree to je dovelo da
klijent/server ima performanse jednog mejnfrejma.
mejnfrejma
Client/Server
Prilagodljivost klijent/server arhitektura je daleko otvorenija
od mejnfrejm arhitekture. To je omoguilo stvaranje jednog
sistema kod koga je softver nabavljen od jednog proizvoaa
sistema za upravljanje bazama podataka, hardver od drugog
proizvoaa a softver za razvoj aplikacija od treeg proizvoaa.
Tako sada kupci mogu da odaberu komponente koje im po
potrebama, performansama i ceni najvie odgovaraju.

Pojednostavljen pristup podacima Klijent/Server poveava


dostupnost podataka masama korisnika. Sa njim, pristup
podacima
d i nije
ij ogranien
i na one kkojej razumeju
j proceduralno
d l
programiranje. Naprotiv, pristup podacima je obezbeen
softverskim paketima koji prikrivaju svu kompleksnost pristupa
podacima. Softver za obradu teksta, rad sa tabelama su samo
primeri
i i uobiajenih
bi j ih softverskih
ft kih paketa
k t koji
k ji omoguavaju
j lak
l k
pristup podacima.

Principijelna ema Klijent/Server arhitekture data je na Fig. 2.


Meuprocesna komunikacija
3 slojna Client/Server arhitektura
Sastoji se od tri esencijalne komponente

nPC
PC na strani
t i klij
klijenta
t
Servera aplikacija
Servera baze podataka

Ova arhitektura podrazumeva:

Klijenska radna stanica ne trai posebne resurse za rad


Nema modifikacija na klijentskoj strani ako se menja lokacija baze
Prostiji kodovi za distribuciju sa klijentom
Jedan server manipulie mnotvom korisnikih zahteva
Potrebu obezbeenja vie resursa za serverske programe
Redukovanje saobraaja podataka kroz mreu
Troslojna Three Tier
Arhitektua

GUI iinterface
f Browser
Klijent (I/O processing)

Aplikacioni server Business rules W bS


Web Server

Database server Data storage DBMS

Clijent
j
PC klijent je samo za korisniki interfejs ili procesiranje
jednostavnih aplikacija. Nekada nemaju svoje hard
di k !
diskove!
Delovi aplikacije koji su zadueni za poslovnu logiku instaliraju
se na posebnom serveru Business Logic,

PC raunari, mobilni ureaji i sl. obuhvataju korisniki interfejs


(Presentation layer), a

baza je izdvojena na poseban server (Database-tier).


Na tajj nain su olakani instalacija
j i odravanje
j softvera. Kako
su korisniki
programi postali mali, pitanje njihove distribucije
reeno je prikljuenjem na mreu.

Nadogradnja postojeih aplikacija je postala bezbolna po


prikljuenju na mreu, aplikacija detektuje da postoji nova
verzija, preuzme je sa mree, instalira ja i nastavlja rad.

Aplikacije
lk na srednjem
d nivou se lako
l k administriraju,
d a svaka
k
promena na serveru ne zahteva promenu na korisnikim
aplikacijama. Praktino, ostvaruje se nezavisnost u smislu:

odvojenog razvoja klijentskih aplikacija,


dodavanja novih operacija unutar poslovne logike ili
intervencija na samoj bazi.

Ukoliko na srednjem nivou ima vie raunara sa kojima korisnik


moe da komunicira u zavisnosti od tipa obrade, govorimo o
j
vieslojnim (multi-tier)
( ) sistemima. Komponente
p aplikacije
p j su
tada distribuirane po razliitim
raunarima:
ulazimo u eru
arhitekture distribuiranih objekata.
3 slojna Client/Server arhitektura

Aplication Server Database Server


Karakteristike
t l j arhitekture
troslojne hit kt

U troslojnom generikom modelu jasno


se odvaja upravljanje podacima,
aplikaciona logika i korisniki interfejs.

Prilagodljivost brzim promenema, kako


u korisnikom
k i ik ((poslovnom),
l ) ttako
k iu
implementacionom (tehnolokom)
okr enj
okruenju.
Karakteristike
troslojne arhitekture
Omoguava
O transparentno
t t povezivanje
i j
korisnikih aplikacija sa razliitim izvorima
podaka na raznim platformama
platformama, a ne samo sa
jednim serverom baze podataka.

Sutinu ove arhitekture odraava srednji sloj


koji
oj se razliito
o naziva:
v : aplikacioni
p c o seserver,
ve ,
transakcioni server, server komponenti, server
poslovnih pravila, ime se posebno istie neka
funkcionalnost ovoga sloja.
Karakteristike
troslojne
l j arhitekture
hi k
Koncept distribuiranih softverskih komponenti (CORBA, DCOM,
Java Beans) omoguava da se distribuiraju i komponente srednjeg
sloja
j

Troslojna arhitektura je generika za vieslojne arhitekture koje


postaju
t j opte
t prihvaeni
ih i standard.
t d d

U njima
j se razliite funkcije
j srednjeg
j g sloja
j (middleware)
raslojavaju, da bi se preko veeg broja slojeva, odnosno veeg
stepena indirekcije, omoguila vea modularnost, heterogenost i
elastinost sistema.
PEER to PEER Distribuirani DBMS
Service Oriented Architecture Protocol

SOA - Servce
Oriented
Architecture, kao
koncept za
povezivanje vie
sistema i
obezbeenje
potrebnih servisa.
ta je to distribuirani objekat?
Distribuirani objekat je objekat koji se definie na jednom
sistemu a moe se koristiti na drugom. U toj komunikaciji mogu
uestvovati jedan ili vie kompjutera. Cilj je da se obezbedi
integracija servisa sa razliitih platformi
platformi.

Sistem zasnovan na distribuiranim objektima je skup objekata


j razdvaja
koji j one kojij zahtevaju
j usluge
g (klijente)
( j ) od onih koji
j
pruaju
usluge (servera) uz pomo dobro definisanog
enkapsulirajueg interfejsa. Drugim reima, klijenti su odvojeni
od implementacije servisa, npr. zapisa podataka i izvrnog koda.
Ovo jje jedna
j od najbitnijih
j j razlika koja
j izdvaja
j model zasnovan
na distribuiranim objektima od istog
modela klijent server.

Primenom distriburanih objekata mogu se kreirati klijent/server


aplikacije sa troslojnom ili vieslojnom arhitekturom,
arhitekturom koje
omoguavaju implementaciju sinhronih ili ansihronih reenja za
Internet, intranet i/ili ekstranet.
Tehnologije
g j vieslojnih
j arhitektura

S obzirom da se sistemi zasnovani na distribuiranim


objektima razvijaju ve decenija unazad
unazad, na tritu
postoji sijaset razliitih platformi (tehnologija) za
implementaciju vieslojne arhitekture. Pri odabiru
distribuirane tehnologije treba obratiti panju na
sledee parametre:

prenosivost (portabilnost) klijentske i serverske platforme


prenosivost programskog jezika
performanse pri izvravanju
jednostavnost razvoja
sigurnost

Rezultati testiranja sa razliitim komunikacionim modelima za


udaljeno pozivanje komponenata do danas su rezultirali
sledeim tehnologijama:
COM+ / DCOM
COM+ predstavlja evoluciju starije tehnologije COM (Component
Object Model). COM je specifikacija za objekte koja definie
interfejs preko koga razliiti objekti mogu da komuniciraju
komuniciraju.

COM je nezavisan od programskog jezika ukoliko implementira


COM interfejs. j Teoretski,, moe da se implementira
p na razliitim
operativnim sistemima, meutim, ne podrava ih niko osim
Microsoft Windows-a. Da bi se omoguilo da COM objekti sa
razliitih sistema meusobno razmenjuju informacije, COM
p j jje p
specifikacija proirena i nastao jje DCOM ((Distributed COM). )
DCOM poseduje znatno kompleksniji model konfiguracije i
sigurnosti.
COM+ / DCOM
CORBA / IIOP
CORBA (Common Object Request Broker Architecture) je
konkurentska specifikacija kreirana od strane Object
Management Group, grupe firmi koje razvijaju srednji sloj.
CORBA je nezavisna od jezika i implementirana na veem broju
platformi nego COM. Meutim, postoje nekompatibilnosti izmeu
implementacija kod razliitih proizvoaa.

CORBA predstavlja object bus koji omoguava klijentu da poziva


metode sa objekta na serveru uz nezavisnst programskog jezika i
lokacije objekta.

Interakcija je omoguena preko ORB (Object Request Brokers)


komponenata na klijentu i na serveru a komunikacija se odvija
preko IIOP (Internet Inter-ORB Protocol).

Mogunosti CORBA objekata definisane su pomou IDL


(Interface Definition Language).
CORBA / IIOP

CORBA
EJB / RMI preko IIOP
EJB (Enterprise JavaBeans) je specifikacija
koju je izdao Sun Microsystems za Java
Platformu. EJB je nezavisna od platforme, ali ne i
od jezika. Svi EJB objekti moraju biti napisani u
j ik JJava. Z
jeziku Za k
komunikaciju
ik ij iizmeu
razliitih
liitih
sistema, EJB koristi varijantu IIOP nazvanu RMI
preko IIOP (Remote Method Invocation over
IIOP). RMI je protokol rezervisan samo za Javu.
SOAP
SOAP (Simple Object Access Protocol) je kompletno kreiran nad
postojeim, proverenim i iroko prihvaenim tehnologijama kao to su
HTTP i XML. SOAP koristi XML za prenos podataka izmeu aplikacija,
a poto je XML univerzalni standard, sve platforme mogu da pristupe i
obrade informaciju.

Poto koristi HTTP, jednostavno prolazi kroz port 80, tako da firewall-ovi
ne p
predstavljaju
j j p
problem. Pristup
p razliitim aplikacijama
p j na raznim
platformama sa SOAP-om postaje jednostavan:
Java aplikacija na Unix-u jednostavno moe da poziva metode COM objekta
na Windows serveru.
Klijentska aplikacija na Mac-u
Mac u pristupa objektu na mainframe raunaru
raunaru.

Sve ovo postaje transparentno i ne zahteva bilo kakvu posebnu


administraciju.
SOAP
DCOM IIOP RMI/IIOP SOAP
Format Binarni Binarni Binarni Unicode

Platforma Windows Unix Nezavisan Nezavisan

Programski
Nezavistan Nezavistan Java Nezavistan
jezik

Izrada Moderna(RAD) Sloena Moderna Jednostavna

CORBA HTTP/SSL,
Win NT
Si
Sigurnost
t security
it J
Java security
it XML
Security
service signature

Lociranje Referenca URL

Opis tipova
IDL XML Schemas
podataka
CORBA event
Dogaaji COM+ Events
service
Motivacija za uvoenje ovakvih
arhitektura:

Fizika distribucija logiki jedinstvene


arhitekture IS
distribucija funkcionalnosti
programa
p g i aplikacija
p j
raspodela funkcionalnosti
programa na vie slojeva
(raunara) u mrei
omoguena uvoenjem K/S i S/S
arhitekture programske podrke IS

distribucija podataka
raspodela delova BP na vie servera
(raunara) u mrei
omoguena uvoenjem
di ib i
distribuirane arhitekture
hi k BP
Distribucija podataka
Razlozi
podaci nastaju i koriste se na vie, meusobno udaljenih
lokacija realnog sistema
realni sistem je geografski razuen
prirodno oekivanje da arhitektura IS prati geografsku
strukturu realnog sistema

Ciljevi
Da ppotrebni podaci
p iz BP budu zadovoljavajue
j j brzo
raspoloivi na vie lokacija istovremeno
Efikasno auriranje BP sa vie lokacija, u isto vreme
Ouvanjej svih teoretskih principa
p p i praktinih
p
dostignua
na kojima su, generalno, zasnovani savremeni SUBP i modeli
podataka
u uslovima
l i distribucije
di ib ij BP na vie
i lokacija
l k ij
Distribuirana BP BP u kojoj su podaci
smeteni na barem dva servera BP

logiki jedinstvena BP
opisana putem jedinstvene logike eme BP
sa fiziki distribuiranim delovima
opis fizike strukture ukljuuje specifikaciju distribucije delova
BP

Preduslov
postojanje raunarske mree koja povezuje servere BP
na barem treem nivou ISO/OSI arhitekture
Distribuirana obrada podataka
obrada podataka nad distribuiranom BP, je takva
da:

zadaci logike podataka i upravljanja podacima se, u optem


sluaju, mogu raspodeliti na sve servere - servere BP, koji
participiraju
p p j u distribuiranojj arhitekturi

Primer koji ne predstavlja distribuiranu obradu


podataka

delovi baze podataka su distribuirani na vie raunara


obrada podataka je centralizovana

nije mogue izvriti distribuciju zadataka logike


podataka i upravljanja podacima
Distribuirani IS

Oekivani efekti:
via raspololoivost IS-a
vea verovatnoa da e sistem korektno funkcionisati, kada
je to korisnicima potrebno
otkaz jednog servera u sistemu ne znai i otkaz celog
sistema, to je sluaj kod centralizovane arhitekture

bolje performanse IS-a


krae vreme odziva IS-a, na p
predviene zahteve korisnika
distribuirana arhitektura IS je, u optem sluaju, bolje
prilagoena potrebama geografski razuenog realnog sistema,
od centralizovane
Oekivani
k efekti
f k

bolje osnove za ouvanje integriteta


BP
vea verovatnoa da e validni podaci biti
smeteni u BP,, u okviru koje
j se kontroliu
ogranienja na podatke

uvoenje distribuirane arhitekture IS umanjuje


tenju za dezintegracijom IS, kao to je to
sluaj kod centralizovane arhitekture IS
Tipovii distribuiranih
Ti di t ib i ih BP
saglasno primenjenim SUBP

homogeni
na svim serverima BP je upotrebljen isti
SUBP za podrku distribuirane BP

heterogeni
upotrebljeno je najmanje dva, bitno
razliita SUBP za podrku distribuirane BP
Nivoi rada nad distribuiranom BP
Lokalni nivo podataka
opredeljen participiranjem tano jednog servera
distribuirane BP,
BP u obradi podataka
lokalna transakcija
lokalni upit
lokalno auriranje

lokalni korisnik
Globalni ((distribuirani)) nivo podataka
p
opredeljen participiranjem vie od jednog servera
distribuirane BP, u obradi podataka
globalna
l b l (distribuirana)
(di ib i ) transakcija
k ij
globalni (distribuirani) upit
globalno (distribuirano) auriranje
globalni korisnik
Definicija DISTIBUIRANIH BAZA

Skup baza podataka smetenih na vie razliitih


raunara i pprostornih lokacija,
j a sa kojima
j
korisnik radi kao da je u pitanju jedna jedinstvena
baza.
Aplikacije istovremeno pristupaju i menjaju
podatke na vie razliitih baza podataka u mrei,
gde mrea moe biti LAN ili WAN.
Osnovne karakteristike DBP:
- Predstavlja skup logiki povezanih deljivih podataka
- Podaci su razdvojeni na vie fragmenata
- Fragmenti se mogu replicirati
- Fragmenti/Replikacije pripadaju lokacijama
- Lokacije
L k ij su povezane komunikacionom
k ik i mreom

- Podaci su na svakoj lokaciji pod nadzorom DBMS-a
- DBMS na svakojj lokaciji
j moe upravljati
p j lokalnim
aplikacijama autonomno
- Svaki DBMS uestvuje u najmanje jednoj globalnoj
aplikaciji.
Chris Date

Roen 1941.god. Watford, England


Specijalizovani autor, istraiva i
konsultant za relacione baze
podataka
IBM
IBM HHursley
l (U(U.K)
K) radi
di kao
k
programer instruktor
ef instruktora u IBM
IBMuu za
European education program
Knjiga An Introduction to
Knjiga
Database Systems - 700000 kopija
Chris Date-ova 10 pravila

1
1. Lokalna autonomija lokalnim podacima se upravlja
nezavisno od ostalih mesta;
2. Nezavisnost od lokacije korisnici i programeri ne
moraju znati lokaciju ili put do podataka;
3. Nepostojanje centralnog mesta ni jedno mesto nije
vanije od drugog;
4. Neprekinuti rad ni jedna planirana aktivnost ne bi
trebala kao preduslov za svoje izvravanje traiti
"
"sputanje"
j " (engl.
( shutdown)
h d ) baze podataka;
5. Nezavisnost od deljenja tabelu (relaciju) koja je
fragmentirana (podeljena) korisnici i dalje vide kao
jedinstvenu tablicu;
Chris Date-ova 10 pravila

6. Nezavisnost
N i odd replikacije
lik ij transparentno upravljanje,
lj j
pristup i auriranje redundantnih podataka,
rekonstruisanje
j nakon ispada
p zbog
g razliitih g
greaka;;
7. Optimizaciju distribuiranih upita i nezavisnost od
performansi;
8. U
Upravljanje
lj j distribuiranim
di t ib i i transakcijama:
t k ij umetnute
t t
transakcije koje auriraju vie mesta izvravaju se sa
istovremenom kontrolom i oporavkom od konflikata;
9. Nezavisnost od hardvera, operativnog sistema, mree,
baze podataka;
10. P t j j distribuiranog
Postojanje di t ib i pristupa
it reniku
ik podataka.
d t k
Definicija
Distribuirana baza podataka fiziki delovi
baze se nalaze na razliitim vorovima mree
Predstavljaju federativne (viestruke) baze
podataka virtuelna integracija razliitih baza
Paralelne arhitekture podtipovi:
deljiva memorija
deljivi diskovi
nita deljivo nezavisni procesori sa sopstvenom
memorijom u mrei velike brzine (bus ili switch)
memorijom,
DBP predstavlja
d t lj
Kolekciju vorova sa lokalnim SUBP i
sposobnou kolaboracije sa bazama na
drugim vorovima
Karakteristike:
a a te st e:
lokalna autonomija (obrade, uvanja podataka)
logiki jedinstvena velika baza podataka
OSOBINE DDBMS
Skup logiki povezanih deljivih 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.
Karakteristike DDB sistema
Na osnovu predhodnog, postoji est osnovnih
karakteristika distribuiranih sistema. To su:

Deljenje resursa ( resource sharing )


Otvorenost ( openess )
J d
Jednovremenost
t ( concurenncy )
Stabilnost ( scalability )
Otpornost na greke ( fault tolerance )
Transparentnost ( transparency )
DDBMS
Lokacija 1

Data

Tower box

Lokacija 4 Lokacija 2

RAUNALNA
MREA

Data Tower box Tower box


Data

Lokacija 3

Tower box
Osnovna struktura DDBMS
Disrtibuirani centri podataka
p
Distrubuirani klijent/server
j / model
Klijent/server model na Internetu
Osnovna klasifikacija DDBMS
Homogeni sistem
Sve lokacije koriste isti DBMS rezultat ( proizvod )
Mnogo je laki za projektovanje i upravljanje
Pristup prua inkrementalni rast i omoguava poveanje
performansi

Heterogeni sistem
Na lokacijama se mogu pokretati razliiti DBMS sistemi, uz
mogue razliite osnovne modele podataka
O se deava
Ovo d k
kada
d llokacije
k ij prvo iimplementiraju
l ti j svoju
j bazu
b
podataka a integracija se uzima u obzira kasnije
Translacija je potrebna kako bi se omoguila upotreba
razliitih hardvera i/ili razliitih DBMS proizvoda
Tipino reenje je korienje gateway-a
Homogene Database

Identical DBMSs

Source: adapted from Bell and Grimson, 1992.


Heterogene Database

Non-identical DBMSs

Source: adapted from Bell and Grimson, 1992.


Heterogene Database
Prednosti i mane DDBMS
Prednosti : Mane:

Poveana raspoloiva cena softvera &


pouzdanost.
p kompleksnost.
p
Kapacitet i rast. sporiji odziv.
delotvornost & fleksibilnost. g
sigurnost.
deljivost distributed integritet
database.
DDBMS

Prednosti Nedostaci

Odraava organizacionu strukturu Kompleksnost

Poboljana
j deljivost
j i lokalna Trokovi
autonomija
Poboljana raspoloivost Sigurnost

Poboljana pouzdanost Oteana kontrola integriteta podataka

Poboljane performanse Nedostatak standarda

Ekonominost Nedostatak iskustva

Modularni rast Mnogo


g kompleksniji
p j dizajn
j baze
Prednosti koje donosi distribuirani koncept
Lokalna
L k l autonomija
t ij podataka,
d t k
upravljanja i kontrole.

Okruenje u kome se DBP primenjuju je i


samo distribuisano (npr. kole, fakulteti,
zavodi; centralna biblioteka,
biblioteka matina
biblioteka, ogranci; ministarstvo, regionalni
centri itd.). Distribuisanje baza podataka kao i
sistema
i t za upravljanje
lj j njima,
ji omoguava

pojedinim grupama da lokalno kontroliu
vlastite podatke, uz mogunost pristupa
podacima
d i na drugim
d i lokacijama
l k ij kada
k d je j to
potrebno.
Prednosti koje donosi distribuirani koncept

Veci kapacitet i postupni rast.

est razlog za instaliranje distribuisanog


sistema
i j nemogunost
je j d
jednog raunara
d
da
primi i obrauje sve potrebne podatke. U
sluaju da potrebe nadmae postojei
kapacitet, dodavanje vora distribuisanom
sistemu je znatno jednostavnije nego zamena
sistema veim.
Prednosti koje donosi distribuirani koncept

- Pouzdanost i raspoloivost. Distribuisani


sistemi mogu nastaviti svoje funkcionisanje i
kada neki od vorova izgube funkcionalnost
funkcionalnost.

- Efikasnost i fleksibilnost. Podaci su fiziki


blizu onome ko ih stvara i koristi, pa je
znatno smanjena potreba za udaljenom
komunikacijom.
RelationDataBaseManagementSystem
DistributedDataBaseManagementSystem

Uskladiteni podaci na brojnim lokacijama


lokacijama, svaka lokacija se sastoji od jednog
procesora DBMS koji je u isto vreme i KLIJENT i SERVER
Procesori na razliitim lokacijama su meusobno povezani raunarskom
mreom.
Okruenje distribuirane baze
Primer: Baza podataka sastoji se od tri povezanih klasa
entiteta radnika, p
projekata,
j i zadatka koji
j su p
podeljeni
j i
skladiteni na razliitim lokacijama.
DDBMS
Hijerarhijska
j j organizacija
g j DB
Homogena distribuirana baza
Globalni i lokalni nivoi abstrakcije
Komponente distribuiranog DBMS
Komponente multi DBMS
Distribuirana SERVER arhitektura
Aplikacija INTERNET arhitekture
Arhitektura integracije informacija
Distribuirani DB Servisi
Upravljanje distribuiranim transakcijama
Procesiranje i optimizacija upita
ema slojeva za procesiranja upita
Izvrni monitor
ARHITEKTURA 5 EME DISTRIBUIRANE BAZE
PODATAKA
ARHITEKTURA 5 EME
DISTRIBUIRANE BAZE
PODATAKA
ARHITEKTURA DISTRIBUIRANE BAZE PODATAKA
External shema: predstavlja opise korisnika i njihove poglede pa slue kao
korisniki interfejs.
interfejs

Conceptual shema: daje totalni semantiki opis distribuirane baze podataka.

Global representation shema: je sintetika reprezentacija totalnog sadraja


distribuirane baze i definie sve podatke koji se nalaze u distribuiranoj bazi
podataka.

Local representation shema: predstavlja sintaksni opis stalnih ( rezidentnih )


podataka na svakom nodu posebno.

Local internal shema: predstavlja ugraeni lokalni DBMS sistem koji upravlja
fragmentiranjem baze podataka

fragment: svaka globalna relacija moe biti podeljena u nekoliko nepreklapajuih


particija.
ili
fragmentation schema: mapiranje izmeu globalnih relacija i fragmenata.
fragmenata

allocation schema: definie na kom mestu ( site ) je lociran fragment.

local mapping schema: zavisi od tipa DBMS .


Korisnici Korisnika
baza

Application Layer
USER INTERFACE MANAGER LOCAL DATABASE MANAGER
-analizira korisnike transakcije -upravlja pristupom lokalnoj
-determinie lokaciju podataka bazi
-prikazuje
prikazuje korisnike rezultate

TRANSACTION PLAN GENERATOR LOCAL TRANSACTION MANAGER


-analizira i dekomponuje globalne transakcije -upravlja
upravlja lokalnim transakcijama
-translacija eme sa globalne na lokalnu
subtransakciju
-generie optimalni plan izuvrenja

TRANSACTION EXECUTION MANAGER


-rutira subtransakcije REMOTE ACCESS INTERFACE
-kontrola konkurencije j i prima
-alje p udaljene
j zahteve
-pouzdanost i upravljanje grekama

PRESENTATION LAYER
USER INTERFACE MANAGER

Ovaj modul:

-prevodi
prevodi upite u glabalnu formu,
formu TRANSACTION PLAN GENERATOR
-determinie lokacije podataka
za traene upite -generie optimalni plan izuvrenja
-predaje kontrolu LTMS ako je da bi optimizirao performanse
transakcija lokalnog karaktera ili dolazeih transakcija
modulu za analiziranje globalne -obavllja dekompoziciju transakcije u
transakcije GTA ako transakcija subtransakciju koja se moe
trai pristup podacima na izvravati na razliitim nodovima kao
udaljenoj lokaciji lokalna transakcija
-prikazuje sve korisnike -translacija eme sa globalne na
rezultate generisane kroz lokalnu subtransakciju j
izvrenje
transakcije
GLOBAL TRANSACTION EXECUTION
MONITOR

-prihvata plan generisan od strane


generatora plana transakcija TPGrutira
subtransakcije i odgovoran je za
inicijalizaciju , izvrenje i kontrolu
integriteta ( sinhronizacije i pouzdanosti )
plana transakcija

REMOTE ACCESS INTERFACE


ZAJEDNIKA GLOBAL TRANSACTION
-priprema sve poruke potrebne za
EMA
slanje
j udaljenim
j nodovima u
je potrebna da ralani upite u globalni
detaljnom formatu,
format. Globalna ema prikazuje sve
-prima poruke od prezentacionog
podatke na mrei i njihove lokacije.
sloja i prosleuje ih LTMS ili GTEM
Problem dizajniranja
j j globalne
g eme je
j
subsloju
beznaajan ako su svi LDBMS homogeni,
-protokol korien u ovim
ali to nije sluaj u nehomogenom
subslojevima moe biti ISO - File
okruenju.
Transfer Access Metod FTAM
GLOBAL DIRECTORY LOCATION
Uobiajeno je da prikazuje podatke spregnute u
globalnoj emi
i pamti globalnu emu na
globalnom direktorijumu. U odnosu na broj
pristupa globalnom direktorijumu potrebno je
vrlo paljivo alocirati globalni direktorijum. Mogu
biti sledei sluajevi:

-Ako je direktorijum na centralnoj lokaciji, trokovi


k
komunikacije
ik ij su visoki
i ki zato
t to
t svakak transakcija
t k ij
mora podatke potraiti na centralnoj lokaciji
-Ako je direktorijum na svakoj lokaciji onda rastu
UPDATE trokovi lokacijej

Zato globalni direktorijum pamti na cetralnom nodu


ali po sledeim pravilima:

1. Potraiti lokalni direktorijum na dolaznom nodu

2. Ako se tamo ne nalazi, potraiti ga na centralnoj


lokaciji
Database manager
MySql arhitektura
Da bi se postigla visoka efikasnost DSUBP,
sve njegove komponente treba realizovati na
takav nain da se smanji mrena
komunikacija Najznaajniji problemi koje pri
komunikacija.
tome treba reiti su:

- fragmentacija podataka
- distribuisana obrada upita
p
- distribuisano auriranje
- upravljanje katalogom
- distribuisano izvrenje skupa transakcija, to
ukljuuje konkurentnost, integritet, oporavak
i protokole kompletiranja transakcija
Fragmentacija podataka
Podaci u distribuiranom sistemu mogu biti
particionisani ili ponovljeni u fizikoj memoriji.
memoriji

U sluaju ponavljanja podataka, jedan logicki objekat


moe
iimatii vei
i broj
b j kopija
k ij na veem
b j lokacija.
broju l k ij
Ponovljenost podataka poveava raspoloivost
podataka i efikasnost pristupa podacima, ali znaajno
k
komplikuje
lk auriranje
podataka,
d k kojik moraju biti
b
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.
podataka
Fragmentacija podataka
U sluaju particionisanja podataka,
podataka logiki skup
podataka treba na neki nain podeliti, a zatim delove
- fragmente ( moe i sa ponovljenim kopijama )
razdeliti po raznim lokacijama.
lokacijama

Logiki
g skup
p podataka
p u relacionom sistemu jje
relacija, a prirodni fragment relacije je neki njen
podskup definisan uslovom projekcije i restrikcije.

Fragmentacija mora biti izvedena tako da se


spajanjem fragmenata dobije polazna relacija.
Distribuisana obrada upita
Distribuisana obrada upita podrazumeva distribuiranu
optimizaciju kao i distribuirano izvrenje upita. Strategije
optimizacije upita nad distribuisanom bazom podataka imaju za
cilj minimalizaciju cene obrade i vremena za koje e korisnik
dobiti odgovor.

U trokovima
t k i obrade
b d najveij i udeo
d imaju
i j trokovi
t k i mrene
komunikacije, tj. prenosa podataka kroz mreu, dok su trokovi
komunikacije sa ulazno/izlaznim uredajima i korienja
procesora manji za nekoliko reda veliine. Zbog toga je vrlo
znaajno,
j u zavisnosti
i ti od
d propusnosti
ti mree
( koliina
k lii podataka
d t k
koju moe primiti u sekundi ) i vremena kanjenja, pravilno
odabrati relacije i njihove fragmente koji e biti prenoeni sa
jedne lokacije na drugu sa ciljem obrade upita - globalna
optimizacija
ti i ij .

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 sa razliitih lokacija. Izbor strategije
za izvrenje operacija na jednoj lokaciji zove se lokalna
optimizacija.
Strategija distribuirane obrade upita

Ako se n relacija R1 , R2, ,Rn koje uestvuju u upitu nalaze na


k razlicitih lokacija l1 , l2 , , ln , pri emu je svaka relacija Ri u
celosti na lokaciji lj , onda se osnovna strategija distribuisane
obrade 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 dobijenih 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 prenose i na koje lokacije. Ta odluka se donosi na
temelju procene koliine podataka koji se prenose izmeu
lokacija u svakom pojedinanom sluaju;

Izbor relacija i lokacija vri se tako da se minimizira protok


podataka kroz mreu.
Distribuirano auriranje
j
Kao to je reeno u delu o fragmentaciji podataka, ponavljanje
podataka podrazumeva da jedan logiki objekat ( relacija ili
fragment ) moe imati vie kopija na veem broju lokacija.
lokacija

Posedica toga je da se, sa obzirom na potrebu za


konzistentnou podataka u svim kopijama, auriranje jednog
l ik objekta
logikog bj kt mora prenetiti i na sve fizike
fi ik kkopije
ij tog
t objekta.
bj kt

Meutim, trenutno prenoenje auriranja moe onemoguiti ( ili


nedopustivo dugo odloiti ) uspeno izvravanje auriranja u
sluaju da je bilo koja lokacija u padu;

Na taj nain ponavljanje podataka ne poveava, nego smanjuje


raspoloivost
l i t podataka.
d t k

Jedan iroko prihvaeni pristup prenosu auriranja oslanja se na


koncept primarne kopije,
kopije i sastoji se od dva dela:
Jedna kopija svakog ponovljenog objekta proglaava
se primarnom kopijom tog objekta,
objekta pri emu
primarne kopije razliitih objekata mogu biti na
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 pre kompletiranja transakcije.

Ovaj postupak zahteva primenu protokola dvofaznog


ili trofaznog kompletiranja transakcije ( bie opisan
kasnije), koji se ne moe uspeno sprovesti ako je
bar jedna relevantna kopija u padu , to je est
sluaj. Ukoliko se dopusti auriranje kopija i posle
kompletiranja transakcije, ne moe se garantovati
k
konzistentnost
i podataka
d k u svim i njihovim
jih i kopijama.
k ij
Upravljanje
p j j katalogom
g
Katalog je baza podataka koja sadri podatke o baznim
relacijama, pogledima, indeksima, korisnicima itd., a u sluaju
distribuisanog sistema,
sistema i o nainu i lokacijama na koje su podaci
razdeljeni i ( moda ) ponovljeni. Sam katalog u distribuisanom
sistemu moe biti:

centralizovan ( samo na jednoj lokaciji ), potpuno ponovljen ( na


svim lokacijama po jedna kopija kataloga ),
particionisan ( na svakoj lokaciji je deo kataloga koji se odnosi na
objekte te lokacije ) ili
kombinovan ( katalog je particionirsan ali na jednoj lokaciji postoji
jedna sredinja kopija celog kataloga ).

Sa obzirom na nedostatke koje ima svaki od navedenih pristupa


( zavisnost od sredinje lokacije, visoka cena prenosa auriranja
kataloga, skup pristup udaljenoj lokaciji ) implementirani sistemi
koriste neke druge strategije.
Npr. u sistemu R* svaka lokacija sadri:

- slog kataloga za svaki objekat 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 objekat koji je trenutno smeten na toj lokaciji

- tabelu sinonima za svakog korisnika prijavljenog na toj lokaciji, koja preslikava


sinonime objekata, definisane iskazom kreiranja sinonima, u sistemske
identifikatore objekata, jedinstvene u celom distribuisanom sistemu

Sistemski identifikator objekata, koji se nikad ne menja ( dok se objekat ne


ukloni ) sastoji se od

identifikatora korisnika koji je kreirao prvu kopiju tog dokumenta,


dokumenta
lokacije sa koje je kreirana,
lokalnog imena objekta i
lokacije na kojoj je roen.

Pronalaenje objekata kada je zadano njegovo lokalno ime ili sinonim,


poinje preslikavanjem lokalnog imena ( automatski ), odnosno sinonima
( pregledavanjem tabele sinonima ), u sistemski identifikator objekata.
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 smeten. U sledeem koraku, pristupa se lokaciji na kojoj
je objekat smeten, i lokalnim operacijama pronalazi objekat.

You might also like