Konkurrentzia-kontrola: Serializagarritasuna eta protokoloak
Clasificado en Ciencias sociales
Escrito el en vasco con un tamaño de 5,19 KB
gaia: Konkurrentzia-kontrola
Sarrera
- Erabiltzaile anitzeko DBKS batean, aldi berean hainbat erabiltzailek lan egin dezakete.
- Datuen aldibereko atzipenak ez du zertan egoera koherente batera eraman.
- Konkurrenteki egikaritzen diren transakzio desberdinek objektu berberak erabil ditzakete.
Sarrera: ACID propietateak
-
Isolation - Isolamendua (konkurrentzia kontrolerako unitate logikoa):
- Transakzio bat beste transakzioetatik isolatuta exekutatzen ari balitz bezala exekutatu behar da.
- Transakzio baten exekuzioak ezin du interferentziarik sortu modu konkurrentean exekutatzen ari diren beste transakzioekin.
Konkurrentzia-arazoak
- Eguneratze galduak
- Behin-behineko aldatzeak (irakurketa zikinak)
- Irakurketa ez-koherenteak
Transakzioen plangintzak
Definizioa
- N transakzioen plangintza bat transakzio horietako eragiketen tartekatzea da, non transakzio bakoitzeko eragiketen ordena mantentzen den.
- P izendatzen ditugun N transakzioen P plangintza emanda, Ti bakoitzeko Ti-ren eragiketak:
- P plangintzan Ti-n agertzen diren orden berean agertzen dira.
- Beste transakzioetako eragiketekin tarteka daitezke.
Plangintza seriala
- Transakzio bakoitzaren eragiketak elkarren segidan egikaritzen dira, beste transakzioko eragiketarik tartekatu gabe.
- Konkurrentziari probetxu ateratzen ez zaio.
- Transakzioak ez dira modu eraginkorrean egikaritzen.
Transakzioen tartekatzea
- Hainbat transakzioren eragiketak tarteka badaitezke, plangintza asko existitzen dira.
- Serializaziogarritasunaren teoriari esker:
- Plangintzak zuzenak diren edo ez erabaki daiteke.
- Plangintza okerrak saihesten dituzten konkurrentzia-kontrolerako teknikak defini daitezke.
Plangintza serializagarriak
- Plangintza bat serializagarria da baldin eta plangintza serial baten baliokidea bada.
- Bi plangintza baliokideak dira:
- DB-ko edozein egoeratik azken egoera berdina sortzen badute.
- Objektu bakoitzari eragiketa berdinak eta orden berean aplikatzen bazaizkio.
Gatazkak (I)
- Plangintza bateko bi eragiketak gatazkan daude baldin eta:
- Transakzio desberdinetakoak badira.
- X elementu/objektu bera atzitzen badute.
- Eragiketetako bat gutxienez WRITE(X) da.
Gatazkak (III)
- Bi plangintza gatazka-baliokideak dira baldin eta gatazka sorrarazten duten edozein bi eragiketaren ordena berdina bada bi plangintzetan.
- P plangintza gatazkagatiko serializagarria da baldin eta plangintza serial baten gatazka-baliokidea bada:
- P plangintzan gatazkan dauden eragiketen ordena plangintza serial baten berdina da.
- Gatazkan ez dauden P-ko eragiketak berrantolatu egin ditzakegu plangintza serial baliokidea osatzen dugun arte.
Gatazka-serializagarritasuna aztertzea (I)
- READ eta WRITE eragiketei bakarrik begiratzen zaie.
- Lehentasun-grafo (edo serializazio-grafo) zuzendu bat eraiki G={N,A}:
- Ti transakzio bakoitzerako adabegi bat dago (N = {T1, T2, …, Tn}).
- A = {a1, a2, …, am} ertz zuzenduen multzoa da non
- (Ti → Tj) ertza existitzen da baldin eta Ti-ko eragiketa bat gatazkan dagoen Tj-ko eragiketa baten aurretik agertzen bada plangintzan.
Gatazka-serializagarritasuna aztertzea (II)
- G grafoan ziklo bat badago, plangintza ez da izango gatazka-serializagarria.
- Zikloa ertz-segida bat da non:
- Ertz bakoitzaren hasierako adabegia (lehen ertza izan ezik) aurreko ertzaren amaierako adabegiaren berdina da.
- Lehen ertzaren hasierako adabegia azken ertzaren amaierako adabegiaren berdina da.
Gatazka-serializagarritasuna aztertzea (III)
- G grafoan ziklorik ez badago, plangintza (gatazka-)serializagarria da:
- P-ren baliokidea den plangintza serial baliokidea bat sor dezakegu P-n parte hartzen duten transakzioak ordenatuz.
- (Ti → Tj) ertzak adierazten du edozein plangintza serial baliokidetan Ti Tj-ren aurretik agertu behar dela.
Gatazka-serializagarritasuna aztertzea (IV)
- Arazoa:
- Transakzioak sistemara etengabe bidaltzen direnez, oso zaila da plangintza bat serializagarria den edo ez aurretik aztertzea.
Serializagarritasuna bermatzen duten protokoloak
- Serializagarritasunaren teorian oinarritutako erregela multzoak.
- Transakzioen plangintza serializagarria da baldin eta:
- Transakzio guztiek erregelak betetzen badituzte, edo
- Konkurrentzia-kontrolerako azpisistemak erregelak automatikoki betearazten baditu.
- DBKS-ek ezartzen ditu protokoloak.