Paghihiwalay ng Ari-arian sa isang Database

Kinokontrol ng paghihiwalay kung paano at kailan ang mga pagbabago ay ginawa sa isang database

Ang paghihiwalay ay isang mahalagang bahagi ng mga katangian ng transaksyon ng database. Ito ang ikatlong ari-arian ng ACID (Atomicity, Consistency, Isolation, Durability) at ang mga katangiang ito ay tiyakin na ang data ay pare-pareho at tumpak.

Ang paghihiwalay ay ang ari-arian ng antas ng database na kumokontrol kung paano at kung kailan ang mga pagbabago ay ginawa at kung nakikita sila sa bawat isa. Ang isa sa mga layunin ng paghihiwalay ay upang payagan ang maramihang mga transaksyon na nagaganap sa parehong oras nang hindi nakakaapekto sa pagpapatupad ng bawat isa.

Paano Gumagawa ang Paghihiwalay

Halimbawa, kung nagdedesisyo si Joe ng isang transaksyon laban sa isang database sa parehong panahon na si Mary ay naglalabas ng ibang transaksyon, ang parehong mga transaksyon ay dapat magpatakbo sa database sa isang nakahiwalay na paraan. Ang database ay dapat na magsagawa ng buong transaksiyon ni Joe bago isagawa ang Maria o vice versa. Pinipigilan nito ang transaksyon ni Joe mula sa pagbabasa ng intermediate data na ginawa bilang isang side effect ng bahagi ng transaksyon ni Mary na hindi huli ay nakatuon sa database. Tandaan na ang pag-iisa ng ari-arian ay hindi tinitiyak kung aling mga transaksyon ay magsasagawa muna, na hindi lamang sila ay makagambala sa bawat isa.

Mga Antas ng Paghihiwalay

Mayroong apat na antas ng paghihiwalay:

  1. Serializable ay ang pinakamataas na antas, na nangangahulugang ang mga transaksyon ay makukumpleto bago magsimula ang isa pang transaksyon.
  2. Ang mga repee reads ay nagpapahintulot sa mga transaksyon na ma-access sa sandaling sinimulan ang transaksyon, kahit na hindi pa ito natapos.
  3. Basahin ang nakatuon ay nagbibigay-daan sa data na ma-access matapos ang data ay nakatuon sa database, ngunit hindi bago noon.
  4. Ang pagbabasa ng hindi pinapahintulutan ay ang pinakamababang antas ng paghihiwalay at nagpapahintulot ng data na ma-access bago ang mga pagbabagong ginawa.