Izolita Proprieto en Datumbazo

Izolado kontrolas kiel kaj kiam ŝanĝoj estas faritaj en datumbazo

Izolado estas integra parto de datumbazo transakciaj propraĵoj. Ĝi estas la tria posedaĵo de ACID (Atomicity, Consistency, Isolation, Fortikeco) kaj ĉi tiuj propraĵoj certigas, ke datumoj estas konsekvencaj kaj precizaj.

Izoliteco estas la datumbaza nivelo, kiu kontrolas kiel kaj kiam ŝanĝoj estas faritaj kaj se ili fariĝas videblaj inter si. Unu el la celoj de izolado estas permesi multajn transakciojn okazante samtempe sen efiki la ekzekuton de la alia.

Kiel Izoliteco

Ekzemple, se Joe elsendas transakcion kontraŭ datumbazo samtempe, ke Maria elsendas malsaman transakcion, ambaŭ transakcioj devus funkcii en la datumbazo izolite. La datumbazo devus aŭ plenumi la tutan transakcion de Joe antaŭ ol ekzekuti Mary aŭ viceversa. Ĉi tio malhelpas la transakcion de Joe de legi interaj datumoj produktitaj kiel flanka efiko de parto de la transakcio de Mary kiu ne finfine estos kompromitita al la datumbazo. Notu, ke la izolado-proprieto ne certigas, kian transakcion ekzekutos unue, nur ke ili ne malhelpos unu la alian.

Izolitaj Niveloj

Estas kvar niveloj de izolado:

  1. Serialigebla estas la plej alta nivelo, kio signifas, ke la transakcioj estos kompletigitaj antaŭ ol alia transakcio povas komenci.
  2. Rekribeblaj legoj permesas aliri transakciojn kiam la transakcio komenciĝis, kvankam ĝi ne finiĝis.
  3. Legita farita permesas al la datumoj esti aliritaj post kiam la datumoj fariĝis al la datumbazo, sed ne antaŭe.
  4. Legita senkompata estas la plej malalta nivelo de izolado kaj permesas aliri datumojn antaŭ ol la ŝanĝoj fariĝis.