Distribucija, odnosno povezivanje računarskih sistema u računarsko - komunikacione mreže je danas karakteristika gotovo svih informacionih sistema. I celokupna oblast za koju je nekad uobičajen naziv bio informatika, zatim informacione tehnologije, danas se najčešce naziva informaciono-komunikacione tehnologije - ICT. Time se ističe efikasna simbioza računarstva i telekomunikacija koja omogućava razvoj veoma složenih informacionih sistema. Najšire korišćene distribuirane arhitekture su tzv. klijent - server arhitekture u kojima se jasno odvajaju uloge servera i klijenta koji mogu biti u različitim čvorovima neke računarske mreže.

Najjednostavnija distribuirana arhitektura je dvoslojna klijent - server arhitektura u kojoj server sadrži funkcije sistema za upravljanje bazom podataka (server baze podataka), a klijent, po pravilu na drugom računaru, obavlja ostale delove aplikacija i komunikaciju sa korisničkim interfejsom.

Distribuirane baze podataka predstavljaju sasvim drugačiju distribuiranu arhitekturu. Distribuirana baza podataka je virtuelna baza podataka čije pojedine komponente predstavljaju fizičke delove stvarnih baza podataka koje se nalaze u čvorovima neke računarske mreže. U ovakvoj arhitekturi postoji barem dva servera baze podataka, odnosno dva sistema za upravljanje bazom podataka u različitim čvorovima mreže. Ovi serveri podržavaju lokalne transakcije koje se obavljaju nezavisno, ali i distribuirane transakcije koje se zajednički ostvaruju.

U savremenim informacionim sistemima postoji potreba da jedan programski sistem na isti način koristi više različitih baza podataka, bez obzira na način na koji su te baze realizovane. Drugim rečima, pojavljuje se potreba da se različite baze podataka, ili čak opštije, bilo kakvi izvori podataka, integrišu u virtuelno jedinstvenu bazu podataka. Za ovakvu integraciju izvora podataka vezuju se pojmovi federativnih baza podataka ili višestrukih baza podataka (Multi-Database Systems). Potreba za integracijom podataka iz različitih izvora posebno dolazi do izražaja u stovarištima podataka (Data Warehouse) koji su osnova za tzv. OLAP (On-Line Analytical Processing) obradu podataka. Za razliku od transakcione poslovne obrade podataka (On-Line Transaction Processing - OLTP) u kojoj se obrađuje veoma veliki broj relativno jednostavnih transakcija, OLAP sistemi podrazumevaju relativno mali broj veoma složenih upita nad podacima, po pravilu, dobijenim iz različitih izvora. Paralelne arhitekture se ponekad tretiraju kao distribuirane arhitekture. Ovakve arhitekture koriste multiprocesorske mašine i višestruke uređaje za ostvarivanje boljih performansi u operacijama nad bazom podataka. Razlikuju se tri osnovna podtipa ovih arhitektura:

 

  1. arhitekture sa deljivom memorijom (čvrsto spregnute arhitekture) u kojima više procesora deli primarnu i spoljnu memoriju,
  2. arhitekture sa deljivim diskovima u kojima svaki procesor ima svoju primarnu memoriju, a dele samo spoljnu (disk) memoriju,
  3. „ništa deljivo" arhitekture u kojoj svaki procesor ima sopstvenu centralnu i spoljnu memoriju, a povezani su u mrežu velike brzine (Bus ili Switch). „Ništa deljivo" arhitekture se najčešce koriste za ostvarivanje dobrih performansi SUBP. Paralelne arhitekture prvenstveno rešavaju problem performansi u obradi podataka. Međutim, mogucnost da procesori pristupaju bilo kojoj jedinici spoljne memorije, bez posredstva lokalnog sistema za upravljanje bazom podataka, značajno komplikuje konzistentan rad ovakvih sistema.



