Transcript
Page 1: SISTEMI ZA UPRAVLJANJE BAZAMA PODATAKA (SUBP)

1

1/22

SISTEMI ZA UPRAVLJANJE

BAZAMA PODATAKA (SUBP)

Tema:

2/22

Sistem za upravljanje bazom podataka (SUBP)Sistem za upravljanje bazom podataka (SUBP)

SUBP je programski proizvod koji omogućava efikasno:� formiranje,� korišćenje i� menjanje BP.

Da bi mogao izvršavati ove zadatke, SUBP:1. je zasnovan na nekom teorijskom modelu podataka,2. podržava programske jezike za:

- definisanje strukture i uslova integriteta BP,- selekciju i izmene sadržaja BP,

Page 2: SISTEMI ZA UPRAVLJANJE BAZAMA PODATAKA (SUBP)

2

3/22

Sistem za upravljanje bazom podataka (SUBP)Sistem za upravljanje bazom podataka (SUBP)

3. Poseduju mehanizme za:

- upravljanje transakcijama,- zaštitu od neovlašćenog korišćenja,- zaštitu od uništenja,- obezbeđenje performantnog korišćenja BP,- upravljanje distribuiranim delovima BP.

Modeli podataka i programski jezici (jezici baza podataka) predstavljaju posebne teme.

4/22

Upravljanje transakcijamaUpravljanje transakcijama

� U bazi podataka se, preko programa, registruju rezultati nekih poslova koji se obavljaju u realnom vremenu. Primer: Ako u nekom bankarskom IS korisnik želi da prebaci novac sa jednog

računa na drugi, tada će se ova logička jedinica posla obaviti na sledeći način:

Učitaj iznosp za prenos;

Nađi račun R1 sa koga se iznosp skida;

Upiši iznosR1 – iznosp na račun R1;

Nađi račun R2 na koji se iznosp stavlja;

Upiši iznosR2 + iznosp na račun R2.

� Svaka operacija nad bazom može da menja njeno stanje, ali je za korisnika od značaja samo ukupna promena koju izaziva logička jedinica posla.

Page 3: SISTEMI ZA UPRAVLJANJE BAZAMA PODATAKA (SUBP)

3

5/22

Upravljanje transakcijamaUpravljanje transakcijama

� Transakcija je niz operacija nad bazom podataka koja odgovara jednoj logičkoj jedinici posla.

� U situaciji kada više programa istovremeno (konkurent-no) zahteva pristup istim podacima ovi zahtevi mogu biti konfliktni te ih SUBP mora razrešiti i tako sprečiti neželjene interference programa.

� Upravljanje transakcijama treba da obezbedi konzistent-no stanje BP u uslovima konkurentne obrade podataka.

Ako jedan program učita neke podatke, a drugi ih odmah nakontoga izmeni u BP, prvi će program koristiti netačne podatke!

6/22

Upravljanje transakcijamaUpravljanje transakcijama

80080080010001000iR u rad. podr. T2

50050050050010001000iR u rad. podr. T1

piši iRpostavi

iR=iR-200čitaj iRT2

piši iRpostavi

iR=iR-500čitaj iRT1

8005001000100010001000iR u BP

Page 4: SISTEMI ZA UPRAVLJANJE BAZAMA PODATAKA (SUBP)

4

7/22

Upravljanje transakcijamaUpravljanje transakcijama

� Rešenje problema se traži u zaključavanju.

� Zaključavanjem, transakcija sprečava druge transakcijeda pristupe tim podacima.

� Deo BP koji se zaključava može biti:– skup pojava TE ili TP,– određene pojave nekog TE ili TP,– samo jedna pojava,– samo deo jedne pojave.

� To je objekat zaključavanja.

8/22

Upravljanje transakcijamaUpravljanje transakcijama

� Pored ostalih naredbi, program mora sadržati i naredbezaključavanja i otključavanja

ZAKLJUČAJ iRČITAJ iRPOSTAVI iR= iR - 500UPIŠI iROTKLJUČAJ iR

� Sada će T2 početi da se izvršava tek po otključavanju iR.

� Uvođenje zaključavanja otvara dva nova problema:1. izgladnjavanje i2. uzajamno zaključavanje

Page 5: SISTEMI ZA UPRAVLJANJE BAZAMA PODATAKA (SUBP)

5

9/22

Upravljanje transakcijamaUpravljanje transakcijama

� Izgladnjavanje je situacija kada transakcija neograničenočeka, jer stalno neka druga dobija pravo zaključavanja. Rešava se uvođenjem FIFO protokola.

� Uzajamno zaključavanje

...Zaključaj A...Zaključaj B....T2

......Zaključaj B...Zaključaj AT1

Uzajamno zaključano A i B

10/22

Upravljanje transakcijamaUpravljanje transakcijama

Tri moguća rešenja uzajamnog zaključavanja:

− transakcija traži od SUBP da izvrši sva zaključavanjaodjednom,

− linearni redosled podataka (prvo A onda B, bez obzirana redosled u programu),

