Az adatbázis-fejlesztés BASE modellje

Tartalomjegyzék:

Az adatbázis-fejlesztés BASE modellje
Az adatbázis-fejlesztés BASE modellje
Anonim

A relációs adatbázisok tervezésénél a megbízhatóság és a következetesség a lényeg. A mérnökök, akik kidolgozták őket, egy olyan tranzakciós modellre összpontosítottak, amely biztosítja, hogy az ACID modell négy alapelve mindig megmaradjon. Egy új strukturálatlan adatbázis-modell megjelenése azonban a feje tetejére állítja az ACID-t. A NoSQL adatbázis-modell elkerüli az erősen strukturált relációs modellt, és a rugalmas kulcs/érték tároló megközelítést részesíti előnyben. Az adatoknak ez a strukturálatlan megközelítése az ACID modell alternatíváját kívánja meg: a BASE modellt.

Image
Image

Az ACID-modell alaptételei

Az ACID modell négy alaptétele van:

  • A tranzakciók atomicity biztosítja, hogy minden adatbázis-tranzakció egyetlen egység legyen, amely a "mindent vagy semmit" megközelítést alkalmazza a végrehajtás során. Ha a tranzakció bármely utasítása meghiúsul, a teljes tranzakció visszaállításra kerül.
  • A relációs adatbázisok biztosítják az egyes tranzakciók konzisztenciáját az adatbázis üzleti szabályaival. Ha egy atomi tranzakció bármely eleme megzavarná az adatbázis konzisztenciáját, a teljes tranzakció meghiúsul.
  • Az adatbázismotor elkülönítést kényszerít ki több, egy időben vagy annak közelében lezajló tranzakció között. Minden tranzakció minden más tranzakció előtt vagy után történik, és az adatbázis nézetét, amelyet a tranzakció elején lát, csak maga a tranzakció módosítja a megkötése előtt. Egyetlen tranzakció sem láthatja egy másik tranzakció köztes termékét.
  • A végső ACID-elv, a tartósság biztosítja, hogy miután egy tranzakciót az adatbázisban véglegesítettek, a biztonsági mentések és a tranzakciós naplók segítségével véglegesen megőrizze. Meghibásodás esetén ezek a mechanizmusok felhasználhatók az elkötelezett tranzakciók visszaállítására.

A BASE alapelvei

A NoSQL adatbázisok viszont olyan helyzeteket is magukba foglalnak, amikor az ACID modell túlzott mértékű, vagy valójában akadályozná az adatbázis működését. Ehelyett a NoSQL egy lágyabb modellre támaszkodik, amelyet megfelelően BASE-modellként ismernek. Ez a modell alkalmazkodik a NoSQL által kínált rugalmassághoz és a strukturálatlan adatok kezeléséhez és kezeléséhez hasonló megközelítésekhez. A BASE három alapelvből áll:

  • Alapvető elérhetőség A NoSQL adatbázis-megközelítés az adatok elérhetőségére összpontosít még többszöri meghibásodás esetén is. Ezt az adatbázis-kezelés nagymértékben elosztott megközelítésével éri el. Ahelyett, hogy egyetlen nagy adattárat tartanának fenn, és ennek a tárolónak a hibatűrésére összpontosítanának, a NoSQL-adatbázisok sok tárolórendszer között terjesztik az adatokat magas replikációs fok mellett. Abban a valószínűtlen esetben, ha egy hiba megzavarja az adatok egy szegmenséhez való hozzáférést, ez nem feltétlenül vezet teljes adatbázis-leálláshoz.
  • Soft State. A BASE adatbázisok nagyjából teljesen elhagyják az ACID modell konzisztencia követelményeit. A BASE mögött meghúzódó egyik alapelv az, hogy az adatok konzisztenciája a fejlesztő problémája, és azt nem az adatbázisnak kell kezelnie.
  • Esetleges konzisztencia A NoSQL-adatbázisok egyetlen követelménye a konzisztencia tekintetében az, hogy a jövőben valamikor az adatok konvergáljanak egy konzisztens állapotba. Arra azonban nincs garancia, hogy ez mikor fog bekövetkezni. Ez teljesen eltér az ACID azonnali konzisztencia követelményétől, amely megtiltja egy tranzakció végrehajtását mindaddig, amíg az előző tranzakció be nem fejeződik és az adatbázis konvergens állapotba nem kerül.

A BASE-ban az alapvető elérhetőség azt jelentheti, hogy nem is Ön irányítja az adatforrásokat. Például nyilvános adatkészletekre hivatkozhat erőfeszítéseinek egy része.

Relatív használati esetek

A BASE modell nem minden helyzetre megfelelő, de minden bizonnyal rugalmas alternatívája az ACID modellnek olyan adatbázisok esetében, amelyek nem követelik meg a relációs modell szigorú betartását.

Az ACID-t használó adatbázisok optimális használati esetei a jól strukturált adatoktól függenek, előre látható bemenetekkel és kimenetekkel. Így a humánerőforrás-adatbázisok, a kiskereskedelmi adatbázisok és az elektronikus egészségügyi feljegyzések profitálnak az ACID által kínált robusztus belső konzisztencia-ellenőrzésből.

A BASE megoldások azonban jobbak olyan homályos témákhoz, mint például a hangulatelemzés. Például egy BASE-strukturált projekt átvizsgálhat egy Twitter hírfolyamot, és olyan szavakat keres, amelyek egy adott hashtag alapján érzelmekre utalnak. A Twitter-hírcsatorna nem jól strukturált vagy helyben példányosított, de az adatfolyam a lekérdezésekbe programozott információkat kínál még akkor is, ha az adatok hatóköre és jellege nincs egyértelműen behatárolva.

Ajánlott: