170-195 Flashcards

1
Q

Šta je fizički model baze podataka?

A

Fizički model je najniži model baze podataka. Opisuje konkretnu implementaciju. Uzima u obzir
mnoge tehničke aspekte implementacije. Često se naziva i “modeliranje podataka”

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Šta čini fizički model baze podataka?

A

Elementi fizičkog modela:
* strukture podataka – na fizičkom nivou se govori o tabelama i kolonama
* interna (fizička) organizacija podataka – prostori za tabele, kontejneri, stranice, baferi…
* pomoćne komponente - indeksi

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Kako se procenjuje opterećenje baze podataka? Koji podaci su
potrebni?

A

Da bismo mogli da procenimo opterećenje i performanse, moramo da imamo: model obrade
podataka, nestrukturne zahteve, matricu entiteta i procesa, zahtevane performanse, prepoznate ciljne
implementacije SUBP, prepoznata eventualna ograničenja prostora, prepoznate eventualne razvojne
probleme.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Šta obuhvata model obrade podataka, koji se koristi radi procene
opterećenja pri pravljenju fizičkog modela?

A

Model obrade podataka obuhvata:
* okolnosti dodavanja novih redova – koliko redova u proseku; koliko redova pri najvećem
opterećenju; da li su primarni ključevi slični i da li zavise od vremena
* okolnosti ažuriranja postojećih redova – koliko redova u proseku; koliko redova pri
najvećem opterećenju; kolika je verovatnoća da se redovi sa sličnim PK istovremeno
koriste
* okolnosti brisanja redova - oliko redova u proseku; koliko redova pri najvećem
opterećenju; da li se brišu pojedinačno ili u grupama
* okolnosti čitanja redova – učestalost čitanja; koliko redova se čita jednim upitom; koje
kolone se koriste za odabir redova; koje druge tabele se često koriste zajedno sa
posmatranom

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Koji nestrukturni zahtevi se razmatraju pri pravljenju fizičkog
modela baze podataka?

A
  • Trajanje podataka – koliko dugo se podaci zadržavaju u tabeli pri brisanju ili arhiviranju?
  • Obim podataka – koliko će redova biti u tabeli pri puštanju u rad i kako će se broj redova
    menjati tokom vremena?
  • Raspoloživost podataka – da li su podaci potrebni stalno ili privremeno, koliko često i dugo
    podaci mogu/smeju da budu nedostupni korisnicima?
  • Ažurnost podataka – koliko ažurni moraju da budu podaci koji se koriste?
  • Bezbednosni zahtevi
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Koji su osnovni metodi optimizacije baze podataka? Objasniti
ukratko.

A

Optimizacija na nivou interne organizacije podataka – ostvaruje se kroz upravljanje
internom organizacijom podataka, pomoćnim komponentama i resursima. Fizički model se
ne razlikuje u odnosu na logički.
* Optimizacija na nivou upita – vrši se pisanje upita na način koji omogućava njihovo
efikasnije izvršavanje. Fizički model se ne razlikuje u odnosu na logički.
* Optimizacija na nivou strukture podataka – fizička struktura podataka se menja u odnosu na
logički model.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Koji su osnovni elementi fizičke organizacije podataka (na primeru
SUBP DB2)?

A

Osnovni elementi su: prostori za tabele, stranice, baferi stranica, particionisane tabele i kompresija
podataka.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Šta je prostor za tabele? Čemu služi?

A

Prostor za tabele je osnovni skladišni prostor. Svaka baza podataka mora da ima jedan ili više
prostora za tabele. Prostor za tabele pripada jednoj bazi podataka. Jedan prostor za tabele može da
sadrži više tabela. U particionisanim bazama podataka jedna tabela može da bude i u više prostora
za tabele.
Prostor za tabele predstavlja logički nivo fizičke organizacije. Određuju se osobine i način upotrebe
prostora za tabele. Ne određuje se neposredno gde se podaci nalaze.
Na nivou prostora za tabele definišu se: veličina stranice, veličina jedinice čitanja (u rasponu 2-256
stranica), da li se podaci čuvaju komprimovano ili ne, da li i kako može da se automatski povećava,
način i uslovi baferisanja stranica.
Fizička lokacija skladištenja se određuje kao skup kontejnera – može da bude direktorijum, particija
diska, disk, prealociran fajl ali i skladišna grupa.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Šta su indeksi? Kada se i kako koriste?

A

Indeksi su pomoćne strukture podataka koje omogućavaju brže pristupanje podacima tj. brže
pretraživanje po unapred izabranom ključu. Svaka tabela može da ima više indeksa sa različitim
ključevima. Indeks je fizička struktura podataka koja se zapisuje u izabranom prostoru za tabele.
Definicija indeksa obuhvata: vrstu indeksa, kolone koje čine uslov uređivanja tj. ključ pristupanja i
ostala svojstva (da li je indeks jedinstven ili ne; da li je indeks jednosmeran ili dvosmeran; da li je
uređujući ili ne; da li je particionisan ili nije).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Navesti poznate vrste indeksa i ukratko objasniti?

A

Jedinstveni indeksi – ne dozvoljavaju ponavljanje više redova sa istim ključem. Koristi se I
kao sredstvo za implementiranje integriteta ključa. Tri vrste su: zabranjene nedefinisane
vrednosti, dozvoljene nedefinisane vrednosti (jednako) i dozvoljene nedefinisane vrednosti
(različite)
* Grupišući indeksi – obezbeđuju da su redovi u tabeli poređani u odgovarajućem poretku.
Najviše jedan ovakav indeks na tabeli. Ubrzavaju izdvajanje “podsekvence” redova u datom
poretku. Usporavaju održavanje, ne menja se samo indeks nego i fizički zapis redova.
* Particionisani indeksi – particionisana tabela može da ima: neparticionisani indeks (ceo
indeks u jednoj particiji) ili particionisani indeks (indeks se nalazi u više prostora za tabele)
* Dvosmerni indeksi – omogućavaju pretraživanje u oba smera. Za neke indekse to ne
predstavlja veliku promenu u implementaciji.
* Indeksi sa strukturom B-stabla – podaci se čuvaju u balansiranom drvetu. Svaki red tabele je
referisan iz lista jednake dubine. Čvorovi i listovi sadrže po više podataka.
* Bit-mapirani indeksi – indeks je organizovan kao niz vrednosti ključa. Uz svaku vrednost
ključa sledi niz bitova, za svaki red tabele po jedan.
* Heš indeksi – indeks se implementira kao heš tabela sa datim ključevima. Računaju se heš
vrednosti na osnovu ključnih atributa, a onda se pomoću dobijene vrednosti neposredno
pristupa podacima.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Šta su jedinstveni indeksi?

A

Jedinstveni indeksi ne dozvoljavaju ponavljanje više redova sa istim ključem. Koristi se I kao
sredstvo za implementiranje integriteta ključa. Tri vrste su: zabranjene nedefinisane vrednosti,
dozvoljene nedefinisane vrednosti (jednako) i dozvoljene nedefinisane vrednosti (različite)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Šta su grupišući indeksi? Implementacija? Karakteristike?
Prednosti i slabosti u odnosu na ne-grupišuće indekse?

A

Grupišući indeksi obezbeđuju da su redovi u tabeli poređani u odgovarajućem poretku. Najviše
jedan ovakav indeks na tabeli. Ubrzavaju izdvajanje “podsekvence” redova u datom poretku.
Usporavaju održavanje, ne menja se samo indeks nego i fizički zapis redova.
Kandidati za grupišuće indekse su kolone: koje se često traže u opsezima; po kojima se često
uređuje rezultat; koje pripadaju stranom ključu po kome se najčešće vrši spajanje; kolone primarnog
ključa.
Prednosti – višestruko ubrzano čitanje nizova redova po uslovu. Slabosti – dodatno usporeno
održavanje i ne ubrzava pristupanje pojedinačnim redovima.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Šta su indeksi sa strukturom B-stabla? Implementacija?
Karakteristike? Prednosti i slabosti?

A

Podaci se čuvaju u balansiranom drvetu. Svaki red tabele je referisan iz lista jednake dubine.
Čvorovi i listovi sadrže po više podataka. Jedinica organizacije indeksa je stranica. Veličina čvorova
odgovara stranici prostora za tabele.
Prednosti – jednostavni i efikasni algoritmi za održavanje. Slabosti – nije posebno efikasan ako je
mnogo redova a malo različitih vrednosti ključa.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Šta su bit-mapirani indeksi? Implementacija? Karakteristike?
Prednosti i slabosti?

A

Indeks je organizovan kao niz vrednosti ključa. Uz svaku vrednost ključa sledi niz bitova, za svaki
red tabele po jedan. Vrednost bita je jedan akko odgovarajući red ima baš tu vrednost ključa.
Prednosti – ako imamo relativno malo različitih vrednosti ključa, onda je ovakva struktura
efikasnija od B-stabla; efikasno se kombinuje upotreba više indeksa.
Slabosti – u slučaju mnogo različitih vrednosti ključeva, indeks postaje veoma veliki i slabo
efikasan; održavanje indeksa je često značajno skuplje nego u slučaju B-stabla

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Šta su heš-indeksi? Implementacija? Karakteristike? Prednosti i
slabosti?

A

Indeks se implementira kao heš tabela sa datim ključevima. Računaju se heš vrednosti na osnovu
ključnih atributa, a onda se pomoću dobijene vrednosti neposredno pristupa podacima. Alternativa
je da se pravi B-stablo a da se kao ključ koriste heš vrednosti.
Prednosti – alternativa klasičnim indeksima B-stabla je efikasnija za pristupanje pojedinačnim
redovima sa tačno zadatim ključem.
Slabosti – nisu dobri za sekvencijalno pristupanje većem broju redova ili ako operator poređenja
nije jednakost

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Šta su indeksi sa dodatnim kolonama? U čemu je njihov značaj?

A

