Model ACID je jedním z nejstarších konceptů teorie databáze. Zahrnuje čtyři cíle, kterých se musí každý systém správy databází snažit dosáhnout:atomicita, konzistence, izolace a trvanlivost. Pokud databáze nesplňuje tyto čtyři cíle, není považována za spolehlivou. Databáze, které splňují tyto čtyři cíle, jsou považovány za spolehlivé a vyhovující ACID.
Pojďme se dozvědět více o každé složce modelu ACID a strategiích používaných k její podpoře.
Definování modelu ACID
Zde jsou další podrobnosti o vlastnostech modelu ACID.
- Atomicita. Transakce se skládají z více výpisů. Atomicita zajišťuje, že každá transakce je považována za jednu jednotku, která buď uspěje, nebo selže. Pokud tedy některý z příkazů v rámci transakce selže, celá transakce selže a databáze zůstane nezměněna.
- Konzistence. Konzistence zajišťuje, že v databázi jsou zahrnuta pouze platná data. Pokud transakce poruší pravidla konzistence databáze, bude zastavena a databáze zůstane nezměněna. Tím se zabrání nelegálním transakcím.
- Izolace. Izolace znamená, že více transakcí probíhajících ve stejnou dobu se navzájem neovlivní. Izolace podporuje kontrolu souběžnosti a zabraňuje vzájemnému ovlivňování transakcí.
- Životnost. Jakmile je transakce dokončena, zůstane tak, i když dojde k selhání systému. Trvanlivost je zajištěna zálohováním databáze, protokoly transakcí a dalšími bezpečnostními opatřeními.
Uvedení ACID modelu do praxe
ACID model lze provést pomocí několika různých strategií. Kvůli atomičnosti a trvanlivosti mohou správci databází používat protokolování napřed (WAL) který ukládá všechna transakční data do speciálního protokolu. Pokud by databáze selhala, správce by mohl zkontrolovat protokol a porovnat jeho obsah s tím, co je v databázi.
Další strategií je stínové stránkování , což je místo, kde se vytvoří stínová stránka s obsahem, který lze upravit. Aktualizace se přidávají na stínovou stránku namísto do skutečné databáze a databáze se aktualizuje až po dokončení úprav.
protokol dvoufázového potvrzení je další strategie, ideální pro distribuované databázové systémy. Když jsou data upravena, jsou rozdělena do dvou požadavků:fáze potvrzení-požadavek a fáze potvrzení. Ve fázi potvrzení-žádosti musí všechny databáze ovlivněné transakcí potvrdit, že přijaly požadavek a jsou schopny jej provést. Po přijetí potvrzení fáze odevzdání dokončí data.
Model ACID může být zpočátku obtížné porozumět, ale Arkware je tu, aby to udělal za vás! Zavolejte nám a my najdeme nejlepší databázové řešení pro vaše potřeby.