Ang ACID manalipod sa datos sa imong Database
Ang ACID nga modelo sa disenyo sa database mao ang usa sa labing karaan ug labing importante nga konsepto sa database theory. Naghatag kini sa upat ka mga tumong nga ang matag sistema sa pagdumala sa database kinahanglan nga maningkamot nga makab-ot: atomicity, pagkamakanunayon, pagkahimulag ug pagkalig-on. Ang usa ka relational nga database nga napakyas sa pagsugat sa bisan hain niining upat ka mga tumong dili mahimong isipon nga kasaligan. Ang usa ka database nga nagbaton niini nga mga kinaiya giisip nga compliant sa ACID.
Gitakda ang ACID
Atong tan-awon ang usa ka gutlo aron masusi ang matag usa niini nga mga kinaiya sa detalye:
- Ang atomicity nag-ingon nga ang mga kausaban sa database kinahanglan nga mosunod sa usa ka "tanan o wala" nga lagda. Ang matag transaksyon giingon nga "atomic." Kon ang usa ka bahin sa transaksyon mapakyas, ang tibuok transaksiyon mapakyas. Importante nga ang database management system nagmintinar sa atomic nga kinaiya sa mga transaksyon bisan pa sa bisan unsang DBMS, operating system o hardware failure.
- Ang konsistensia nag-ingon nga ang balido lamang nga datos igasulat sa database. Kung, tungod sa usa ka hinungdan, ang usa ka transaksyon gipatuman nga naglapas sa mga lagda sa pagkahan-ay sa database, ang bug-os nga transaksyon ibalik, ug ang database ibalik sa estado nga nahiuyon sa mga lagda. Sa laing bahin, kon ang usa ka transaksiyon malampuson nga ipatuman, kini magkuha sa database gikan sa usa ka estado nga nahisubay sa mga lagda ngadto sa laing estado nga nahiuyon usab sa mga lagda.
- Ang pagpahimulag nagkinahanglan nga ang daghang mga transaksyon nga nahitabo sa samang higayon dili makaapekto sa pagpatay sa usag usa. Pananglitan, kung si Joe nag-isyu sa usa ka transaksyon batok sa usa ka database sa samang higayon nga si Mary nag-isyu og lain nga transaksyon, ang duha nga mga transaksyon kinahanglan nga mag-operate sa database sa usa ka hilit nga paagi. Ang database kinahanglan nga mopahigayon sa tibuok nga transaksyon ni Joe sa dili pa ipatuman ang iya ni Maria, o vice-versa. Kini magpugong sa transaksyon ni Joe gikan sa pagbasa sa intermediate nga datos nga nahimo isip usa ka epekto sa bahin sa transaksyon ni Maria nga dili sa katapusan mahatagan sa database. Timan-i nga ang pagkahimulag nga kabtangan wala makasiguro kung unsang transaksiyon ang ipatuman una - nga ang mga transaksyon dili manghilabot sa usag usa
- Ang kasiguruhan nagsiguro nga ang bisan unsang transaksyon nga nahimo sa database dili mawala. Ang kalig-on masiguro pinaagi sa paggamit sa pag-backup sa database ug mga troso sa transaksyon nga nagpahigayon sa pagpahiuli sa nahimo nga mga transaksyon bisan pa sa bisan unsang sunod nga software o hardware failure.
Kon Giunsa sa ACID Mga Buhat sa Pagpraktis
Ang mga administrator sa database naggamit sa daghang mga estratehiya aron ipatuman ang ACID.
Ang usa nga gigamit sa pagpatuman sa atomicity ug durability mao ang write-ahead logging (WAL) diin ang bisan unsang detalye sa transaksyon gisulat una sa usa ka log nga naglakip sa pag-redo ug pag-undo sa impormasyon. Kini nagsiguro nga, tungod sa usa ka pagkapakyas sa database sa bisan unsang matang, ang database makasusi ang log ug itandi ang sulod niini sa estado sa database.
Ang laing paagi nga gigamit sa pagsulbad sa atomicity ug durability mao ang shadow-paging diin ang usa ka pahina sa anino gihimo sa dihang ang datos mausab. Ang mga pag-update sa pangutana gisulat sa panid sa baylo inay sa tinuod nga datos sa database. Ang database mismo giusab lamang kung ang pag-usab nahuman na.
Ang laing estratehiya gitawag nga two-phase commit protocol, ilabi na nga mapuslanon sa gipanghatag nga sistema sa database. Kini nga protocol nagbahin sa usa ka hangyo sa pag-usab sa kasayuran ngadto sa duha ka mga hugna: ang usa ka pasalig nga bahin ug usa ka bahin sa pagbuhat. Sa bahin sa hangyo, ang tanan nga DBMSs sa usa ka network nga apektado sa transaksyon kinahanglan magpamatuod nga sila nakadawat niini ug adunay kapasidad sa paghimo sa transaksyon. Sa higayon nga ang kumpirmasyon madawat gikan sa tanan nga may kalabutan nga mga DBMS, ang pasalig nga bahin mahuman diin ang datos sa aktwal nga giusab.