Savremeni RSUBP omogućavaju da se indeksu osim kolona ključa dodaju još i neke kolone, koje
ne čine uslov uređenja. Ako upit zahteva samo kolone ključa i te dodatne kolone, onda se čitanje
završava na indeksu. Upotreba je nešto skuplja. Povećava se fizička veličina indeksa. Povećava se
dubina B-stabla.

17
Q

Kada pravimo indekse, zašto i koliko? Da li uvek moramo da
imamo indekse?

A

U slučaju malih tabela, može da bude brže da se uvek pretraže svi redovi nego da se koriste indeksi.
Indeksi omogućavaju brži pristup konkretnim redovima tabele. Ako čitanje zahteva samo kolone
sadržane u indeksu, onda tabeli ne mora ni da se pristupa.
Indeksi moraju da se održavaju. Zauzimaju prostor. Mogu da povećaju broj zaključavanja ili
granularnost katanaca. Podižu cenu reorganizovanja ili prenošenja tabela.
Idealan broj i vrsta indeksa zavise od vrste, namene i strukture tabele i baze podataka, kao i načina
upotrebe. Za transakcione tabele, 3-5 indeksa. Za analitičke tabele, bez ograničenja.

18
Q

Šta je stranica baze podataka? Čemu služi?

A

Stranica je osnovni element fizičkog zapisa tabele. Sve operacije se fizički odvijaju nad stranicama.
Uvek se čita sa diska ili zapisuje na disk cela stranica. Svaka tabela i svaki indeks se sastoji od
stranica, tj. svaka tabela se zapisuje u skupu stranica jednog prostora za tabele.
Veličina stranice je jedna od karakteristika prostora za tabele. Sve stranice jednog prostora za tabele
su iste veličine.
Ako su stranice velike: mogu da sadrže više redova; manje se traži po disku; manja je dubina
indeksa; redovi tabele mogu da budu veći; uobičajeno za skladišta podataka i analitičke baze
podataka.
Ako su stranice male: veća je iskorišćenost prostora na disku; manje je nepotrebnog čitanja i
pisanja; uobičajeno za transakcione baze podataka.
Stranice se sastoje od zaglavlja i zapisa.

19
Q

Šta je bafer za stranice? Čemu služi?

A

Bafer za stranice je memorijski prostor predviđen za čuvanje kopija jednog broja stranica radi
omogućavanja bržeg pristupa podacima. Određuje se na nivou prostora za tabele. Što je bafer za
stranice veći, to je broj pristupa disku manji.

20
Q

Šta je materijalizovani pogled? Kada se koristi i zašto?

A

Materijalizovani pogledi su tabele čiji struktura i sadržaj su definisani datim upitom. Vrste:
sistemski održavane, korisnički održavane, tabele u senci, federativne. Osnovna namesna im je
ubrzavanje složenih upita nad podacima koji se relativno retko menjaju i koji se relativno lako
ažuriraju u slučaju promene podataka.

21
Q

Objasniti ukratko strategije izolovanja transakcija i razlike među
njima.

A

Cilj je međusobno izolovanje transakcija. Rad jedne transakcije ne sme da utiče na rad druge.
Posebno, ne sme da doprinese da druga transakcija radi neispravno. Dve osnovne strategije su:
pesimistička i optimistička.

22
Q

Objasniti pesimističko izolovanje transakcija.

A

Uobičajeno je za baze podataka. Pretpostavlja se da će više transakcija raditi u isto vreme i da će
različite transakcije često koristiti iste podatke. Ostvaruje se pomoću sistema katanaca – svaki
podatak se pre pristupanja zaključava odgovarajućim katancem.

23
Q

Objasniti optimističko izolovanje transakcija

A

Uobičajeno je za dugotrajne transakcije. Pretpostavlja se da druge transakcije neće koristiti iste
podatke ili da će to raditi veoma retko. Obično se implementira uz pamćenje stanja korišćenih
podataka. Pri čitanju se zapamti i kada je podatak pročitan. Kada dođe vreme za pisanje, sva pisanja
čine jednu pesimističku transakciju; za svaki podatak na kome počiva transakcija se proverava da li
je u međuvremenu bio promenjen; ako jeste, transakcija se prekida.

24
Q

Objasniti osnovne elemente mehanizma katanaca.

A

Mehanizam katanaca je uobičajeno sredstvo ostvarivanja izolovanosti transakcija. Svaki katanac
ima: objekat koji se zaključava, trajanje i vrstu katanca. Objekat može biti: atribut, red tabele,
stranica tabele, grupa stranica, cela tabela, prostor za tabele, indeks. Veličina objekta određuje
granularnost katanca.

25
Q
  1. Šta je eskalacija katanaca? Zašto je značajna?
A

Katanac može da zaključava jedan ili više redova (ili jednu ili više stranica). Veliki broj katanaca
može značajno da uspori rad zbog mnogo više provera pri radu; zato je broj katanaca ograničen.
Kada se prevaziđe dopušten broj katanaca, dolazi do eskalacije katanaca. Tada se više manjih
katanaca zamenjuje jednim većim ili se više katanaca na stranicama zamenjuje katancem na tabeli