Re: Baze - pravi nacin za resavanje mehanizma pratecih stranica
Izvinite za ovoliko kasnjenje...
Ponovo sam otisao da pogledam svoju svesku i prepisao sam ceo 4. zadatak.
Kada sam seo da proverim...ono sto sam napisao za azuriranje TTS-ova je
posledica zabune - ja sam pri prvom gledanju uzeo podatke sa tabele na kojoj
sam upisivao promene a profesor je gledao sliku koju sam nacrtao na osnovu
te tabele. Elem, uspeo sam da pogresim u prepisivanju tako da sam od svog
netacnog resenja dobio tacnu sliku...bends his head in shame...
BTW, zadatak je isti kao u roku iz 2.7.2002.
Ali to nije kraj; pogresio sam i pri kraju kada sam izvrsio commit T2 (TTS
T2->PTS T2) a to nisam smeo da uradim jer je T1 (koja nije izvrsila commit)
pre T2 u serijskom redosledu. To profesor nije video pa sam tako dobio sve
poene za tu tacku. Ista prica za tacku e) gde je trebalo napisati koje
operacije vrsi sistem (dnevnik sa neodlozenim upisom) u cilju oporavka
sistema, gde sam takodje pogresio i nisam uradio undo T2 vec samo undo T1
(greska posle t38). Ni to profesor nije video. Inace, ispit sam pao tako da
je svejedno da li je video ili ne...
Pitao sam ga da li transakcija moze da izvrsi commit ako ona pre nje u ser.
redosledu nije to uradila i on je rekao ne.
Dakle, sada cu da ispisem sve slucajeve za resavanje pa me ispravite gde
treba...potpuno sam sludjen...
1. Ako je podatak X sam na stranici na disku i neka transakcija izvrsi
Write(X), onda ce se izvrsiti update TTS-a samo te transakcije, bez obzira
da li jos neka transakcija radi sa podatkom X (?)
2. Ako je podatak X na stranici sa jos nekim podacima, Write(X) ce izvrsiti
update svih TTS-ova (svih transakcija) koji se odnose na te podatke
3. Ako je neka transakcija izvrsila commit vise se ne menjaju ni njen TTS ni
PTS
4. Transakcija ne moze da izvrsi commit (prepis TTS u PTS) ako sve
transakcije koje su pre nje u serijskom redosledu nisu izvrsile commit
Ako neko ima uradjen ovaj zadatak mnogo bi pomoglo kada bi okacio tacno
resenje..
Pozdrav
> On Aug 25, 2003, Milan Stanojevic wrote:
>
> > Pre svega, transakcija ne menja svoje pointere, to radi menadzer baze.
> > Transakcije predstavljaju komande koje izvrsava menadzer baze i na njemu
je
> > da resi sve konfilkte i moguce deadlockove.
> > Kontraprimer je sasvim na mestu, kljucna stvar je da su podaci u istom
> > bloku! Ako se promenio podatak B, promenjen je sadrzaj celog bloka, a u
> > njemu i podatak A. Pravi se nova kopija tog bloka.
> > Menadzer baze radi sa blokovima na disku.
> >
> > To sto si ti dobio 8 poena na zadatku je samo tuzna potvrda kvaliteta
> > nastave iz pojedinih predmeta na nasem fakultetu.
> > ----- Original Message -----
> > From: "Stojic" <vladas@EUnet.yu>
> > To: <nastava@titan.etf.bg.ac.yu>
> > Sent: Monday, August 25, 2003 4:01 PM
> > Subject: [nastava] Baze - pravi nacin za resavanje mehanizma pratecih
> > stranica
> >
> >
> > > Dakle, kada neka transakcija izvrsi Write(X) menja se samo TTS (X) te
> > > transakcije! Tako sam uradio zadatak na junskom roku i dobio svih 8
> > bodova.
> > > Dole navedeni "kontraprimer" nije tacan: transakcija T2 upisuje
podatke u
> > > svoj TTS i PTS za podatak A *tek* kada dodje do Read(A), a ne na
pocetku
> > > svog izvrsavanja, tako da T1.Write(A) ne moze da menja TTS (T2-A) koji
u
> > > momentu T1.Write(A) ne postoji (tj. T2 mu jos ni jednom nije
pristupila
> > bilo
> > > za citanje bilo za pisanje).
> > >
> > >
> > >
> > > ========================================================
> > >
> > > Ovo je Damjan poslao u februaru.
> > > Pazite ako se ne promene obe tabele, transakcija 2 cita pogresan
podatak.
> > >
> > > ----- Original Message -----
> > > From: Damjan S. Vujnovic
> > > To: NASTAVA
> > > Sent: Saturday, February 22, 2003 12:00 PM
> > > Subject: Re: [nastava] evo roka iz baza
> > >
> > >
> > > Damjan:
> > > Posle svakog Write(X,xi). I aurira ne samo teku?u tabelu trenutne
> > > transakcije, ve? i svih ostalih transakcija koje koriste blok na koji
se
> > > odnosi Write(X,xi).
> > >
> > > Milan:
> > > E vidis Bojovic je danas na zalbama rekao da se azurira blok samo
tekuce
> > > transakcije. Meni je to nekako logicnije, jer kako ce inace jedna
> > > transakcija da menja pointere drugih, odnosno malo bi bilo
komplikovano
> > sve
> > > to izvesti.
> > >
> > > Damjan:
> > > Molim!? Ovaj primer ti je online i iz glave, ali koliko sada vidim,
> > > poslužiće svrsi. Podaci A i B su u istom bloku, evo ti i redosled
> > > izvršavanja (ekvivalentan je sa T1->T2), a ti vidi šta će biti ako
posle
> > > T1:Write(A), ne ažuriraš i TT1 i TT2 (šta će pročitati, a šta treba da
> > > pročita T2:Read(A))...
> > >
> > > |--------|--------|
> > > | T1 | T2 |
> > > |--------|--------|
> > > | |Read(B) |
> > > | |B:=B+3 |
> > > | |Write(B)|
> > > |Read(A) | |
> > > |A:=A+1 | |
> > > |Write(A)| |
> > > | |Read(A) |
> > > | |A:=A*2 |
> > > | |Write(A)|
> > > |Commit | |
> > > | |Commit |
> > > |--------|--------|
> > >
> > > Jedino što meni pada na pamet je da se ja i ti nismo razumeli. Ja
kažem da
> > > se ažuriraju TT od svih transakcija, a ti govoriš o blokovima (i ja
isto
> > > kažem da se ažurira samo jedan blok: jedan blok, ali sve TT koje imaju
> > > pokazivač na taj blok).
> > >
> > > Poz,
> > > DSV
> > >
> > > -----------------------------------------------------------------
> > > unsubscribe:
> > > minimalist@titan.etf.bg.ac.yu?subject=unsubscribe%20nastava
> > > -----------------------------------------------------------------
> > >
> >
> > -----------------------------------------------------------------
> > unsubscribe:
> > minimalist@titan.etf.bg.ac.yu?subject=unsubscribe%20nastava
> > -----------------------------------------------------------------
> >
>
> --
> Dragan Milenkovic
>
> -----------------------------------------------------------------
> unsubscribe:
>
minimalist@titan.etf.bg.ac.yu?subject---------------------------------------
--------------------------
>
>
Ponovo sam otisao da pogledam svoju svesku i prepisao sam ceo 4. zadatak.
Kada sam seo da proverim...ono sto sam napisao za azuriranje TTS-ova je
posledica zabune - ja sam pri prvom gledanju uzeo podatke sa tabele na kojoj
sam upisivao promene a profesor je gledao sliku koju sam nacrtao na osnovu
te tabele. Elem, uspeo sam da pogresim u prepisivanju tako da sam od svog
netacnog resenja dobio tacnu sliku...bends his head in shame...
BTW, zadatak je isti kao u roku iz 2.7.2002.
Ali to nije kraj; pogresio sam i pri kraju kada sam izvrsio commit T2 (TTS
T2->PTS T2) a to nisam smeo da uradim jer je T1 (koja nije izvrsila commit)
pre T2 u serijskom redosledu. To profesor nije video pa sam tako dobio sve
poene za tu tacku. Ista prica za tacku e) gde je trebalo napisati koje
operacije vrsi sistem (dnevnik sa neodlozenim upisom) u cilju oporavka
sistema, gde sam takodje pogresio i nisam uradio undo T2 vec samo undo T1
(greska posle t38). Ni to profesor nije video. Inace, ispit sam pao tako da
je svejedno da li je video ili ne...
Pitao sam ga da li transakcija moze da izvrsi commit ako ona pre nje u ser.
redosledu nije to uradila i on je rekao ne.
Dakle, sada cu da ispisem sve slucajeve za resavanje pa me ispravite gde
treba...potpuno sam sludjen...
1. Ako je podatak X sam na stranici na disku i neka transakcija izvrsi
Write(X), onda ce se izvrsiti update TTS-a samo te transakcije, bez obzira
da li jos neka transakcija radi sa podatkom X (?)
2. Ako je podatak X na stranici sa jos nekim podacima, Write(X) ce izvrsiti
update svih TTS-ova (svih transakcija) koji se odnose na te podatke
3. Ako je neka transakcija izvrsila commit vise se ne menjaju ni njen TTS ni
PTS
4. Transakcija ne moze da izvrsi commit (prepis TTS u PTS) ako sve
transakcije koje su pre nje u serijskom redosledu nisu izvrsile commit
Ako neko ima uradjen ovaj zadatak mnogo bi pomoglo kada bi okacio tacno
resenje..
Pozdrav
> On Aug 25, 2003, Milan Stanojevic wrote:
>
> > Pre svega, transakcija ne menja svoje pointere, to radi menadzer baze.
> > Transakcije predstavljaju komande koje izvrsava menadzer baze i na njemu
je
> > da resi sve konfilkte i moguce deadlockove.
> > Kontraprimer je sasvim na mestu, kljucna stvar je da su podaci u istom
> > bloku! Ako se promenio podatak B, promenjen je sadrzaj celog bloka, a u
> > njemu i podatak A. Pravi se nova kopija tog bloka.
> > Menadzer baze radi sa blokovima na disku.
> >
> > To sto si ti dobio 8 poena na zadatku je samo tuzna potvrda kvaliteta
> > nastave iz pojedinih predmeta na nasem fakultetu.
> > ----- Original Message -----
> > From: "Stojic" <vladas@EUnet.yu>
> > To: <nastava@titan.etf.bg.ac.yu>
> > Sent: Monday, August 25, 2003 4:01 PM
> > Subject: [nastava] Baze - pravi nacin za resavanje mehanizma pratecih
> > stranica
> >
> >
> > > Dakle, kada neka transakcija izvrsi Write(X) menja se samo TTS (X) te
> > > transakcije! Tako sam uradio zadatak na junskom roku i dobio svih 8
> > bodova.
> > > Dole navedeni "kontraprimer" nije tacan: transakcija T2 upisuje
podatke u
> > > svoj TTS i PTS za podatak A *tek* kada dodje do Read(A), a ne na
pocetku
> > > svog izvrsavanja, tako da T1.Write(A) ne moze da menja TTS (T2-A) koji
u
> > > momentu T1.Write(A) ne postoji (tj. T2 mu jos ni jednom nije
pristupila
> > bilo
> > > za citanje bilo za pisanje).
> > >
> > >
> > >
> > > ========================================================
> > >
> > > Ovo je Damjan poslao u februaru.
> > > Pazite ako se ne promene obe tabele, transakcija 2 cita pogresan
podatak.
> > >
> > > ----- Original Message -----
> > > From: Damjan S. Vujnovic
> > > To: NASTAVA
> > > Sent: Saturday, February 22, 2003 12:00 PM
> > > Subject: Re: [nastava] evo roka iz baza
> > >
> > >
> > > Damjan:
> > > Posle svakog Write(X,xi). I aurira ne samo teku?u tabelu trenutne
> > > transakcije, ve? i svih ostalih transakcija koje koriste blok na koji
se
> > > odnosi Write(X,xi).
> > >
> > > Milan:
> > > E vidis Bojovic je danas na zalbama rekao da se azurira blok samo
tekuce
> > > transakcije. Meni je to nekako logicnije, jer kako ce inace jedna
> > > transakcija da menja pointere drugih, odnosno malo bi bilo
komplikovano
> > sve
> > > to izvesti.
> > >
> > > Damjan:
> > > Molim!? Ovaj primer ti je online i iz glave, ali koliko sada vidim,
> > > poslužiće svrsi. Podaci A i B su u istom bloku, evo ti i redosled
> > > izvršavanja (ekvivalentan je sa T1->T2), a ti vidi šta će biti ako
posle
> > > T1:Write(A), ne ažuriraš i TT1 i TT2 (šta će pročitati, a šta treba da
> > > pročita T2:Read(A))...
> > >
> > > |--------|--------|
> > > | T1 | T2 |
> > > |--------|--------|
> > > | |Read(B) |
> > > | |B:=B+3 |
> > > | |Write(B)|
> > > |Read(A) | |
> > > |A:=A+1 | |
> > > |Write(A)| |
> > > | |Read(A) |
> > > | |A:=A*2 |
> > > | |Write(A)|
> > > |Commit | |
> > > | |Commit |
> > > |--------|--------|
> > >
> > > Jedino što meni pada na pamet je da se ja i ti nismo razumeli. Ja
kažem da
> > > se ažuriraju TT od svih transakcija, a ti govoriš o blokovima (i ja
isto
> > > kažem da se ažurira samo jedan blok: jedan blok, ali sve TT koje imaju
> > > pokazivač na taj blok).
> > >
> > > Poz,
> > > DSV
> > >
> > > -----------------------------------------------------------------
> > > unsubscribe:
> > > minimalist@titan.etf.bg.ac.yu?subject=unsubscribe%20nastava
> > > -----------------------------------------------------------------
> > >
> >
> > -----------------------------------------------------------------
> > unsubscribe:
> > minimalist@titan.etf.bg.ac.yu?subject=unsubscribe%20nastava
> > -----------------------------------------------------------------
> >
>
> --
> Dragan Milenkovic
>
> -----------------------------------------------------------------
> unsubscribe:
>
minimalist@titan.etf.bg.ac.yu?subject---------------------------------------
--------------------------
>
>
- References:
- Re: Baze - pravi nacin za resavanje mehanizma pratecih stranica
- From: Dragan Milenkovic <tyrant@galeb.etf.bg.ac.yu>
- Re: Baze - pravi nacin za resavanje mehanizma pratecih stranica
Previous by date: Re: diplomski
Next by date: algoritmi pretrazivanja
Previous by thread: Re: Baze - pravi nacin za resavanje mehanizma pratecih stranica Next by thread: Help
Previous by thread: Re: Baze - pravi nacin za resavanje mehanizma pratecih stranica Next by thread: Help