Distribucija se može ostvariti u homogenom ili heterogenom okruženju. U homogenoj distribuiranoj bazi podataka svi serveri baze podataka su zasnovani na istom SUBP. Za ostvarivanje distribucije u heterogenom okruženju od posebnog su značaja standardi. Interakcija različitih proizvoda se ostvaruje omogućavanjem portabilnosti programa i interoperabilnosti pojedinih delova sistema. Termin portabilnost označava mogućnost prenosa programa iz jednog u drugo okruženje.

Portabilnost zavisi od standardizovanja jezika (SQL, na primer) i ostvaruje se u vreme kompilacije. Termin interoperabilnost označava mogućnost interakcije heterogenih elemenata sistema. Interoperabilnost se ostvaruje standardizovanjem različitih komunikacionih protokola i protokola za pristup podacima (ODBC protokol, na primer). Interoperabilnost se ostvaruje u vreme izvršenja programa.

 

Distribuirani sistem za upravljenje bazom podataka (DSUBP)

 

Kao što je rečeno, distribuirana baza podataka predstavlja kolekciju čvorova neke mreže u kojoj u svakom čvoru postoji lokalni sistem za upravljanje bazom podataka, koji zajedno pružaju takav servis da korisnik sa bilo kog čvora može da pristupi podacima u bilo kojoj lokalnoj bazi. U svakom čvoru lokalni SUBP omogućava korišćenje lokalne baze (obrada upita, transakcije, oporavak i slično) kao da ta baza nije deo virtuelne distribuirane baze podataka. Pored toga, lokalni SUBP su prošireni tako da je moguće ostvariti njihovu kolaboraciju za realizaciju virtuelne distribuirane baze podataka. Ovako prošireni lokalni SUBP čine distribuirani sistem za upravljanje bazom podataka (DSUBP). DSUBP se može realizovati kako u lokalnoj (LAN) tako i u globalnoj računarskoj (WAN) mreži.


Principi distribucije u DSUBP

DSUBP treba da zadovolji sledeće osnovne principe distribucije:

  1. lokalna autonomija svakog čvora - U svakom čvoru lokalna baza podataka može da se koristi kao da nije deo distribuirane baze,
  2. nepostojanja centralnog čvora distribuirane baze podataka - Svi čvorovi u distribuiranoj bazi podataka su ravnopravni. Postojanje centralnog čvora u velikoj meri bi degradiralo pouzdanost i raspoloživost distribuirane baze podataka. Otkaz centralnog čvora doveo bi do otkaza celokupnog sistema,
  3. transparentnost distribucije, odnosno sakrivanje detalja distribucije od korisnika -  Korisnik treba da jednostavno koristi distribuiranu BP na isti način na koji koristi i centralizovanu, bez znanja o tome kako je distribucija podataka fizički izvedena. Postoje različiti tipovi transparentnosti u distribuiranim bazama podataka:
    • transparentnost mreže podrazumeva da korisnik ne mora da poznaje detalje računarske mreže preko koje je distribucija BP reallzovana, odnosno da ne mora da zna na kojoj su lokaciji smešteni podaci kojima želi da pristupi (lokaciona transparentnost). Isto tako, neophodno je ostvariti transparentnost imenovanja - objektima baze podataka se pristupa preko jednom definisanog imena, bez obzira na lokaciju na kojoj se nalaze.
    • replikaciona transparentnost - Da bi se obezbedili raspoloživost, veća pouzdanost i bolje performanse podataka, isti podaci se mogu replicirati na više lokacija u distribuiranoj bazi podataka. Očigledno je da treba obezbediti replikacionu transparentnost, odnosno sakriti postojanje replikacija od korisnika,
    • fragmentaciona transparentnost - postoje dve vrste fragmentacije podataka u (relacionim) bazama podataka,
      • horizontalna fragmentacija podrazumeva distribuciju skupova n-torki jedne relacije na više lokacija,
      • vertikalna fragmentacija podelu relacije po kolonama i skladištenje ovako dobijenih relacija na više lokacija u mreži. Moguće je jednu relaciju fragmentirati i horizontalno i vertikalno. Fragmentacija mora da zadovolji uslov kompletnosti i uslov rekonstrukcije sadržaja. Fragmentacija je kompletna kada se svaki elemenat relacije nalazi barem u jednom fragmentu. Uslov rekonstrukcije sadržaja zahteva da se polazna relacija može rekonstruisati iz njenih fregmenata.



