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.

Entradas relacionadas: