XML baze podataka Juraj Urbanke
Tipovi XML baza podataka
Flat files Najjednostavniji oblik XML baze podataka XML dokumenti se spremaju u datoteku, a njima se rukuje pomoću nekog API-ja Metoda je prihvatljiva za mali skup XML dokumenata
Flat files - primjer Diets\ Diets\Atkins Day1.xml Day2.xml Day3.xml Day4.xml Diets\3DayDiet Day1.xml Day2.xml Day3.xml
Relacijske baze podataka Skladištenje u relacijsku bazu podataka nudi niz prednosti na flat file sustavom: višekorisnički pristp sigurnost Skalabilnost ...
Usporedba XML-a i relacijskog modela Relacijski model podatci su smješteni u jednu hijerarhijsku strukturu podatci su smješteni u više tabela čvorovi imaju elemente i/ili atribute obilježja imaju jednu vrijednost elementi mogu biti ugniježđeni vrijednosti obilježja su nedjeljive elementi imaju definiran redoslijed Redoslijed redova i stupaca na postoji Shema je opcionalna Shema je obavezna
Relacijske baze podataka - 2 3 su osnovna načina za smještavanje XML-a u relacijsku bazu podataka CLOB (Character Large Object) “Čisto” relacijski pristup (pure relational) XML enabled
Skladištenje XML-a u CLOB Pretraživanje i modifikacija se vrše nad dokumentom izvan same baze podataka Baza podataka nije “svjesna” da smo u nju smjestili XML pa ne nudi nikakve servise za rad s XML-om XML dokumenti nisu indeksirani što degradira performanse
“Čisto” relacijski pristup skladištenja XML-a Kod ovo pristupa se koriste prednosti XML modela XML podatci se mapiraju na redove i stupce 2 najznačajnije tehnike mapiranja: table-based mapiranje object-relational mapiranje
“Čisto” relacijski pristup – table-based mapiranje Mapiranje zasnovano na tablicama je korišteno od strane velikog broja proizvoda Modelira XML dokument kao jednu ili kao skup tablica Koristi se najviše za serijalizaciju podataka iz relacijske baze podataka
“Čisto” relacijski pristup – table-based mapiranje - primjer <database> <table> <row> <column1>... </column1> <column2>... </column2>… </row> <row> ... </row> ... </table> <table> ... </table> ... </database>
“Čisto” relacijski pristup – object-relational mapiranje Koristi se od strane svih XML enabled relacijskih baza podataka XML se modelira kao stablo objekta Kao klase se modeliraju Elementi koji sadrže atribute Mješoviti sadržaj Složeni elementi Kao skalarna obilježja se modeliraju Jednostavni elementi PCDATA Zatim se klase modeliraju u tablice, a skalarna obilježja u atribute
“Čisto” relacijski pristup – object-relational mapiranje - primjer <?xml version =“1.0”?> < <Narudžba brojNarudžbe=“12345”> <Kupac brojKupca=“543”> <NazivKupca>FER </NazivKupca> <Ulica>Unska 3 </Ulica> <Grad>Zagreb </Grad> <PoštanskiBroj>10000</PoštanskiBroj> <Država>Hrvatska</Država> </Kupac> <Datum>5.6.2005.</Datum> <Stavka brojStavke=“1”> <Dio brojDijela=“123”> <Opis> <p><b>Francuski ključ:</b><br/> Nehrđajući čelik, doživotna garancija.</p> </Opis> <Cijena>735.68</Cijena>
“Čisto” relacijski pristup – object-relational mapiranje – primjer (nastavak) </Dio> <Količina>10</Količina> </Stavka> <Stavka brojStavke=ʺ2ʺ> <Dio brojDijela=ʺ456ʺ> <Opis> <p><b>Pištolj za bojanje:</b><br /> Aluminij, jednogodišnja garancija.</p> </Opis> <Cijena>1452.78</Cijena> <Količina>5</Količina> </Narudžba>
“Čisto” relacijski pristup – object-relational mapiranje – primjer (nastavak)
“Čisto” relacijski pristup skladištenja XML-a - poteškoće Glavni problem ovog pristupa slijedi iz razlika između relacijskog modela i XML formata Samo mapiranje može biti složen posao, a manipulacijom novonastalom strukturom još složenija
XML enabled relacijske baze podataka Nastale kao odgovor na poteškoće kod “čisto” relacijskog pristupa U relacijske sustave ugrađeni mehanizmi koji olakšavaju rad s XML dokumentima Ovakva baza je “svjesna” da radi s XML strukturama i u skladu s time nudi različite servise Mogu smjestiti XML u CLOB, ali i u više tabela kada se koristi object-relational mapiranje
XML enabled relacijske baze podataka - nastavak Implementirane su mogućnosti za pretraživanje teksta specifične za XML dokumente Uglavnom uključuju podršku za upitne jezike (najčešće XPath) i API-je (najčešće DOM) u skladu s preporukama W3C XML enabled baze ne uvode novi model za rad s XML-om već proširuju postojeći - relacijski
XML enabled relacijske baze podataka - nastavak Najpoznatije realizacije XML enabled baza podataka Oracle 9i Oracle 10g Microsoft SQL Server 2000 Microsoft Access XP IBM DB2 ...
Native XML Efikasno skladištenje XML-a u RDBMS (Relational BataBase Management System) podrazumijeva implementaciju tehnika za premošćivanje razlika između dva modela Alternativni pristup je izgradnja novog tipa baze podataka koji bi kao osnovnu logičku jedinicu imala XML dokumente podacima manipulirala koristeći XML standarde
Native XML - nastavak Takvi proizvodi se nazivaju Native XML baze podataka Definiraju logički model za dokument, a ne definiraju uvjete za podatke u doumentu Sve komponente XML dokumenta se skladište bez izmjene
Native XML - nastavak U bazu se može smjestiti samo XML Iz baze se može dobiti samo XML XML format se automatski mapira na odabrani model za fizičko skladištenje podataka
Native XML - nastavak Takvim podacima se upravlja samo posredno – pomoću baze podataka i XML upitnih jezika Sve Native XML baze podržavaju jedan ili više upitnih jezika Iz početka se koristio XPath, ali je W3C kasnije samo za tu namjenu razvio XQuery
Native XML - nastavak Promjena i brisanje se mogu izvesi na 3 načina Izvan baze pomoću nekog API-ja Jezikom definiranim posebno za tu namjenu (XUpdate inicijativa) Sam upitni jezik sadrži i ove mogućnosti
Native XML – primjer <?xml version=”1.0”?> <diet> <meal mealName=”breakfast”> <item itemName=“toast” unit=”slice” quantity=“2” /> <item itemName=“bacon” unit=”strip” quantity=“2” /> </meal> </diet>
Native XML - nastavak Najistaknutije implementacije Native XML baza podataka Tamino (Software AG) Xindice (Apache) oZone eXist ...
Izbor načina skladištenja XML dokumenta Jedan od najbitnijih faktora je oblik onoga što skladištimo Data centric dokumenti koriste XML za transport podataka, a namijenjeni su prvenstveno za čitanje od strane računala regularna struktura fino strukturirani malo ili nimalo mješovitog sadržaja
Izbor načina skladištenja XML dokumenta – nastavak Document centric dokumenti su obično namijenjeni čitanju od strane čovjeka manje regularna struktura slabo strukturirani podaci dosta mješovitog sadržaja
Izbor načina skladištenja XML dokumenta – nastavak Ne postoji opće pravilo za izbor načina skladištenja, ali se generalno može reći da su relacijske baze podataka prikladnije za one tipove XML dokumenta gdje je integritet na prvom mjestu, pa... za data-centric XML dokumente najčešće koristimo relacijske baze podataka za document-centric XML dokumente najčešće koristimo Native XML baze podataka