7
OBJEKTNO-ORJENTISANE BAZE PODATAKA: TEHNOLOGIJA KOJA DOLAZI OBJECT-ORIENTED DATABASES: UPCOMING TECHNOLOGY Lepojević Borko Jovanović Srećko Vojna Akadenija Odsek Logistike,Beograd prof. dr Alempije Veljović Tehnički fakultet, Čačak Sadržaj-U današnjem svetu intenzivnih promena i inovacija, informacije(podaci) predstavljaju esencijalno važan pojam . Njihovo skladištenje i obrada bitan su aspekt u konstruisanju velikih softverskih sistema, pa s' toga veliki proizvođači ulažu značajna sredstva u razvoj baza za skladištenje podataka, kao i u sisteme za manipulaciju tim istim podacima.U daljem izlaganju ovaj rad ima za cilj da obuhvati sve trenutno aktuelne tehnologije vezane za baze podataka kao i sisteme za upravljanje bazama podataka, kao i da predoči neke novine koje dolaze, preteći da uzdrmaju svet postojećih standarda. Abstract-In today's world of intensive changes and innovations, informations(data) are essentialy important issue. Informations warehausing and processing are major aspects when big-software- systems constructing is involved, so in order to achive optimum in these, big vendors are investing serious assets into databases and database- menagement-systems developement.In further presentement, the goal of this work is to comprehend all current database techologies and database menagement systems techologies as well as to present some of the upcoming inovations, treatening to agitate world of existing standards. 1.UVOD Kao što je već spomenuto, informacione tehnologije u svetu savremenog poslovanja i složenih zahteva glomaznog tržišta igraju vrlo bitnu ulogu.Pri projekovanju informacionog sistema koji može da zadovolji potrebe korisnika i u isto vreme bude pouzdan i brz, jako je važno izabrati pravu tehnologiju.U izlaganju koje sledi razmotrićemo tri trenutno aktuelne tehnologije vezane za baze podataka i sisteme za upravljanje bazama podataka.To su: Relacione baze podataka (Relational Data Bases,RDB) Objektno-relacione baze podataka(Object-Relational Data Bases,ORDB) Objektno-orjentisane baze podataka(Object-Oriented Data Bases,OODB) Svaku od ovih tehnologija posmatraćemo sa tri ključna stanovišta: model podataka (Data Model,DM) upitni jezik (Query Language,QL ) model obrade(Computational Model,CM) Posle tehničkih analiza i poređenja, uslediće i pogled sa stanovišta tržišta, t.j., komercijane zastupljenosti svake od gore navedenih tehnologija. 2.RELACIONE BAZE PODATAKA RDB idejno su opisane prvi put od strane E.F.Codd-a, da bi zatim bile implementirane od strane IBM-a i drugih proizvođača. Ono što karakteriše RDB je izvesna matematička preciznost(koja nije bas najdoslednije implementirana kod svih proizvođača). Ova tehnologija standardizovana je od

Objektno-Orjentisane Baze Podataka

  • Upload
    lion78

  • View
    50

  • Download
    3

Embed Size (px)

DESCRIPTION

Specijalističke

Citation preview

Page 1: Objektno-Orjentisane Baze Podataka

OBJEKTNO-ORJENTISANE BAZE PODATAKA:TEHNOLOGIJA KOJA DOLAZI

OBJECT-ORIENTED DATABASES:UPCOMING TECHNOLOGY

Lepojević BorkoJovanović Srećko

Vojna Akadenija Odsek Logistike,Beogradprof. dr Alempije VeljovićTehnički fakultet, Čačak

Sadržaj-U današnjem svetu intenzivnih promena i inovacija, informacije(podaci) predstavljaju esencijalno važan pojam . Njihovo skladištenje i obrada bitan su aspekt u konstruisanju velikih softverskih sistema, pa s' toga veliki proizvođači ulažu značajna sredstva u razvoj baza za skladištenje podataka, kao i u sisteme za manipulaciju tim istim podacima.U daljem izlaganju ovaj rad ima za cilj da obuhvati sve trenutno aktuelne tehnologije vezane za baze podataka kao i sisteme za upravljanje bazama podataka, kao i da predoči neke novine koje dolaze, preteći da uzdrmaju svet postojećih standarda.

