Professional Documents
Culture Documents
SBP Zi Definicije
SBP Zi Definicije
Periodička izrada arhiva dnevnika – Neprekidno arhiviranje stabilne online memorije u offline, po mogućnosti
udaljenu stabilnu memoriju
Inkrementalno arhiviranje: Periodičko arhiviranje cijele ili dijela baze podataka naizmjenice. Rijeđe se arhivira cijela, a
češće manji djelovi baze podataka
Arhiva razine 0 – full backup – arhiviranje svih blokova podataka – DUGOTRAJNO
Arhiva razine 1 . samo oni blokovi koji su promijenjeni nakon razine 0
Arhiva razine 2 – samo ovi blokovi koji su promijenjeni nakon razine 1
Preporuča se ćuvati barem 3 posljedne arhive dnevnika
Nekonzistenta analiza – ako transakcija T1 čita nekoliko elemenata, neke elemente pročita prije, a neke nakon što ih
je promijenila transakcija T2
Izgubljena izmjena - ako transakcija T1 na temelju pročitane vrijednosti elementa x promijeni vrijednost elementa x,
pri tome ne uzevši u obzir izmjenu elementa x koju je u međuvremenu obavila transakcija T2
Prljavo čitanje - ako transakcija T1pročita element nakon što ga je promijenila transakcija T2, a prije nego je
T2potvrđena
Model transakcije – modelom transakcije je određen redosljed operacija unutar jedne transakcije
Povijest – opisujevremenski određen redoslijed obavljanja operacija jedne ili više transakcija
Svojstva povijesti:
1. Povijest sadrži točno one operacije koje su sadržane u transkacijama
2. Poredak kojeg transakcije imaju unutar Ti mora biti zadržan u H
3. Poredak je određen za SVE konfliktne operacije neovisno kojoj transakciji pripadaju
Konfliktne operacije su operacije čija bi zamjena redoslijeda izvršavanja mogla utjecati na konačni rezultat r-w, w-w
Dvije operacije su konfliktne ako dijeluju NA ISTI ELEMENT baze podataka i barem jedna je operacija pisanja
Serijska povijest – Povijest je serijska ako za svake dvije transakcije Ti i Tj iz povijesti vrijedni da sve operacije iz Ti
prethode svim operacijama iz Tj i obrnuto (jedna transakcija počinje nakon potvrđivanja druge)
Dvije serijske povijesti ne moraju dati isti rezultat izvršavanja (zbog mogucih konflikata)
Serijalizabilna povijest – Povijest je serijalizabilna (SR) ako je ekvivalentna nekoj serijskoj povijesti H=Hs
Ekvivalent povijesti – Povijest H1 je ekvivalentna povijesti H2 ako i samo ako je rezultat izvršavanja H1 jednak H2
Konflikt-serijalizabilna povijest – Povijest je konflikt-serijalizabilna (CSR) ako je serijalizabilna (CSR) ako je H konflikt-
ekvivalentna nekoj serijskoj povijesti HS
Serijalizacijski graf (SG) za povijest H, označen sa SG(H), je usmjereni graf čiji su čvorovi transakcije iz H, a lúkovi su
(Ti, Tj), i != j, ako postoji operacija pi iz Ti koja prethodi operaciji qj iz Tj i pri tome su pi i qj konfliktne operacije.
ako je povijest H konflikt-ekvivalentna, tada se za H pomoću SG(H) lako može odrediti konflikt-ekvivalentna serijska
povijest. budući da je serijalizacijski graf acikličan za konflikt ekvivalentne povijesti, za SG(H) je moguće odrediti
topološki poredak. Svaki topološki poredak elemenata SG(H) implicira po jednu konflikt ekvivalentnu serijsku povijest
za H
Povijesti H iH' su pogled-ekvivalentne (view-equivalent), H =v H', ako vrijedi da tTransakcije čitaju iste vrijednosti te
konačno i zapisuju iste vrijednosti.
moguće je dokazati da je svaka CSR povijest ujedno i VSR povijest, dok svaka VSR povijest nije ujedno i CSR povijest
Obnovljiva povijest RC - povijest H je obnovljiva (recoverable ili RC) ako za svaku potvrđenu transakciju Ti
koja čita iz Tj, vrijedi da je cj < ci. Tj. Transakcija smije biti potvrđena tek nakon što su potvrđene sve
transakcije iz kojih je čitala
ACA povijest - povijest H izbjegava kaskadno poništavanje(avoids cascading aborts ili ACA) ako za svaku
transakciju Ti koja operacijom ri[x] čita iz Tj, vrijedi da je cj < ri[x].
•drugim riječima, transakcija smije čitati samo one vrijednosti koje je zapisala već potvrđena transakcija
Striktna povijest (ST) - povijest H je striktna (strict ili ST) ako za svake dvije transakcije Ti i Tj vrijedi da ako
je wj[x] < oi[x], tada ili aj < oi[x] ili cj < oi[x]
drugim riječima, niti jedan element se ne smije niti pročitati niti izmijeniti dok sve transakcije koje su
prije toga pisale u taj element ne terminiraju (obave abortili commit)
svaka povijest H koja je nastala obavljanjem operacija u skladu s 2PL protokolom je konflikt-
serijalizabilna
2PL1 propisuje da transakcija Ti prije obavljanja operacije mora zatražiti (i dobiti) ključ odgovarajuće vrste,
te da ga nakon operacije mora otpustiti (ne nužno odmah)
2PL2 propisuje da element može biti zaključan ili jednim X-ključem ili jednim ili više S-ključeva
2PL3 propisuje da transakcija Ti mora zaključati sve potrebne elemente prije nego otključa bilo koji
element, odnosno transakcija koja je otpustila ključ (bilo koje vrste) ne može nakon toga postavljati nove
ključeve (bilo koje vrste) – Faza rasta, faza sažimanja ključeva
Zabrana čekanja – SET LOCK MODE TO NOT WAIT – ako dođe do čekanja aborta se
Konzervativni 2PL protokol – transakcija na početku postavlja SVE ključeve koje će koristiti. Ako ne uspije
postaviti sve onda ne zadržava nijedan i aborta se
Propisivanje redosljeda zaključavanja – Utvrđuje se poredak među elementima. Ako Ti zaključa xi tada ne
može xj za kojeg vrijedi xj < xi
ključ za izmjenu,U-ključ, update-lock – Ako Ti čita element, a kasnije pisati u njega stavlja U ključ
- U ključ se može promovirati u X ključ
- U ključ se može postaviti na element zaključan S ključevima drugih transakcija!
- Ako je element zaključan U ključem druge transakcije ne mogu postaviti U ili X ključ, mogu S ključ
- S ključ se ne smije promovirati u U ili X ključ – ako namjerava pisati treba odma postaviti U umjesto S
10. Predavanje – Kontrola pristupa 3/3 – granulacija
Zaključavanje može biti na razini: n-torke, fizičke stranice, relacije i baze podataka
Warning lock – kljuc upozorenja
Intention lock – kljuc namjere
Intention exlusive lock – IX
- Jedna ili više relacija nižih razina ima eXclusive kljuc postavljen
Kad se postavlja X kljuc na neku N-torku prvo se treba provjeriti i postaviti IX na roditelja
Intention shared lock – IS
Na nižim razinama postoje elementi zaključani S ključem
Shared and intention-exlusive lock SIX
- Kombinacija S i iX kljuca
- Na korijen se postavlja S ključ, a na neka podstabla će biti ili već je postavljen X kljuc
AKO TRANSAKCIJA RADI SAMO UPDATE – DOVOLJNO JE S-ključ na index jer ne mijenja kardinalnost
skupa!
PRLJAVO ČITANJE
Transakcija T1 obavi čitanje x prije nego je T2 koja je pisala bila završena(commit/abort)
Povijest koja nije ST niti ACA niti RC – zbog prljavog čitanja
NEPONOVLJIVO ČITANJE
T1 pročita element X, T2 primijeni X. Ako t1 ponovno čita pročitat će drugačiju vrijednost
Zbog nekonzistente analize i izgubljene izmjene
SABLASNE N-TORKE
Transakcija T1 pročita elemente na temelju predikata P, a zatim T2 unese, izmjeni ili obriše elemente koji
zadovoljavaju taj predikat P prije nego što je T1 završila
SQL RAZINE IZOLACIJE:
Atomarnost globalne transakcije znači da TM-ovi u svim čvorovima u kojima se izvršavaju pripadne
subtransakcije moraju donijeti i provesti jednaku odluku o ishodu obavljanja transakcije: ili su
svesubtransakcije globalne transakcije potvrđene, ili su sveponištene
Protokol je NEZAVISAN S OBZIROM NA MOGUĆNOST OBNOVE ako svaki čvor TC ili TM nakon što se
njemu dogodio kvar može samostalno, bez komuniklacije s ostalim čvorovima donijeti odluku o
poništavanju ili ponovnom obavljanju svih subtransakcija koje su se odvijale u trenutku kvara
2PC nije nezavisan s obzirom na mogućnost obnove (P4)
Ako je TM u dnevniku zapisao spreman i prema TC poslao tu poruku – ako se tada TM pokvari on
ne moze odluciti treba li potvrditi ili poništiti bez TC-a
12 Distribuirane baze podataka
ako se koristi striktni 2PL protokol (S-ključeve smijese otpustiti i prije kraja subtransakcije), sustav bi
mogao producirati povijest koja nije serijalizabilna:
ako se koristi rigorozni 2PL protokol (sviključevi se otpuštaju tek po završetku 2PC), sustav će osigurati
serijalizabilnost globalne transakcije:
Replicirane BP
fragment je repliciran ako je alociran u dva ili više čvorova
za jedan logički element x (n-torku, fragment, relaciju) postoji više fizičkih elemenata (kopija, replika), x1,
x2, ..., u čvorovima S1, S2, ...
Nedostaci repliciranih BP - problem konzistentnosti kopija logičkog elementa