− ništa se ne preduzima u cilju sprečavanja, već se uzajamno zaključavanje detektuje, pa se jedna odtransakcija vraća na početak, a druga završava.

Page 6: SISTEMI ZA UPRAVLJANJE BAZAMA PODATAKA (SUBP)

6

11/22

ZaZašštita od neovlatita od neovlaššććenog korienog koriššććenja BPenja BP

� Rešava se pomoću mehanizama:

– operativnog sistemaUSERNAME, PASSWORD

– samog SUBP-a# SQL GRANT# SQL CREATE VIEW

� Jedan od mehanizama za zaštitu od neovlašćenogkorišćenja je podšema ili pogled. To nije i dovoljno; stoga se uvodi privilegija.

12/22

ZaZašštita od neovlatita od neovlaššććenog korienog koriššććenja BPenja BP

� Privilegije se definišu za svakog korisnika i svakielement intenzionalnog opisa BP, a odnose se nadozvolu:

– samo čitanja,– čitanja i upisivanja,– čitanja i modifikovanja,– čitanja i brisanja sadržaja BP.

� Privilegije se unose u autorizacionu tabelu, koja sadrži trojke (korisnik, element intenzionalnog opisa, privilegija).

Page 7: SISTEMI ZA UPRAVLJANJE BAZAMA PODATAKA (SUBP)

7

13/22

ZaZašštita BP od unitita BP od unišštenjatenja

� Za zaštitu BP od uništenja, RSUBP koriste sledeće mehanizme:

– BACKUP (kopiranje BP)– RESTORE (restauracija BP)– JOURNAL (evidentiranje promena BP)– FORWARD RECOVERY (ažur.kopije BP promenama iz JOURNAL-a)– ROLL BACK (vraćanje nezavršenih transakcija na početak)

� Ključni mehanizam je vođenje journal datoteke (JOURNAL FILE ili TRANSACTION LOG).

� Tu se evidentiraju sve promene izvršene nad bazom podataka.

14/22

ZaZašštita BP od unitita BP od unišštenjatenja

� JOURNAL se dalje koristi za:– ažuriranje kopije BP promenama, pri restauraciji– vraćanju onih promena, koje su u BP izvršile nezavršene

transakcije.

Vraćanje promena je zadatak upravljača transakcijama (kaokomponente RSUBP).

Cilj tog vraćanja je stalno održavanje indeksa i tabela u usaglašenom stanju.

Ako se neka transakcija ne završi, zbog greške u programu, ili zbogpada sistema, upravljač transakcijama detektuje to stanje (čak i nakon ponovnog dizanja sistema) i automatski poništava izvršeneizmene baze podataka, koristeći JOURNAL.

Page 8: SISTEMI ZA UPRAVLJANJE BAZAMA PODATAKA (SUBP)

8

15/22

Arhitektura RSUBPArhitektura RSUBPKorisnici DBA

Ad-hoc upitiAplikativni pr. Šema BP

Procesor upita DDL kompajler

BAZA PODATAKA

I SISTEM KATALOG

Upravljač baze pod.

Programeri

Upravljač rečnika

DML predprocesor

Progr. objektni kod

Upravljač datot.Metode pristupa

Sistemski baferi

SUBP

16/22

Arhitektura RSUBPArhitektura RSUBP

� Procesor upita Najvažniji deo SUBP koji upite transformiše u niz elementarnih instrukcija koje se prosleđuju upravljaču BP.

� Upravljač baze podataka Prihvata upite i analizira eksterne i konceptualne šeme radi detektovanja konceptualnih zapisa neophodnih da bi se udovoljilo zahtevu (proverava pravo pristupakorisnika elementima intenzionalnog opisa BP, formira i održava specijalnu tabelu sa podacima o zaključavanju objekata, ...)

� Upravljač datotekama Manipuliše datoteke koje sadrže podatke i upravlja alokacijom memorijskog prostora na disku. Uspostavlja iodržava liste struktura i indeksa definisanih u internoj šemi. Upravljanje fizičkim ulazom/izlazom podataka prepušta odgovaraju-ćim metodama pristupa koje čitaju/pišu podatke iz/u sistemski bafer.

Page 9: SISTEMI ZA UPRAVLJANJE BAZAMA PODATAKA (SUBP)

9

17/22

Bitne funkcionalne karakteristike RSUBPBitne funkcionalne karakteristike RSUBP--aa

� Rečnik

� Funkcionalnost

� Produktivnost

� Performanse

� Distributivnost

18/22

ReReččnik podatakanik podataka

� Služi za memorisanje podataka o:– Šemi BP– Korisnicima i ovlašćenjima– Aplikacijama

• Menijima• Formama• Programima

� To su podaci o podacima (METAPODACI).

Page 10: SISTEMI ZA UPRAVLJANJE BAZAMA PODATAKA (SUBP)

10

19/22

Tipovi reTipovi reččnikanika

� Pasivni - služi za evidentiranje podataka o objektima baze podataka(polje, struktura sloga i sl.), ali ne postoji mogućnost povezivanja tihobjekata.