Abstract-In today's world of intensive changes and innovations, informations(data) are essentialy important issue. Informations warehausing and processing are major aspects when big-software-systems constructing is involved, so in order to achive optimum in these, big vendors are investing serious assets into databases and database-menagement-systems developement.In further presentement, the goal of this work is to comprehend all current database techologies and database menagement systems techologies as well as to present some of the upcoming inovations, treatening to agitate world of existing standards.

1.UVOD

Kao što je već spomenuto, informacione tehnologije u svetu savremenog poslovanja i složenih zahteva glomaznog tržišta igraju vrlo bitnu ulogu.Pri projekovanju informacionog sistema koji može da zadovolji potrebe korisnika i u isto vreme bude pouzdan i brz, jako je važno izabrati pravu tehnologiju.U izlaganju koje sledi razmotrićemo tri trenutno aktuelne tehnologije vezane za baze podataka i sisteme za upravljanje bazama podataka.To su:

Relacione baze podataka (Relational Data Bases,RDB)

Objektno-relacione baze podataka(Object-Relational Data Bases,ORDB)

Objektno-orjentisane baze podataka(Object-Oriented Data Bases,OODB)

Svaku od ovih tehnologija posmatraćemo sa tri ključna stanovišta:

model podataka (Data Model,DM) upitni jezik (Query Language,QL ) model obrade(Computational Model,CM)

Posle tehničkih analiza i poređenja, uslediće i pogled sa stanovišta tržišta, t.j., komercijane zastupljenosti svake od gore navedenih tehnologija.

2.RELACIONE BAZE PODATAKA

RDB idejno su opisane prvi put od strane E.F.Codd-a, da bi zatim bile implementirane od strane IBM-a i drugih proizvođača. Ono što karakteriše RDB je izvesna matematička preciznost(koja nije bas najdoslednije implementirana kod svih proizvođača). Ova tehnologija standardizovana je od strane ANSI pod nazivom X3H2 specifikacija,najstarija je i najrasprostanjenija.

DM-Sistem za upravljanje relacionim bazama podataka (Relational Database Menagement System,RDBMS) čuva podatke u vidu tabela , koje sačinjavaju redovi i kolone.Svaki red odgovara jednom rekordu (slogu), dok kolone označavaju polja tog rekorda.Tipvi podataka koji se mogu čuvati u ovim bazama svode se na svega nekoliko osnovnih tipova:karakter,string,ceo(realan) broj,datum,valuta.Relacije nisu eksplicitne , već su nagoveštene kroz strane ključeve(foreign keys), koji u stvari predstavljaju veze entiteta jedne tabele sa entitetima druge.Relacije više-ka-više realizuju se preko posredničke tabele,koja sadrži samo strane ključeve entiteta koji su u više-ka-više relaciji .

QL-Za formiranje upita za manipulaciju podacima RDBMSs koriste SQL(Structure Query Language).Ovi upiti mogu biti nad jednom tabelom (prosti) i nad više tabela (složeni).Rezultati koji upiti vraćaju nazivaju se pogledima.Pogledi predstavljaju podskupe baze, izdvojene po zadatom kriterijumu, i kod relacionih baza, to su tabele.

CM-Sve obrade bazirane su na vrednostima polja u tabeli.Polja nemaju jedinstvene indentifikatore koji se tokom života n-torki (slogova)ne menjaju.Ne postoje veze među n-torkama jedne iste tabele.Pregled rezultata određenog upita vrši se pomoću kursora, koji korisniku

Page 2: Objektno-Orjentisane Baze Podataka

omogućava kretanje kroz n-torke (rekorde) tabele koju je upit vratio.Update-ovanje(ažuriranje) se vrši na isti način.

3.OBJEKTNE BAZE PODATAKA

Ova tehnologija nikada nije oficijalno standardizovana.De-facto standard ,pod nazivom Object Database Standard-V2.0, objavila je 1993. godine izdavačka kuća Morgan Kaufman, pod pokroviteljstvom grupe za menadžment objektno orjentisanih baza podataka(Object Database Menagement Group,ODMG).

