Relasionele databasisse is ontwerp met betroubaarheid en konsekwentheid in hul kern. Die ingenieurs wat hulle ontwikkel het, het gefokus op 'n transaksionele model wat verseker dat die vier beginsels van die ACID-model altyd bewaar sal word. Die aanblik van 'n nuwe ongestruktureerde databasismodel maak egter suur op sy kop. Die NoSQL-databasismodel ontwrig die hoogs gestruktureerde verhoudingsmodel ten gunste van 'n buigsame sleutel- / waarde-winkelbenadering. Hierdie ongestruktureerde benadering tot data vereis 'n alternatief vir die ACID-model: die BASE-model.
Basiese Tenets van die ACID Model
Daar is vier basiese beginsels van die ACID-model:
Die atoom van transaksies verseker dat elke databasis-transaksie 'n enkele eenheid is wat 'n "al of niks" -benadering tot uitvoering uitneem. As enige staat in die transaksie misluk, word die hele transaksie teruggerol.
Relasionele databasisse verseker ook die konsekwentheid van elke transaksie met die databasis se besigheidsreëls. As enige element van 'n atoomtransaksie die konsekwentheid van die databasis sou ontwrig, versuim die hele transaksie.
Die databasis-enjin afdwing isolasie tussen verskeie transaksies wat op of naby dieselfde tyd plaasvind. Elke transaksie vind plaas voor of na elke ander transaksie en die siening van die databasis wat 'n transaksie sien, word eers verander deur die transaksie self voor die sluiting daarvan. Geen transaksie behoort ooit die intermediêre produk van 'n ander transaksie te sien nie.
Die finale ACID-beginsel, duursaamheid , verseker dat sodra 'n transaksie aan die databasis toegewy is, dit permanent bewaar word deur die gebruik van rugsteun- en transaksielogboeke. In geval van 'n mislukking kan hierdie meganismes gebruik word om gepaste transaksies te herstel.
Kernbeginsels van BASE
NoSQL-databasisse, aan die ander kant, omhels situasies waar die ACID-model oorskiet of dit in werklikheid die werking van die databasis sal belemmer. In plaas daarvan berus NoSQL op 'n sagter model wat toepaslik is, as die BASE-model. Hierdie model akkommodeer die buigsaamheid wat aangebied word deur NoSQL en soortgelyke benaderings tot die bestuur en kurering van ongestruktureerde data. BASE bestaan uit drie beginsels:
Basiese Beskikbaarheid . Die NoSQL databasisbenadering fokus op die beskikbaarheid van data, selfs in die teenwoordigheid van verskeie foute. Dit behaal dit deur gebruik te maak van 'n hoogs verspreide benadering tot databasisbestuur. In plaas daarvan om 'n enkele groot data-winkel te handhaaf en op die fouttoleransie van die winkel te fokus, versprei NoSQL databasisse data oor baie stelsels met 'n hoë mate van replikasie. In die onwaarskynlike geval dat 'n mislukking toegang tot 'n segment van data ontwrig, lei dit nie noodwendig tot 'n volledige databasisuitval nie.
Sagte staat . BASE databasisse verlaat die konsekwentheidseienskappe van die ACID-model byna heeltemal. Een van die basiese begrippe agter BASE is dat data-konsekwentheid die ontwikkelaar se probleem is en nie deur die databasis hanteer moet word nie.
Uiteindelike konsekwentheid . Die enigste vereiste dat NoSQL databasisse ten opsigte van konsekwentheid het, is dat dit op 'n sekere tyd in die toekoms sal vergelyk word met 'n konsekwente toestand. Geen waarborge word egter gemaak oor wanneer dit sal gebeur nie. Dit is 'n volledige afwyking van die onmiddellike konsekwentheidvereiste van suur wat 'n transaksie verbied om te uitgevoer totdat die vorige transaksie voltooi het en die databasis konvergeer tot 'n konsekwente toestand.
Die BASE-model is nie geskik vir elke situasie nie, maar dit is beslis 'n buigsame alternatief vir die ACID-model vir databasisse wat nie streng nakoming van 'n relasionele model vereis nie.