Zapuščanje ACID v korist BASE v inženirstvu baze podatkov

Relacijske podatkovne baze so zasnovane z zanesljivostjo in doslednostjo v njihovem jedru. Inženirji, ki so jih razvili, se je osredotočil na transakcijski model, ki zagotavlja, da bodo vsa štiri načela modela ACID vedno ohranjena. Vendar pa je pojav novega nestrukturiranega modela baze podatkov spremenil ACID na glavo. Model baze podatkov NoSQL izogiba zelo strukturiranemu relacijskemu modelu v korist prilagodljivega pristopa za shranjevanje ključa in vrednosti. Ta nestrukturiran pristop k podatku zahteva alternativo modelu ACID: model BASE.

Osnovni koraki modela ACID

Obstajajo štiri osnovne načine ACID modela:

Nuklearna transakcija zagotavlja, da je vsaka transakcija baze podatkov enota, ki sprejme izvedbo "vse ali nič". Če kateri koli izpis v transakciji ne uspe, se celotna transakcija vrne nazaj.

Relacijske podatkovne baze zagotavljajo tudi skladnost vsake transakcije s poslovnimi pravili baze podatkov. Če katerikoli element atomske transakcije prekine konsistentnost baze podatkov, celotna transakcija ne uspe.

Motor baze podatkov sproži izolacijo med večkratnimi transakcijami, ki se zgodijo ob istem času ali blizu istega obdobja. Vsaka transakcija se izvede bodisi pred ali po vsaki drugi transakciji, pogled na podatkovno bazo, ki jo transakcija vidi na začetku, samo spremeni sama transakcija pred njegovim zaključkom. Nobena transakcija ne bi smela nikoli videti vmesnega izdelka druge transakcije.

Končno načelo ACID, obstojnost , zagotavlja, da ko je transakcija zavezana bazi podatkov, je trajno ohranjena z uporabo varnostnih kopij in dnevnikov transakcij. V primeru okvare se lahko ti mehanizmi uporabijo za obnovitev storjenih transakcij.

Temeljna načela BASE

NoSQL podatkovne baze po drugi strani zajemajo primere, ko je model ACID presežen ali bi dejansko oviral delovanje baze podatkov. Namesto tega se NoSQL opira na mehkejši model, ki je ustrezno znan kot BASE model. Ta model prilagaja prožnost, ki jo ponuja NoSQL, in podobne pristope k upravljanju in shranjevanju nestrukturiranih podatkov. BASE sestavljajo tri načela:

Osnovna razpoložljivost . Pristop k bazo podatkov NoSQL se osredotoča na razpoložljivost podatkov tudi v primeru večkratnih napak. To doseže z uporabo zelo porazdeljenega pristopa k upravljanju baz podatkov. Namesto da bi ohranili enotno veliko podatkovno shrambo in se osredotočili na toleranco napak te trgovine, podatkovne baze NoSQL širijo podatke v več sistemih za shranjevanje z visoko stopnjo replikacije. V primeru, da neuspeh moti dostop do segmenta podatkov, to ne pomeni nujno popolnega izpada baze podatkov.

Mehko stanje . Podatkovne baze BASE popolnoma odstopajo od zahtev po modelu ACID doslednosti. Eden od osnovnih konceptov BASE je, da je konsistentnost podatkov problem razvijalca in je ne bi smel obravnavati v zbirki podatkov.

Morebitna konsistenca . Edina zahteva, da imajo podatkovne baze NoSQL glede doslednosti, je, da se v določeni točki prihodnosti podatki zbrišejo v dosledno stanje. O tem, kdaj se bo to zgodilo, ni nobenih zagotovil. To je popoln odstop od zahteve takojšnje konsistentnosti ACID, ki prepoveduje izvršitev transakcije, dokler se predhodna transakcija ne zaključi in se podatkovna zbirka konvergira v dosledno stanje.

Model BASE ni primeren za vsako situacijo, vendar je vsekakor fleksibilna alternativa modelu ACID za podatkovne zbirke, ki ne zahtevajo strogega upoštevanja relacijskega modela.