DM-Objektno-orjentisane(objektne) baze podataka (Object Databases,ODB) koriste model podataka koji podržava objektno orjentisanu metodologiju: klase, atribute,metode, enkapsulaciju, nasleđivanje, polimorfizam,...itd, pri čemu postoji velika kongruencija (sličnost,poklapanje) između objektnog modela koji koristi aplikacija i objektnog modela podataka smeštenih u bazi, iz čega proizilaze sve prednosti ove tehnologije nad ostalima o čemu će biti reči kasnije.

QL-Za razliku od relacionih baza ,koje sve manipulacije nad bazom ostvaruju preko upitnog jezika ,SQL-a, t.j., interfejsa koji SQL nudi, sistemi za upravljanje objektnim bazama podataka(ODBMSs) u istu svrhu koriste sam izvorni objektno orjentisani jezik same aplikacije(C++,Java,Smalltalk,...), čime se ostvaruje direktna veza između aplikacijskih objekata i objekata pohranjenih u bazi.Ovo za posledicu ima vrlo lake upite kao i olakšanu manipulaciju podataka iz baze korišćenjem ODBMS koji je ,najčešće, direktno ugrađen u programski jezik aplikacije(C++,Java,Smalltalk i LISP imaju ODBMS ugrađen u svoj kod!).

ODMG je 1993. godine ,kao alternativu , definisala deklarativni jezik, OQL(Object Query Language),koji služi za kreiranje upita za ODB.Rezultat OQL upita može biti atom,struktura,objekat ili skup objekata.Većina objektnih baza podržava i SQL, prvenstveno u kontekstu ODBC-ja(Open Data Base Connectivity). CM-Iako u ODBMSs postoje deklarativni jezici za kreiranje upita (kao što je gore spomenuti OQL), njihovo korišćenje je samo opciono, za razliku od RDBMSs gde je SQL primarno sredstvo za kreiranje, pristup i ažuriranje podataka u bazi.Razlog ovome je to što je primarni interfejs za manipulaciju podacima ,kad su ODB u pitanju, sam objektno orjentisani jezik koji koristi aplikacija, pri čemu se za kreiranje upita koristi sintaksa samog tog jezika!Tako, da C++,Java,LISP i Smalltalk programeri mogu da pišu aplikacije za rad sa bazama podataka mnogo udobnije, direktnije i sa mnogo manje truda.

Bitan koncept ,koji bi trebalo razumeti kada su ODB i objektno-orjentisana metodologija u pitanju, je indentifikator objekta.Naime, svaki objekat u sistemu ima svoj intentifikacioni broj (Object Indentifier,OID), koji je jedinstven za dati objekat i ne menja se tokom njegovog životnog veka.Pored svog OID-a, objekat može ,kao svoj atribut, sadržati i OID drugog objekta.OID je vrlo važan, kako za indentifikaciju pri pristupu i obradi, tako i za kreiranje relacija među objektima.Ovaj koncept je (donekle) primenjen i u relacionim bazama, i poznat je kao primarni ključ, s' tim da je sigurnosna razlika ipak na strani OID-a, jer je vrednost primarnog kluča podložna promenama od strane aplikacije.

Pored svega toga OID ima jos jednu suštinsku ulogu, koja je vezana za brzinu pristupa podacima.Naime, kod većine sistema za upravljanje objektnim bazama podataka, čim se podaci učitaju u memoriju (keširaju),OID-ovi keširanih objekata dobijaju fizičku dimenziju tako što se konvertuju iz logičkih indentifikatora objekata u pokazivače , pokazujući na fizičke memorijske lokacije na kojima se nalaze keširani objekti.Na ovaj način se podacima u memoriji pristupa na punoj brzini RAM-a(100usec) za razliku od tradicionalnog pristupa preko servera(10msec).

4.OBJEKTNO RELACIONE BAZE PODATAKA

ORDBMSs su tehnologija koja se pojavila kao posledica težnje velikih proizvođača sistema za upravljanje bazama podataka da odgovore potrebama za skladištenjem i obradom kompleksnih tipova podataka,kao i složenih relacija među njima (slika, zvuk, multimediji uopšte...), a da se mnogo ne udalje od ''proverenog terena'' RDB-a.

