Datu-baseen Berreskuratze-prozesuak eta Egunkariratzea
Clasificado en Informática
Escrito el en vasco con un tamaño de 3,74 KB
Datu-baseen Berreskuratze-prozesuak
ROLLBACK prozesua
ROLLBACK (I)
- Transakzio batek ROLLBACK egiten badu:
- Transakzioa ez da ondo amaitu, eta bere aldaketa guztiak bertan behera gelditu behar dira.
- Eragiketa horiek egindako aldaketak egunkarian erregistratu egin dira, ROLLBACK barne dela.
- Transakzioa hitzartze-puntura heldu da.
ROLLBACK (II)
- Transakzio batek ROLLBACK egin ondoren:
- Transakzioa bertan behera gelditu da.
- Transakzioaren eragiketen eraginak desegin egiten dira.
- Blokeoak, bufferrak, eta abar askatzen dira.
Berreskuratze-urratsak
Urratsak (I) - UNDO
- Transakzio batek huts egiten badu, transakzioa atzera egin behar da: aldaketak desegin (UNDO) behar dira.
- Transakzioa ez zen egiaztatze-puntura iritsi (egunkarian ez zen COMMIT erregistratu).
Urratsak (II) - REDO
- Transakzioa hitzartu ondoren hutsegite bat gertatzen bada, transakzioa berregin behar da: aldaketak berregin (REDO) behar dira.
- Ezin da jakin aldaketak diskoan gorde diren edo ez.
Urratsak (III) - UNDO(T)
- T transakzio bat atzera egiteko (UNDO(T)), egunkarian erregistratu diren T-ren eragiketa (aldaketa) guztiak desegin behar dira, baina eragiketak agertzen diren ordenaren alderantzizkoa erabiliz.
- UNDO([WRITE,,,, ,]) egin ondoren, DB-an = gelditzen da.
Urratsak (IV) - REDO(T)
- T transakzio bat berregiteko (REDO(T)), egunkarian erregistratu diren T-ren eragiketak (aldaketak) guztiak berregin behar dira, agertzen diren ordena erabiliz.
- REDO([WRITE,,,, ,]) egin ondoren, DB-an = gelditzen da.
Egunkariaren kudeaketa
Egunkariaren beheranzko aldatzea
- Egunkaria disko batean gordetzen den fitxategi arrunt bat baino ez da.
- Egunkarian sarrera bat idazteko hurrengo urratsak beharrezkoak dira:
- Fitxategiaren bloke bat memoria nagusira kopiatu.
- Memoriako blokea eguneratu, sarrera berri bat idatziz.
- Memoriako blokea diskora kopiatu.
Hau da, diskoan bloke bat idatziko da sarrera bakoitzeko.
Egunkariaren atzeratutako aldatzea (I)
- Egunkariaren bufferrean bloke oso bat mantentzen da, bloke hau sarreraz bete arte.
- Bufferreko blokea sarreraz bete ondoren:
- Memoriatik diskora kopiatzen da blokea.
Hau da, bloke bat idatziko da sarrera multzo bakoitzeko.
Egunkariaren atzeratutako aldatzea (II)
- Hutsegite bat gertatzen denean, egunkariaren sarrera batzuk diskoan ez egotea gerta daiteke.
- Hutsegiteagatik memoria nagusiko informazio guztia galtzen da.
- Memoria nagusian egunkariaren hainbat sarrera egon daitezke, blokea bete ez bada.
- Berreskuratze-prozesuak ez du sarrera horiek kontuan hartzen.
- Berreskuratze-azpisistemak (diskoko) egunkaria baino ez du kontuan hartzen.
Idazketa aurreko egunkariratzea (I)
- T transakzioak egindako aldaketak ezin dira diskoan gorde, T-ri dagozkion egunkari-sarrera guztiak diskoan gorde aurretik.
- Hau da, lehenago egunkaria idatzi behar da diskoan, eta ondoren aldaketak.
- Gainera, T transakzioaren COMMIT (konpromisoa) ezin da burutu T-ri dagozkion egunkari-sarrera guztiak diskoan idatzi arte.
- COMMIT bera barne dela.
Transakzio bakoitzeko bloke bat idazten da gutxienez.