ACID elhagyása a BASE-ban a Database Engineering-ben

A relációs adatbázisok megbízhatósággal és konzisztenciával vannak megtervezve. A kifejlesztett mérnökök olyan tranzakciós modellre koncentráltak, amely biztosítja, hogy az ACID modell négy alapelve mindig megmaradjon. Az új strukturálatlan adatbázis-modell megjelenése azonban az ACID fejét forgatja. A NoSQL adatbázis modell elhagyja a magasan strukturált relációs modellt a rugalmas kulcs / érték tárolási megközelítés mellett. Ez a strukturálatlan megközelítés az ACID modell alternatíváját igényli: a BASE modell.

Az ACID modell alapvető tételei

Az ACID modell négy alapelve van:

Az ügyletek atomizmusa biztosítja, hogy minden adatbázis-tranzakció egyetlen olyan egység, amely a végrehajtás "minden vagy semmi" megközelítését alkalmazza. Ha a tranzakció bármelyik állítása sikertelen, az egész tranzakció visszafordul.

A relációs adatbázisok biztosítják az egyes ügyletek konzisztenciáját az adatbázis üzleti szabályaival. Ha az atomi tranzakció bármely eleme megzavarja az adatbázis konzisztenciáját, az egész tranzakció sikertelen lesz.

Az adatbázis-motor szétválasztja a többszörös tranzakciókat, amelyek ugyanabban az időben vagy közelben fordulnak elő. Minden tranzakció minden más tranzakció előtti vagy utáni állapotában megtörténik, és az adatbázisnak a tranzakció elején észlelt nézetét csak maga a tranzakció változtatja meg annak megkötése előtt. Egy ügyletnek sem kell látnia egy másik ügylet közbenső termékét.

A végső ACID elv, a tartósság , biztosítja, hogy miután a tranzakció elkötelezte magát az adatbázisban, azt tartósan megőrzi a biztonsági mentések és a tranzakciós naplók használata. Hiba esetén ezek a mechanizmusok felhasználhatók az elkötelezett ügyletek helyreállítására.

A BASE alapelvei

A NoSQL adatbázisok viszont olyan helyzeteket foglalnak magukban, ahol az ACID modell túlzottan túlterhelt, vagy valójában akadályozná az adatbázis működését. Ehelyett a NoSQL egy olyan lágyabb modellre támaszkodik, amely megfelelõen ismert, mint a BASE modell. Ez a modell magában foglalja a NoSQL rugalmasságát és a strukturálatlan adatok kezeléséhez és kezeléséhez hasonló megközelítéseket. A BASE három elvből áll:

Alapvető elérhetőség . A NoSQL adatbázis-megközelítés többféle hiba esetén is az adatok rendelkezésre állására összpontosít. Ez elérheti ezt azáltal, hogy egy nagyon elterjedt megközelítést alkalmaz az adatbázis-kezeléshez. Ahelyett, hogy egyetlen nagy adattárolót tartana, és a tároló hibatűrésére összpontosít, a NoSQL adatbázisok nagy mennyiségű replikációra kiterjedő tárolási rendszereket terjesztenek. Abban a valószínűtlen esetben, ha egy hiba megzavarja az adatszegmensekhez való hozzáférést, ez nem feltétlenül eredményez teljes adatbázis-leállást.

Puha állapot . A BASE adatbázisok teljesen elhagyták az ACID-modell konzisztencia követelményeit. A BASE egyik alapgondolata az, hogy az adatkonzisztencia a fejlesztõ problémája, és az adatbázis nem kezelhetõ.

Az esetleges következetesség . Az egyetlen követelmény, amely szerint a NoSQL adatbázisok konzisztenciát igényelnek, azt kell megkövetelniük, hogy a jövőben az adatok konvergáljanak a következetes állapotba. Semmi garanciát nem adnak azonban, amikor ez bekövetkezik. Ez teljesen elhagyja az ACID közvetlen konzisztencia követelményét, amely megtiltja az ügylet végrehajtását addig, amíg az előzetes tranzakció befejeződik, és az adatbázis konvergálódott egy következetes állapotba.

A BASE modell nem megfelelő minden helyzetben, de minden bizonnyal rugalmas alternatíva az ACID modellhez azokhoz az adatbázisokhoz, amelyek nem igénylik a relációs modell szigorú betartását.