DM-Sistemi za upravljanje objektno-relacionim bazama podataka (ORDBMSs) koriste tip podataka koji predstavlja ''pokušaj'' da se podacima smeštenim tabelama da objektno obeležje.Sve informacije su i dalje smeštene u tabelama, ali neka od tabelarnih polja mogu sadržati bogatije strukture podataka, nazvane apstraktni tipovi podataka (Additional Data Types,ADT).ADT predstavlja tip koji se dobija raznim kombinacijama osnovnih tipova podataka.Sistem za upravljanje bazom koja koristi ovaj tip, dozvoljava korisniku da koristi operacije definisane i vezane za ovaj tip.Iako sve ovo podseća na mogućnosti objekto-orjentisanih baza podataka, pristup primenjen u ORDBMSs u mnogome osiromašuje koncepte objektno-orjentisane paradigme.Naime, jedina stvar koja je ovde učinjena je dodavanje ADT interpretatorskog sloja između aplikativnog i SQL sloja.Sve ovo ogleda se u osiromašenoj podršci kompleksnim relacijama, nasleđivanju,enkapsulaciji i polimorfizmu.

QL-ORDBMSs podržavaju proširenu formu SQL-a, poznatiju kao Object SQL.Poenta ovog proširenja je

Page 3: Objektno-Orjentisane Baze Podataka

podrška objektnom modelu podataka, t.j., podrška upitima sa objektnim atributima, koja se ogleda u upitima koji uključuju ugnežđene objekte,pretraživačkim predikatima sa metodama i funkcijama, i upitima sa apstraktnim tipovima podataka.Uprkos tome , sistem za upravljanje objektno-relacionim bazama podataka je u osnovi i dalje relacioni, jer su podaci i dalje smešteni u redovima i kolonama, a SQL je i dalje jedini jezik za kreiranje , pristup i manipulaciju podacima.

CM-Kao što je gore spomenuto, SQL je ,uz proširenje za manipulaciju ADT podacima, primarni interfejs ka bazi podataka i preko njega idu svi zahtevi za obradu i manipulaciju.Direktna veza sa host programskim jezikom ne postoji,tako da bidirekciono mapiranje na relaciji aplikacioni model—bazni model i dalje postoji kao usporavajući faktor.

5.SUKOB TEHNOLOGIJA

Sistemi za upravljanje objektno orjentisanim bazama podataka (ODBMSs) su optimizovani da podrže objektno-orjentisane aplikacije, odnosno sve koncepte objektno orjentisane paradigme, kao što su : enkapsulacija,nasleđivanje, polimorfizam i drugo.Ono što predstavlja suštinu ove tehnologije je veliko poklapanje (kongruencija) između aplikativnog modela podataka i modela podataka smeštenih u bazi , što ovoj tehnologiji daje mnoge prednosti (o kojima je već bilo reči), od kojih su najvažnije sledeće:

1.Podrška objektno-orjentisanom programiranju i objektno orjentisanim programskim jezicima(C++,Java,itd...) Objektna metodologija pogodna je za modelovanja apstrakcija iz realnog sveta, pri čemu objekte iz aplikacije preslikava u bazu,po principima ''1-1'' preslikavanja.2.Modelovanje složenih relacija među kompleksnim podacimaAko objektno-relacione baze ,sa stanovišta modelovanja kompleksnih podataka donekle i dosežu objektno-orj. baze(mada je i ovo sumnjiv komentar), modelovanje relacija među tim podacima je tačka koja razdvaja relacionu metodologiju od objektne.Naime, mnogo je teže modelovati relacije među složenim podacima, nego same podatke, jer relacije predstavljaju nadgradnju složenosti podataka.ODBMSs su, prvenstveno zahvaljujući indentifikatorima objekata (OID), izuzetno pogodni za modelovanje i obradu ovih složenih relacija (naročito relacija više-ka-više).ORDBMSs imaju jako ograničenu ovu sposobnost, dok je sistemi za upravljanje relacionim bazama podataka (RDBMSs) nemaju uopšte.3.ProširenjaSistemi za upravljanje relacionim bazama podataka ograničeni su samo na osnovne tipove podataka (string,integer,char,date,currency,...).Proširenje u smislu

ORDBMSs predstavlja mogućnost korisnika da sam definiše nove tipove, pri čemu ipak postoji značajan broj ograničenja, koja se ogledaju u sledećem:

