Monen käyttäjän jaetussa järjestelmässä useiden käyttäjien käyttäminen samalla datalla voi johtaa tietojen epäjohdonmukaisuuteen, joten lukitusoperaatioita tarvitaan samanaikaisissa operaatioissa transaktioiden samanaikaisen suorituksen hallitsemiseksi.
Yhteinen lukko:Kuten nimestä näkyy, lukkoa voidaan jakaa, kirjoitusoperaatiota ei saa jakaa; heti kun jaettu data kirjoitetaan satunnaisesti, ei ole olemassa "lukkoa", joten jaettu lukko on lukutoiminto "jakaminen", eli lukkoa ei voi enää kirjoittaa tämän lukon lisäämisen jälkeen, mutta sitä voidaan lukea, sitä voidaan kutsua myös vain luku -lukoksi.
Eksklusiiviset lukot:Yksinoikeuslukko on hallitsevampi, kunhan lisään tämän lukon, muita operaatioita ei voida tehdä, miksi? Koska haluan muokata dataa, koska haluan muokata sitä, en saa antaa muiden muokata sitä uudelleen, enkä saa lisätä vain luku -lukkoa, koska vain luku -lukolla en voi tehdä kirjoitustoimintoja.
Esimerkiksi, jos transaktio T1 lisää jaetun lukon dataan D1, ja transaktiot T2 ja T3 lisäävät yksinoikeuslukot dataan D2 ja D3, niin transaktio T1 lisää jaetun lukon dataan (51). Transaktion T2-parin tiedot (52).
(51) Vastaus: D
A. D2 ja D3 sekä lukko onnistuvat B. D2, D3 plus jaettu lukko onnistuvat C. D2 plus jaettu lukko onnistuu, D3 lisää lukko epäonnistuu D. D2, D3 plus yksinoikeuslukot ja jaetut lukot epäonnistuvat kaikki
(52) Vastaus: C
A. D1, D3 plus jaettu lukko epäonnistuivat kaikki B. D1, D3 plus jaettu lukko onnistuvat C. D1 plus jaettu lukko onnistui, D3 lisäsi toisen lukon epäonnistuneen D. D1 plus lukko onnistuivat, ja D3 ei lisännyt yhteistä lukkoa
Jos lukko on jaettu, voit lisätä jaetun lukon, mutta et voi lisätä yksinoikeudella lukkoa. Jos on olemassa yksinoikeudellinen lukko, ei jaettua lukkoa eikä yksinoikeudellista lukkoa voi lisätä.
|