Nini maana yake kama database ni ACID compliant?
Context:Katika sayansi ya kompyuta, ACID (atomicity, uthabiti, kutengwa, kudumu) ni seti ya mali ya shughuli database lengo la kuhakikisha data uhalali licha ya makosa, kushindwa nguvu, na mishaps nyingine. Katika muktadha wa database, mfululizo wa shughuli database kwamba kuridhisha mali ACID (ambayo inaweza kuonekana kama moja mantiki operesheni juu ya data) inaitwa shughuli. Kwa mfano, uhamisho wa fedha kutoka akaunti moja ya benki kwa mwingine, hata ikiwa inahusisha mabadiliko mengi kama vile kuchora akaunti moja na kukopesha nyingine, ni shughuli moja.  Mwaka 1983, Andreas Reuter na Theo Härder walitunga kifupi ACID, kujenga juu ya kazi ya awali na Jim Gray ambaye aitwaye atomicity, uthabiti, na kudumu, lakini si kutengwa, wakati sifa ya dhana ya manunuzi. Hizi mali nne ni dhamana kuu ya mfano shughuli, ambayo imeathiri masuala mengi ya maendeleo katika mifumo ya database.  Kulingana na Gray na Reuter, IBM Habari Management System mkono ACID shughuli mapema kama 1973 (ingawa kifupi iliundwa baadaye).  Atomu Makala kuu: Atomicity (mifumo ya hifadhidata) Shughuli ni mara nyingi linajumuisha taarifa nyingi. Atomicity dhamana kwamba kila shughuli ni kutibiwa kama moja "kitengo", ambayo ama mafanikio kabisa au kushindwa kabisa: kama yoyote ya taarifa kuunda shughuli inashindwa kukamilisha, shughuli nzima inashindwa na database ni kushoto unchanged. Mfumo wa atomu lazima uhakikishe atomicity katika kila hali, ikiwa ni pamoja na kukatika kwa nguvu, makosa, na ajali. dhamana ya atomicity inazuia updates kwa database kutoka kutokea tu sehemu, ambayo inaweza kusababisha matatizo makubwa kuliko kukataa mfululizo nzima moja kwa moja. Kama matokeo, shughuli haiwezi kuzingatiwa kuwa katika maendeleo na mteja mwingine database. Katika wakati mmoja, bado haijatokea, na katika ijayo, tayari imetokea kwa ujumla (au hakuna kilichotokea kama shughuli ilifutwa katika maendeleo).  Utaratibu Makala kuu: Utaratibu (mifumo ya database) Utaratibu kuhakikisha kwamba shughuli inaweza tu kuleta database kutoka hali moja thabiti kwa mwingine, kuhifadhi database invariants: data yoyote imeandikwa kwa database lazima halali kwa mujibu wa sheria zote maalum, ikiwa ni pamoja na vikwazo, cascades, triggers, na mchanganyiko wowote wa hayo. Hii inazuia uharibifu database na shughuli haramu. Referential uadilifu dhamana ya msingi muhimu / kigeni muhimu uhusiano.  Kutengwa Makala kuu: Isolation (database systems) Shughuli ni mara nyingi kutekelezwa kwa wakati mmoja (kwa mfano, shughuli nyingi kusoma na kuandika kwa meza kwa wakati mmoja). Kutengwa kuhakikisha kwamba utekelezaji sambamba ya shughuli majani database katika hali sawa ambayo ingekuwa kupatikana kama shughuli walikuwa kutekelezwa mfululizo. Kutengwa ni lengo kuu la udhibiti wa concurrency; kulingana na kiwango cha kutengwa kutumika, madhara ya shughuli incomplete inaweza kuwa haionekani kwa shughuli nyingine.  Kudumu Makala kuu: Durability (mifumo ya database) Durability dhamana kwamba mara moja shughuli imekuwa nia, itakuwa kubaki nia hata katika kesi ya mfumo kushindwa (kwa mfano, kukatika kwa umeme au ajali). Hii kwa kawaida ina maana kwamba shughuli kukamilika (au madhara yao) ni kumbukumbu katika kumbukumbu zisizo tete.
ACID ni kifupi cha maneno Atomicity, Consistency, Isolation, na Durability. Atomicity ina maana kwamba vitendo kutokea ama kabisa au si wakati wote; hakuna sehemu ya kuandika au hali ambapo sehemu tu ya kitendo kukamilika. Kwa database, hii ina maana kwamba kama data ilikuwa imeandikwa katika shughuli moja, kwamba shughuli ama kukamilisha kabisa au kushindwa kabisa na hakuna data kushoto nyuma katika hali ya sehemu au rushwa. Utaratibu ina maana kwamba shughuli kuchukua hali kutoka hali moja halali kwa hali nyingine halali, na hakuna njia ya kuingia hali batili. Kutengwa ina maana kwamba wasomaji / waandishi wengi kwa database moja hawana kuingiliana na kila mmoja na wanaweza kuendelea bila wasiwasi kuhusu madhara ya hatua nyingine yanayotokea. Durability ina maana kwamba hali ni kuhifadhiwa katika kushindwa na shutdowns, kwa mfano kwamba hali ni kudumu kwa kuhifadhi kudumu.