novodefinidsani tipovi moraju biti kombinacija osnovnih (primitivnih ) tipova

novi tipovi ne mogu imati svoje funkcije članice

Za razliku od toga , ODBMSs realizuju proširenja kroz nasleđivanje ili jednostavno dodavanje novih klasa, pri čemu podržavaju arbitražnu kompleksnost ,t.j., omogućavaju korisniku da sam piše svoje metode za manipulaciju podacima.

Takođe, treba napomenuti i to da se pri razvoju ODBMSs uštedi 25-35% vremena u odnosu na razvoj (O)RDBMSs, što sa strane investitora i proizvođača nije ni malo zanemarljivo.Razlog ovome je to što inžinjeri pri projektovanju RDBMS-a, troše 25-35% vremena na mapiranje (prevođenje aplikativnog logičkog modela podataka u fizički model podataka koji se smešta u bazu(tabele)), koje je kod ODBMS-a iz već spomenutih razloga svedeno na minimum.

Međutim, relacione baze su široko rasprostranjene i razvijane su godinama.Ovim dugogodišnjim razvojem performanse RDBMSs su fino optimizovane i danas su u stanju da obavljaju (iako samo nad primitivnim tipovima ili njihovim kombinacijama) veliki broj funkcija kako onih osnovnih tako i onih naprednih , vezanih za paralelnu obradu, pouzdanost , bezbednost i distribuciju.Postoje čitave palete alata koji podržavaju relacione baze podataka .Takođe, brojne aplikacije (tačnije skoro sve) podržavaju relacioni model manipulišući bazom posredstvom SQL-a.Naravno, ORDBMSs kao naslednici RDBMSs, uživanju sve blagodeti gore pomenute.

Kad smo kod blagodeti, još jedna bitna blagodet koju uživaju (O)RDBMSs je postojanje velikog broja iskusnih programera, konsultanata i teorijskih materijala, usmislu knjiga ,časopisa i kratkih kurseva iz ove oblasti.OODB neće biti u istoj situaciji u narednih bar 5 godina.

Uvidevši ove činjenice, proizvođači ODBMS-a u svojim proizvodima podržali su (neki potpuno neki delimično) SQL kao i ODBC, omogućivši tako korisnicima da ''lagano'' pređu u svet OODB i iskoriste daleko veće potencijale nove tehnologije.

6.SA STANOVIŠTA TRŽIŠTA I PROIZVOĐAČA

Iako su ,kad su u pitanju zahtevne aplikacije, ODBMS daleko superiorniji od RDBMSs, sem CA (Computer Associates), nema vellikih proizvođača ODBMS-a.Razlog tome je što velike korporacije (koje lobiraju tržište baza podataka i informacionih tehnologija uopšte)

Page 4: Objektno-Orjentisane Baze Podataka

ne žele da prihvate (bar ne još) ODB, i to iz dva osnovna razloga:

Potrebna su velika ulaganja da bi se prešlo na novu ''klijent-centričnu'' arhitekturu (relaciona metodologija zasniva se na server-centričnoj arhiekturi), ne toliko u oblasti tehničkog koliko u oblasti ljudskog faktora u smislu približavanja kako programerima tako i običnim korisnicima, principa obj. orj. metodologije

Trenutno postojeće tržište relacionih i objektno relacionih baza podataka je i dalje ''dovoljno dubok bunar'' koji se još uvek može eksploatisati uz minimalna ulaganja

Međutim, ‘’dno bunara’’ se već nazire, što potvrđuju ORDB, koje predstavljaju pandam ODB, i indikator da su proizvođači (O)RDBMS-a shvatili važnost objektno orjentisane metodologije.Ipak, ORDB predstavljaju samu bledu kopiju mogućnosti ODB , o čemu najbolje svedoči sledeće poređenje:

‘’Realizovati koncepte objektno orjentisane metodologije koristeci ORDBMS-e, isto je sto i dodati muzičku liniju,JPS, spojlere i nove Michelin-ke konjskim kočijama!Ono što ćete dobiti je interesantan izgled ali potpuno neprikladno vozilo, koje će se teško snaći na super-brzom informacionom autoputu!’’

7.PRIMENE