Primer principa distribucije

Replikacionu i fragmentacionu transparentnost ilustrovaćemo na primeru sledeće relacione baze podataka:

 

Radnik(Radnikld,Ime,Starost,StrucnaSprema,Adresa,OrgJedlD)
Organizacija(OraJedID,  Vrsta,  Naziv, Grad, BrojRacuna)

 

Organizacije se nalaze u Novom Sadu, Nišu i Beogradu. U svakom gradu postoji jedan server BP. U centrali u Beogradu se čuvaju podaci o svim organizacijama i svi podaci o radnicima iz organizacija u Beogradu i Novom Sadu. U Nišu se nalaze svi podaci o organizacijama iz Niša i radnicima koji rade u tim organizacijama. U Novom Sadu se čuvaju samo podaci o organizacijama iz tog grada i osnovni podaci o radnicima tih organizacija. Formiraćemo sledeće fragmentacije i replikacije:

 

RadnBgd := SELECT Radnik.* FROM Radnik, Organizacija WHERE Radnik.OrgjedlD = Organizacija.OrgJedlD AND Grad = 'Beograd' and Grad= 'Novi Sad');
{Horiz. fragmentacija} OrgNis := SELECT * FROM Organizacija WHERE Grad = 'Nis';
{Horizontalna fragmentacija}RadnNis := SELECT Radnik.* FROM Radnik, Organizacija WHERE Radnik.OrgjedlD = Organizacija.OrgJedlD AND Grad = 'Nis';
{Horizontalna fragmentacija}OrgNS := SELECT *  FROM Organizacija WHERE Grad = 'NS'; { Horizontalna fragmentacija}RadnNS := SELECT Radnikld, Ime, OrgJedlD FROM Radnik, Organizacija WHERE Radnik.OrgjedlD = Organizacija.OrgJedlD AND Grad = 'NS'; {Horizontalna i vertikalna fragmentacija}

 

 

 

Slika 1

 

Prednosti

Prednosti distribuiranih baza podataka su:

  • povećana pouzdanost i raspoloživost: pouzdanost se najopštije definiše kao verovatnoća da sistem radi u nekom trenutku vremena. Raspoloživost se definiše kao verovatnoća da će sistem biti stalno operativan u nekom intervalu vremena. U distribuiranom sistemu postoji više SUBP. Ako jedan otkaze, ostali još uvek rade, pa je pouzdanost i raspoloživost ovakvog sistema veća, pogotovo ako se u više čvorova čuvaju replikacije cele ili delova distribuirane baze podataka,
  • poboljšane performanse sistema: fragmentacija podataka grupiše podatke na lokacije u kojima se najviše koriste. Lokalni upiti i transakcije pristupaju podacima u lokalnoj bazi koja je manja nego odgovarajuća centralizovana. Operacije nad lokalnim bazama se odvijaju paralelno. Svaki lokalni SUBP obrađuje konkurentno manji broj transakcija nego odgovarajući centralizovani SUBP,
  • jednostavniji rast sistema: očigledno je da se u distribuiranoj bazi podataka može jednostavnije ostvariti rast sistema bilo proširivanjem lokalnih baza podataka, bilo dodavanjem novog čvora sa novim SUBP.

Očigledno je da je u distribuiranim bazama mnogo teže ostvariti osnovne funkcije SUBP: vođenje kataloga baze podataka, optimizaciju upita, upravljanje transakcijama i drugo.

 

Katalog distribuirane baze podataka

 

