Useita rakeisuuden lukituksia - Multiple granularity locking

In Computer Science , useita rakeisuus lukitus (MGL) on lukitus, jota käytetään tietokannan hallintajärjestelmä (DBMS) ja relaatiotietokannat .

Useissa tarkkuuslukituksissa lukot asetetaan esineille, jotka sisältävät muita esineitä. MGL hyödyntää hierarkkinen luonne sisältää suhdetta. Esimerkiksi tietokannassa voi olla tiedostoja, jotka sisältävät sivuja, jotka sisältävät tietueita. Tätä voidaan ajatella esineiden puuna , jossa kukin solmu sisältää lapsensa. Tämän rakenteen lukko (kuten jaettu tai yksinomainen lukko) lukitsee kohdennetun solmun sekä kaikki sen jälkeläiset.

Useita rakeisuuden lukituksia käytetään yleensä tiukalla kaksivaiheisella lukituksella sarjallisuuden takaamiseksi .

Lukitustilat

Jaettujen ( S ) lukkojen ja muista lukitusjärjestelmistä saatavien yksinomaisten ( X ) lukkojen, kuten tiukan kaksivaiheisen lukituksen, lisäksi MGL käyttää myös tarkoituksellisia "lukkoja", jotka eivät lukitse suoraan solmua, vaan merkitsevät sen olemassaoloa tai tarkoitusta lisätä, tietyn tyyppinen lukko, joka on alhaisempi solmuhierarkiassa. Tarkoitettuihin lukkoihin kuuluvat "jaetut tarkoitukset" ( IS ), "yksinomaiset tarkoitukset" ( IX ) ja yhdistetyt "jaetut ja tarkoitukselliset yksinoikeudet" ( SIX ) -lukot. IS- lukot ovat ristiriidassa X- , kun taas IX- lukot ovat ristiriidassa S- ja X- lukkojen kanssa. Nollalukko ( NL ) on yhteensopiva kaiken kanssa.

Solmun lukitsemiseksi S: ssä (tai X ), MGL: llä on tapahtumalukko kaikissa sen esi-isissä, joilla on IS (tai IX ), joten jos tapahtuma lukitsee solmun S: ssä (tai X ), mikään muu tapahtuma ei voi käyttää esi-isiään X (tai S ja X ). Tämä protokolla on esitetty seuraavassa taulukossa:

Saada Täytyy olla kaikilla esi-isillä
IS tai S IS tai IX
IX, KUUSI tai X IX tai KUUSI

Lukitsemiseksi käytettävä tarkkuustaso määritetään lukitsemalla hienoin mahdollinen taso (ts. Alimmalle lehdelle) ja laajentamalla sitten nämä lukot tiedostohierarkian korkeammille tasoille kattamaan enemmän tietueita tai tiedostoelementtejä prosessissa tarpeen mukaan tunnetaan nimellä "lukon eskalaatio". MGL-lukitustilat ovat yhteensopivia seuraavassa matriisissa määritellyn mukaisesti.

Tila NL ON IX S KUUSI X
NL Joo Joo Joo Joo Joo Joo
ON Joo Joo Joo Joo Joo Ei
IX Joo Joo Joo Ei Ei Ei
S Joo Joo Ei Joo Ei Ei
KUUSI Joo Joo Ei Ei Ei Ei
X Joo Ei Ei Ei Ei Ei

Lukitusprotokollan ja yhteensopivuusmatriisin mukaisesti, jos yhdellä tapahtumalla on solmu S-tilassa, mikään muu tapahtuma ei ole voinut lukita yhtään esi-isää X-tilassa.

Katso myös

Viitteet