Mogućnosti objektno-orjentisanih baza u potpunosti je izgleda shvatila samo kuća Computer Associates,čiji je proizvod JASMINE, koji u stvari predstavlja sistem za upravljanje objektnom bazom podataka, doživeo značajan komercijalni uspeh kroz projekte u saradnji sa kompanijom TOYOTA, gigantom u automobilskoj industriji, i kompanijom L’Oreal ,jednom od vodećih svetskih proizvođača kozmetičkih proizvoda.Ove kompanije uradile su multimedijalne kataloge svojih proizvoda korišćenjem JASMINE programskog paketa.Radi se o ‘’moćnim’’ aplikacijama praćenim animacijom i zvukom gde korisnik koji ‘’prelistava’’ ovu prezentaciju može da interaguje sa user-frendly okruženjem (u slučaju sa Toyotom može da menja boje vozila, stavlja dodatnu opremu, da se kreće u 3D prostoru u unutrašnjosti automobila, itd ...).Preporuke ovih kuća jasno su dale do znanja da je reč o ekstremno moćnom alatu za konstukciju kompleksnih, visoko stilizovanih i zahtevnih aplikacija.

Kevin Smith, tehnički direktor odeljenja za marketing u Toyoti, izjavio je sledeće:’’Zeleli smo da napravimo prodajno mesto koje će u potpunosti zaokupiti pažnju potencijalnih mušterija.To prodajno mesto trebalo je da ima veliki displej sa senzorskim aktiviranjem na pokret prolaznika.Kada se sistem aktivira krenula bi ukusna

multimedijalna prezentacija naših vozila praćena animacijom i zvukom, što je za cilj imalo buđenje radoznalosti i zaokupljenje čula kod posmatrača.Ukoliko bi se korisnik zainteresovao ,mogao bi prići displeju i pomoću konzole ,odnosno ,miša ,uz interakciju sa okruženjem, započeti kreiranje svog vozila iz snova!Ubrzo posle početnih testova bilo nam je jasno da ćemo ovaj efekat teško postići sa konvencionalnim tehnologijama.Tako da smo se odlučili da probamo novu tehnologiju objektnih baza podataka u saradnji sa CA korporacijom.Rezultati su bili zapanujući!CA-ov JASMINE nam je dao mogućnosti da svoje zamisli sprovedemo u realnost! ’’

Komplimenti nisu izostali ni sa L’Oreal-ove strane:‘’Sjedinujući mogućnosti objektno-orjentisanih baza podataka i moćnog sistema za razvoj multimedijalnih aplikacija, JASMINE nam je omogućio da izradimo user-friendly aplikaciju koja će na verodostojan način predstaviti naše proizvode.Izradnja same aplikacije bila je vrlo jednostavna, u maniru prevlačenja objekata iz baze na ‘’scenu’’ aplikacije i dodavanja određenog ponašanja tim objektima sa svega nekoliko klikova mišem.Uzimajući u obzir objektnu bazu podataka u pozadini i razvojno okruženje JASMINE alata, verujemo da je naša aplikacija urađena u tehnologiji koju tek očekuju proširenja i čije vreme tek dolazi. ’’, bio je komentar Michael Barry-ja tehničkog direktora L’Oreala.

8.ZAKLJUČAK

Iako je stanje na svetskom globalnom tržištu i dalje na strani relacionih baza podataka, odnosno njihovih naslednika, objektno-relacionih baza podataka,jasno je da će se u vremenu koje dolazi korisnici odlučivati za proizvođače čiji će proizvodi moći da odgovore na zahteve kompleksnog poslovnog sveta i u potpunosti izađu u susret potrebama korisnika za brzim i pouzdanim informacionim sistemima, što će za posledicu imati samo jednu, objektno–orjentisanu alternativu.

9.LITERATURA

[1] McClure, S. , “Object Databases v.s.Object Relational Databases” , IDC Bulletin #14821E - August 1997

[2] Cattell, R.G., “Object Data Management: object-oriented and extended relational database systems”, Addison-Wesley Publishing Co.,1991

[3] Rahn A. and Harsh S. , “Object Oriented Databases”, Michigan State University ,1995

Page 5: Objektno-Orjentisane Baze Podataka