Elkarblokeoa Kudeatzeko Protokoloak

Ekonomia4,17 KB

Saihesteko Protokoloak

Ez-itxarote Protokoloa

Protokolo honen ezaugarriak:

  • T transakzio batek erreserba bat eskuratu ezin badu, berehala bertan behera uzten da eta denbora-tarte bat igaro ondoren berrabiarazten da.
  • T transakzioak ez du egiaztatzen elkarblokeatzerik gertatuko den ala ez.
  • Bertan behera uzteak eta berrabiarazteak asko egiten dira.

Itxarote Zuhurreko Protokoloa

Ez-itxarote protokoloa hobetzen du. Ti transakzioa X elementua erreserbatzen saiatzen da, baina Tj transakzioak erreserbatuta badu jada:

  • Tj blokeatuta ez badago (erreserbatutako beste elementu baten zain ez badago), Ti blokeatu egiten da eta itxaroten uzten da.
  • Bestela (Tj blokeatuta badago), Ti bertan behera uzten da.

Elkarblokeatzerik gabeko protokoloa da.

Denbora-mugak (Timeouts)

Funtzionamendua:

  • T transakzio batek sistemak definitutako denbora-muga baino luzeago itxaroten badu, sistemak interpretatzen du transakzioa elkarblokeatze-egoeran egon daitekeela eta bertan behera uzten du.
  • Ez da benetan egiaztatzen elkarblokeatzea dagoen edo ez.

Detektatzeko Protokoloak: Itxarote-grafoak

Grafoen Eraikitzea

  • Exekutatzen ari den transakzio bakoitzeko adabegi bat sortzen da.
  • Tj-k X elementu bat erreserbatuta badu eta Ti X-ren zain badago, (Ti → Tj) ertza sortzen da.
  • Tj-k X askatzen duenean, aurretik sortutako ertza ezabatzen da.

Elkarblokeatzearen Detekzioa

  • Elkarblokeatze-egoera sortuko da, baldin eta soilik baldin itxarote-grafoak ziklo bat badu.
  • Soluzioa: Aldaketa gutxien egin dituen transakzioa bertan behera uzten da ("biktima").

Zikloak Detektatzeko Maiztasuna

Noiz detektatu zikloak?

  • Aldiro-aldiro.
  • Unean exekutatzen ari den transakzio kopuruaren arabera.
  • Hainbat transakziok elementuak erreserbatzeko zenbat denboraz itxaron duten kontuan hartuta.

"Biktimak" Hautatzeko Irizpideak

Nola hautatu "biktima"?

  • Ez aukeratu:
    • Luzaroan exekutatu diren transakzioak.
    • Eguneratze asko egin dituzten transakzioak.
  • Aukeratu:
    • Ziklo bat baino gehiagotan parte hartzen duten transakzioak.

Ahidura (Starvation edo Livelock)

Definizioa eta Arrazoiak

Transakzio batek denbora-tarte mugagabe batez aurrera egin ezin duenean gertatzen da, besteek normaltasunez aurrera jarraitzen duten bitartean.

Arrazoiak:

  • Erreserben itxarote-eskema ez-bidezkoa: transakzio batzuei beste batzuen gainetik lehentasuna ematen zaie.
  • Behin eta berriz transakzio bera "biktima" gisa hautatzea.

Soluzioak

  • Zenbat eta gehiago itxaron, orduan eta lehentasun handiagoa eman transakzioari.
  • Lehentasun handiagoa eman askotan bertan behera utzi diren transakzioei.
  • Itxaron-Hil eta Zauritu-Itxaron eskemek ahidura eragozten dute.

Granuralitate-mailak

Kontzeptua eta Motak

  • Objektu edo elementu bat izan daiteke: atributua, erregistroa, blokea, erlazioa, fitxategia, datu-basea, etab.
  • Datu-elementuen tamainari granuralitate deitzen zaio.
  • Datu-mota bakoitzeko (atributua, erregistroa, blokea, etab.) giltzarrapo (mota) desberdin bat dago.

Konkurrentzian duen Eragina

Granuralitateak konkurrentzia-mailari eragiten dio:

  • Zenbat eta txikiagoa izan datu-elementua, orduan eta handiagoa da konkurrentzia-maila.
  • Baina:
    • Elementu-kopurua handiagoa da (eta giltzarrapoena ere bai).
    • Lankarga handiagoa sortzen da.
    • Biltegiratze-leku handiagoa behar da.

Maila Optimoa Aukeratzea

Zein da granuralitate-maila onena?

  • Oro har, transakzioek erregistro gutxi atzitzen badituzte: erregistro-maila aukeratu.
  • Transakzioek taula bereko erregistro asko atzitzen badituzte: erlazio-maila aukeratu.

Deskargatu

PDF Word HTML