ACID mbron të dhënat tuaja të bazës së të dhënave
Modeli ACID i dizajnit të bazës së të dhënave është një nga konceptet më të vjetra dhe më të rëndësishme të teorisë së bazës së të dhënave. Ai përcakton katër synime që çdo sistem i menaxhimit të bazës së të dhënave duhet të përpiqet të arrijë: atomizmi, qëndrueshmëri, izolim dhe qëndrueshmëri. Një bazë të dhënash relacionale që nuk përmbush ndonjë nga këto katër qëllime nuk mund të konsiderohet e besueshme. Një bazë të dhënash që posedon këto karakteristika konsiderohet ACID-compliant.
Definuar ACID
Le të marrim një moment për të shqyrtuar secilën prej këtyre karakteristikave në detaje:
- Atomiciteti pohon se modifikimet e bazës së të dhënave duhet të ndjekin një rregull "të gjithë ose asgjë". Secili transaksion thuhet se është "atomik". Nëse një pjesë e transaksionit dështon, i gjithë transaksioni dështon. Është e rëndësishme që sistemi i menaxhimit të bazës së të dhënave të ruajë natyrën atomike të transaksioneve, pavarësisht nga ndonjë DBMS, sistemi operativ ose dështimi i harduerit.
- Konsistenca thotë se vetëm të dhënat e vlefshme do të shkruhen në bazën e të dhënave. Nëse, për ndonjë arsye, ekzekutohet një transaksion që shkel rregullat e përputhshmërisë së bazës së të dhënave, i gjithë transaksioni do të rikthehet prapa dhe baza e të dhënave do të rivendoset në një shtet në përputhje me këto rregulla. Nga ana tjetër, nëse një transaksion ekzekuton me sukses, do të marrë bazën e të dhënave nga një shtet që është në përputhje me rregullat në një shtet tjetër që është gjithashtu në përputhje me rregullat.
- Izolimi kërkon që transaksionet e shumta që ndodhin në të njëjtën kohë nuk ndikojnë në ekzekutimin e njëri-tjetrit. Për shembull, nëse Joe lëshon një transaksion kundër një baze të të dhënave në të njëjtën kohë kur Maria lëshon një transaksion të ndryshëm, të dy transaksionet duhet të veprojnë në bazën e të dhënave në mënyrë të izoluar. Baza e të dhënave duhet ose të kryejë të gjithë transaksionin e Joe-it përpara ekzekutimit të Marisë, ose anasjelltas. Kjo parandalon transaksionin e Joe-it nga leximi i të dhënave të ndërmjetme të prodhuara si një efekt anësor i një pjese të transaksionit të Marisë që nuk do të jetë përfundimisht i angazhuar në bazën e të dhënave. Vini re se prona e izolimit nuk siguron se cili transaksion do të ekzekutojë së pari - thjesht se transaksionet nuk do të ndërhyjnë me njëri-tjetrin
- Qëndrueshmëria siguron që çdo transaksion i kryer në bazën e të dhënave të mos humbasë. Qëndrueshmëria sigurohet nëpërmjet përdorimit të kopjeve të bazës së të dhënave dhe shkresave të transaksioneve që lehtësojnë rivendosjen e transaksioneve të kryera pavarësisht nga ndonjë dështim i mëtejshëm software ose hardware.
Si vepron ACID në praktikë
Administratorët e bazave të të dhënave përdorin disa strategji për të zbatuar ACID.
Njëri që përdoret për të zbatuar atributin dhe qëndrueshmërinë është regjistrimi i shkrimit (WAL) në të cilin çdo detaj transaksioni është i shkruar së pari në një regjistër që përfshin të dyfishuar dhe anuluar informacionin. Kjo siguron që, duke pasur parasysh një dështim të bazës së të dhënave të çdo lloji, baza e të dhënave mund të kontrollojë log dhe krahasoni përmbajtjen e tij me gjendjen e bazës së të dhënave.
Një tjetër metodë e përdorur për të adresuar atributin dhe qëndrueshmërinë është hija-paging në të cilën krijohet një faqe hije kur të dhënat duhet të modifikohen. Përditësimet e pyetjes janë shkruar në faqen hije dhe jo në të dhënat reale në bazën e të dhënave. Baza e të dhënave ndryshohet vetëm kur modifikimi është i plotë.
Një strategji tjetër quhet protokoll dyfazësh , sidomos i dobishëm në sistemet e shpërndarjes së të dhënave. Ky protokoll ndan një kërkesë për të modifikuar të dhënat në dy faza: një fazë të kërkesës-kërkesë dhe një fazë të kryerjes. Në fazën e kërkesës, të gjitha DBMS-të në një rrjet të prekur nga transaksioni duhet të konfirmojnë se e kanë pranuar atë dhe kanë kapacitetin për të kryer transaksionin. Sapo të merret konfirmimi nga të gjitha DBMS-të përkatëse, përfundon faza e kryerjes në të cilën të dhënat aktualisht ndryshohen.