Pored osnovnih funkcija koje ima, katalog centralizovane baze treba da obezbedi transparentnost distribuirane baze podataka u odnosu na distribuciju (lokacije čvorova), fragmentacije i replikacije. Katalog se može realizovati na jedan od sledećih načina:

  1. centralizovano - katalog se nalazi u jednom, centralnom čvoru distribuirane baze. Očigledno je da ovakvo rešenje narušava princip nepostojanja centralnog čvora distribuirane baze podataka,
  2. potpuna replikacija - celokupan sadržaj kataloga se replicira u svakom čvoru distribuirane baze podataka. Drastično se narušava lokalna autonomija čvorova. Svako ažuriranje kataloga treba obaviti u svakom čvoru distribuirane baze,
  3. distribucija po čvorovima: svaki čvor čuva svoj lokalni katalog, tako da se celokupni katalog može dobiti kao unija lokalnih. Ovaj način značajno poskupljuje nelokalne informacije. Nalaženje objekta koji nije na lokalnom čvoru zahteva da se pristupi prosečno polovini čvorova distribuirane baze,
  4. kombinacija prvog i trećeg pristupa: svaki čvor održava svoj lokalni katalog, a postoji i centralni čvor u kome se nalazi celokupan katalog. Mada je ovaj pristup značajno efikasniji od trećeg pristupa (za nalaženje nelokalnog objekta potreban, je samo jedan pristup) i on narušava princip nepostojanja centralnog čvora distribuirane baze podataka.

Kako ni jedan prikazani način organizacije kataloga ne zadovoljava principe distribuiranih baza podataka uz ostvarivanje njegovog efikasnog održavanja i korišcenja, problem se rešava specifičnim načinom imenovanja elemenata distribuiranih baza podataka. Imenovanje elemenata se zasniva na kvalifikaciju imena preko naziva čvora (X.A bi značilo elemenat A na čvoru X).

Međutim, prikazivanje kvalifikovanih imena korisnicima distribuirane baze očigledno bi narušilo transparentnosti distribucije. Zbog toga je neophodno definisati neku transformaciju korisničkih imena u sistemska imena u distribuiranim bazama podataka. Ovde će se prikazati način imenovanja i transformacije koji su primenjeni u IBM-ovom prototipu distribuiranih baza, nazvanom R*. Na sličan način se postupa i u drugim DSUBP.

U sistemu R* korisničko ime se naziva „Printname". Sistemsko ime, jedinstveno ime elementa u celoj distribuiranoj bazi, sastoji se iz sledećih elemenata:

  • Creator ID - identifikator korisnika koji je kreirao dati elemenat distribuirane baze,
  • Creator Site - čvor sa koga je posmatrani elemenat kreiran,
  • Local Name - lokalno ime objekta,
  • Birth Site ID – identifikacija čvora u kome je originalno smešten kreirani objekat.

 

Na primer,

Ana@Beograd.Radnik@Nis

je sistemsko ime za relaciju Radnik koju je kreirala Ana sa čvora u Beogradu u fragmentu baze u Nišu.

Korisnik se elementu obraća preko lokalnog imena (Radnik) ili preko sinonima koji se može kreirati specijalnom R* naredbom:

CREATE SYNONIM Ucesnik FOR Ana@Beograd.Radnik@Nis;

Prvi elemenat kataloga jednog čvora je tabela u kojoj se za svakog korisnika čuvaju elementi baze koje je on kreirao i sinonimi koji su njemu poznati. Pored toga u lokalnom katalogu se čuvaju podaci o svim elementima „rođenim" u tom čvoru (čiji je „Birth Site" posmatrani čvor) i o elementima koji se u njemu trenutno nalaze.

Preko korisničkog imena ili sinonima se nalazi sistemsko ime elementa, zatim se on potraži na originalnoj lokaciji na kojoj je „rođen", gde se pronađe ili se nađe pokazivač čvora na koji je premešten. Ovi pokazivači se ažuriraju zajedno sa odgovarajućim promenama u distribuiranoj bazi. Na taj način se svaki elemenat i nađe iz najviše dva pokušaja, sam katalog je distribuiran i ne postoji nikakav „centralni čvor".

Dodaj komentar Sviđa mi se - (0) Ne sviđa mi se - (0)    

  • Distribuirane arhitekture 1
  • Distribuirane arhitekture 2
  • Distribuirane arhitekture 3