� Aktivni - sadrži i podatke o vezama između objekata, te se može koristiti za analizu uticaja (“šta se sve menja ako se jedan objekatpromeni").

� Dinamički - sadrži objekte i veze ali održava i sve njihove definicje u izvršnom kodu. Ako se menja definicija objekta, automatski se prekompajliraju odgovarajući objekti.

� Distribuirani - sadrži podatke o lokacijskoj distribuciji objekata.

20/22

Idealna organizacija reIdealna organizacija reččnikanika

CASE alati

Glavni rečnik

Rečnik BP Rečnik 4GL

RSUBP 4GL software

Sve se ovde menja

logički i fizički aspekti

ažuriranje

Bitna karakteristika rečnika je da omogući “kasno povezivanje” definicije strukture podataka sa programskim kodom – u momentu izvršavanja SQL izraza.

Page 11: SISTEMI ZA UPRAVLJANJE BAZAMA PODATAKA (SUBP)

11

21/22

FunkcionalnostFunkcionalnost

� Najveći doprinos RSUBP je nivo fleksibilnosti, kojiRSUBP nude. To je, primarno, posledica separacijefizičkih od logičkih aspekata BP.

� Mnoge izmene, kao što su:

– dodavanje nove kolone u postojeću tabelu– dodavanje, ili ukidanje indeksa– dodavanje novih tabela,

uopšte ne utiču na programe. Ne treba ih rekompilirati.Čak štaviše, te izmene se vrše dinamički, tokomizvršenja programa.

22/22

EfikasnostEfikasnost

� Za brz razvoj i implementaciju programa korisnicima stoje na raspolaganju:

– Neproceduralni jezici i – Sledeći mehanizmi:

• Ograničenja• Okidači• Procedure baze podataka• Nezavisnost programa i podataka

� Za obezbeđenje efikasne selekcije i manipulisanja sadržajem baze podataka, savremeni SUBP koriste:

– Optimizaciju upita– Metode pristupa– Različita rešenja zaključavanja.

Page 12: SISTEMI ZA UPRAVLJANJE BAZAMA PODATAKA (SUBP)

12

23/22

PerformansePerformanse

� Optimizator upita, metode pristupa i postupci zaključavanja značajno utiču na performanse korišćenja baze podataka.

� Optimizator upita

– Suštinska komponenta za obezbeđenje performantne obrade

– U manipulacionom jeziku RMP programer zadaje zahtev koristeći intenzionalni opis baze podataka, a zadatak je SUBP da, poznajući:

• fizičku strukturu baze podataka• brojeve pojava tipova entiteta i poveznika i• raspodelu vrednosti obeležja,

odredi kako taj zahtev treba da se, na efikasan način, izvrši.

24/22

PerformansePerformanse

� Tri osnovne vrste optimizatora upita:

– Sintaksni optimizator upitaZasnovan na strukturi samog upita koju određuje programer. Međutim, sa logičke tačke gledišta isti upit može se izvršavati sa veoma različitim vreme-nima, u zavisnosti od redosleda navođenja obeležja, operatora i uslova. Programer vodi računa o optimalnosti upita.

– Optimizator zasnovan na ceniKoristi restriktivnost operatora poređenja i podatke o brojevima pojava tipova entiteta i poveznika. Svaki operator poređenja ima svoju ocenu restriktivnosti(“=“ je restriktivnije od “>=“). Kombinovanjem ocene restriktivnosti operatora sa brojevima pojava tipova entiteta i poveznika, na koje se operatori primenjuju, dobija se cena “plana izvršenja” upita.SUBP analizira više mogućih planova izvršavanja za dati upit, a realizuje najjeftiniji.

Page 13: SISTEMI ZA UPRAVLJANJE BAZAMA PODATAKA (SUBP)

13

25/22

PerformansePerformanse

– Statistički optimizator upitaRadi na sličnom principu kao i optimizator zasnovan na ceni, ali koristi još i histograme sa raspodelom vrednosti ključa za donošenje odluke o najboljem planu izvršenja upita.Predstavljaju najbolje rešenje ali je za njihovu primenu potrebno povremeno vršiti inoviranje histograma sa raspodelom vrednosti ključa.

�Metode pristupaSUBP ili koriste usluge upravljača datotekama operativnog sistema, ili imaju svoje metode pristupa. Svi relacioni SUBP podržavaju:– serijsku organizaciju podataka (pile),– indeksnu organizaciju sa B-stablom,a neki SUBP podržavaju još i:– rasutu (hash) i– indeks-sekvencijalnu organizaciju.

26/22

DistributivnostDistributivnost

� Potreba efikasnog upravljanja i korišćenja distribuirane baze podataka diktira potrebu postojanja mehanizama, kao što su:

– distribuirani rečnik,

– dvofazni komit,

– automatski replikator,

– lokacijska transparentnost

– klijent/server arhitektura.

Page 14: SISTEMI ZA UPRAVLJANJE BAZAMA PODATAKA (SUBP)

14

27/22


Recommended