Professional Documents
Culture Documents
Rad Sa Velikim Objektima, Čuvanje U Bazi Podataka I Obrada
Rad Sa Velikim Objektima, Čuvanje U Bazi Podataka I Obrada
dsk: RI
Prdmt: Softverski alati baza podataka
Studnt:
ntr:
Dragutin Avdalovi
Sran Nogo
SADRAJ:
1.
UVOD...........................................................................................................................................3
2.
TA SU VELIKI OBJEKTI..........................................................................................................4
3.
4.
5.
6.
ZAKLJUAK.............................................................................................................................10
7.
IZVORI.......................................................................................................................................10
UVOD
Aplikacioni podaci u bazama postaju vei s obzirom da su digitalni mediji sve vie prisutni u
dananjim aplikacijama. Takoe , sve vea popularnost veb servisa i drugih mrenih aplikacija znai da
sistemi koji su nekada uvali statike arhive zavrenih podataka sada moraju da se prilagode
uestalijim promjenama verzija aplikacionih podataka naporedo sa njihovih kreiranjem ili izmjenama.
Umjesto stalnog auriranja ovih objekata, baza podataka uva vie verzija nekog objekta ( V ili
WebDAV znai kontrolu verzija), ili jednostavno vri kompletnu zamjenu ( kao npr. u SharePoint
Team servisima). Dizajneri aplikacija imaju izbor izmeu uvanja velikih objekata u formatu fajlova u
fajl sistemu, kao BLOB ( binary large objects) u bazi podataka, ili kao kombinaciju oba navedena
naina. Obino se odluka dizajnera zasniva na tome koju tehnologiju dizajner koristi ili najbolje
poznaje. Veina dizajnera e rei da je baza najbolje reenje za male binarne objekte a da su fajlovi
najbolji za velike objekte. Zanimljiv zakljuak je da je fragmentacija skladita najvei faktor kad je u
pitanju odluka izmeu falj sistema i baze podataka.
Veliki binarni podatak ( Binary Large Object BLOB ) je kolekcija binarnih podataka sauvanih
kao jedan entitet u sistemu za upravljanje bazom podataka ( DBMS ). BLOB-ovi su tipino slike, audio
ili drugi multimedijalni objekti , iako je ponekad binarni izvrni (executable) kd sauvan kao BLOB.
Podrka baze podataka za BLOB-ove nije univerzalna. Blobiranje (Blobbing) je originalno znailo
pomjeranje velikih koliina podataka iz jedne baze podataka u drugu bez filtera i provjere greaka. Ovo
je brz proces zato to ostavlja odgovornost za provjeru greaka i filtriranje novom korisniku podataka.
Termin je nastao kao slika nekoga koji uzima pune ake materijala iz jednog kontenjera i stavlja ga u
drugi kontenjer bez obraanja panje na to ta je bilo u blob-u koji je ugrabio.
Ovaj tip podataka i definicija je uvedena da se opie podatak koji nije originalno definisan u
sistemima baza podataka, prije svega jer je bio prevelik da se sauva praktino u vrijeme kada je prvi
put definisana veliina polja sistema baza podataka u 1970-im i 1980-im. Tako da je ovaj tip podataka
postao praktian tek kada je prostor na disku postao jeftin.
2. TA SU VELIKI OBJEKTI
Veliki objekti (LOBs) su kolekcije podataka koje su dizajnirane za uvanje velikih koliina
podataka. LOB moe moe uvati do maksimalne veliine u rasponu od 8 terabajta (TB) do 128
terabajta u zavisnosti od toga kako je baza podataka konfigurisana. uvanje podataka u velikim
objektima (LOBs) omoguuje nam da efikasno pristupimo i manipuliemo podacima u naoj aplikaciji.
Razliite vrste velikih objekata (LOBs) mogu biti sauvane u bazi podataka ili u eksternim fajlovima.
Veliki objekti u bazi podataka se nekad nazivaju interni veliki objekti (internal LOBs) ili interni
perzistentni veliki objekti(internal persistent LOBs).
Interni veliki objekti
Interni veliki objekti u bazi podataka se uvaju unutar tabela baze podataka na nain koji
optimizuje prostor i omoguava efikasan pristup. Sledei SQL tipovi podataka su podrani za
deklarisanje internih velikih objekata: BLOB, CLOB i NCLOB. Tabela 1 opisuje svaki tip velikog
objekta podran od strane baze podataka i opisuje nain na koji se svaki tip tipino koristi. Imena
tipova podataka su imena koja su SQL tipovi podataka podrani od strane baze. Takoe, treba primjetiti
da je izraz LOB generalno korien da se ukae na set svih tipova velikih objekata.
Opis
BLOB
CLOB
NCLOB
BFILE
nain.BFILE se koristi za
uvanje statikih
podataka, kao to su
slike, koje ne moraju
podlijegati promjenama
u aplikaciji.
Bilo koji tip podataka fajl
operativnog sistema, se
moe uvati u BFILE.
Npr. , moe se uvati
podatak tipa karakter u
BFILE i po potrebi
uitavati iz BFILE u CLOB
specificirajui karakter
set pri uitavanju.
Eksterni veliki objekti su objekti podataka koji se uvaju u fajlovima operativnog sistema, izvan
tabela baze podataka. Baza podataka pristupa eksternim velikim objektima koristei SQL tip podataka
BFILE. BFILE tip podataka je jedini eksterni LOB tip.
BFILE su read-only tipovi podataka. Baza podataka dozvoljava read-only tok bajtova za pristup
podataka u BFILE-u. Nije mogue upisivati u BFILE u okviru aplikacije. Baza podataka koristi
referentnu semantiku sa BFILE kolonama. Podaci sauvani u koloni tabele tipa BFILE, su fiziki
locirani u fajlu operativnog sistema, a ne u prostoru tabele baze podataka.
Bilo koji ureaj za skladitenje kome se pristupa preko operativnog sistema moe uvati BFILE
podatke, ukljuujui hard diskove, CD-ROM-ove, DVD-eve itd. Baza moe pristupiti BFILE-u pod
podrkom operativnog sistema koji porava strim-nain pristupa fajlovima OS-a. Eksterni veliki objekti
ne uestvuju u transakcijama. Svaka podrka za integritet i izdrljivost mora biti obezbjeena od strane
osnovnog fajl sistema koji je pod upravljanjem OS-a.
Za LOB tipove BLOB, CLOB i NCLOB, kolona velikog objekta uva lokator LOB vrijednosti. Svaka
instanca velikog objekta ima svoj jedinstveni LOB lokator kao i jedinstvenu kopiju LOB vrijednosti.
Za inicijalizaciju BFILE kolona, red uva lokator na eksterni opertivni sistem koji uva vrijednost
BFILE-a. Svaka BFILE instanca u dodjeljenom redu ima svoj jedinstveni lokator, meutim, dva razliita
reda mogu sadravati BFILE lokator koji ukazuje na isti fajl operativnog sistema.
Bez obzira na to gdje je vrijednost velikog objekta sauvana, lokator je sauvan u redu tabele bilo koje
inicijalizovane LOB kolone. Takoe, kada se veliki objekat selektuje iz tabele, LOB koji je preuzet je
uvijek privremeni LOB.
Polu-strukturisani podaci
Ova vrsta podataka ima logiku strukturu koja nije tipino protumaena od strane baze. Npr. ,
XML dokument koji je procesiran od strane aplikacije ili eksternog servisa, moe biti zamiljen
kao polu-strukturisani tip podatka. Baza podrava tehnologije kao to su Oracle XML DB,
Advanced Quering i Messages za pomo aplikaciji pri radu sa polu-strukturisanim podacima.
Nestrukturisani podaci
Ovaj tip podataka nije razdvojen na male logike strukture i nije tipino protumaen od strane
baze podataka ili od strane aplikacije. Slika koja je sauvana kao binarni fajl je primjer
nestrukturisanog podatka.
Veliki objekti su pogodni za bar dva tipa ovih podataka: polu-strukturisane podatke i nestrukturisane
podatke. Osobine velikih objekata omoguavaju da se skladite ove vrste podataka u bazi kao i u
fajlovima operativnog sistema kojima se pristupa preko baze.
Sa porastom interneta i aplikacija bogatih sadrajem, naglasak se stavlja na to da baze :
Aplikacije koje koriste polu-strukturisane podatke tipino koriste velike koliine karakter podataka.
Character Large Object (CLOB) i National Character Large Object (NCLOB) tipovi podataka su
idealni za uvanje i manipulaciju ovakvih vrsta podataka.
Binary File Objects (BFILE) tipovi podataka takoe mogu da uvaju podatke u obliku karaktera.
BFILE-ovi se mogu koristiti za uitavanje read-only podataka iz fajlova operativnog sistema u CLOB
ili NCLOB instance sa kojima se moe manipulisati u aplikaciji.
10
Sa Oracle8 i kasnijim verzijama baza, korienje LOB tipova podataka se preporuuje za skladitenje
velikih koliina strukturisanih i polu-strukturisanih tipova podataka. LOB tipovi imaju nekoliko
prednosti u odnosu na LONG I LONG RAW tipove ukljuujui:
LOB kapacitet: Veliki objekti mogu uvati veoma vee koliine podataka. Veliki objekti mogu
uvati 4 GB podataka ili vie u zavisnosti od konfiguracije sistema. LONG i LONG RAW
tipovi su ogranieni na 2 GB podataka.
Broj LOB kolona u tabeli: Tabela moe imati vie LOB kolona. LOB kolone u tabeli mogu biti
bilo koga LOB tipa. U Oracle baze Release 7.3 i vie, tabele su ograniene na jednu LONG ili
LONG RAW kolonu.
Sluajan pametni-komad pristup: LOB podrava sluajan pristup podacima, a LONG podrava
samo sekvencijalni pristup.
Veliki objekti mogu biti takoe i atributi objekta.
6. ZAKLJUAK
Oracle Multimedia koristi LOB tipove podataka da kreira baze specijalizovane za korienje u
multimedijalnim aplikacijama kao to su Multimedia ORDAudio, ORDDoc, ORDImage, i ORDVideo.
Oracle Multimedia koristi infrastrukturu baze podataka da definie tipove objekata, metode, i velike
objekte neophodne za reprezentaciju ovih specijalizovanih tipova podataka u bazi.
Sa naglim rastom Interneta i aplikacijama bogatim sadrajem, naglasak se stavlja na baze podataka
koje podravaju tipove podataka koje ispunjavaju sledee:
Preporuuje se korienje Performance Management-a za baze koje podravaju Binary Large Objects
(BLOB), koje pod raznim uslovima, uvaju oboje i prostor za skladitenje i transakciono vrijeme
procesiranja. Dokazano je da za aplikacije koje koriste baze podatka gdje ad hoc upiti preuzimanja
preovladavaju, uvanje vrijednosti BLOB-ova u bazi podataka je moda najbolji izbor da se postignu
11
bolje performanse, dok je uvanje BLOB-ova eksterno najbolji pristup kada viestruke
Delete/Insert/Update operacije na BLOB-u dominiraju.
7. IZVORI
Izvori na Internetu:
Oracle Help Center:
https://docs.oracle.com/cd/B28359_01/appdev.111/b28393/adlob_intro.htm
Knjige:
Michael Shapiro University of Maryland at Baltimore County, Boeing IS at NASA
GSFC Ethan Miller University of Maryland at Baltimore County: Managing Databases
with Binary Large Objects, https://users.soe.ucsc.edu/~elm/Papers/mss99.pdf
Russell Sears2, Catharine van Ingen1, Jim Gray11: Microsoft Research, 2: University of
California at Berkeley: To BLOB or Not To BLOB : Large Object Storage in a Database
or a Filesystem?, April 2006
12