Relationsdatabaser er designet med pålidelighed og sammenhæng i deres kerne. De ingeniører, der udviklede dem, fokuserede på en transaktionsmodel, der sikrer, at de fire principper for ACID-modellen altid bliver bevaret. Adventen af en ny ustruktureret databasemodel viser imidlertid, at ACID er på hovedet. NoSQL-databasemodellen afskrækker den stærkt strukturerede relationelle model til fordel for en fleksibel nøgle / værdibutik tilgang. Denne ustrukturerede tilgang til data kræver et alternativ til ACID-modellen: BASE-modellen.
Grundlæggende Tenets af ACID Model
Der er fire grundlæggende principper for ACID-modellen:
- Det Atomicity af transaktioner sikrer, at hver database transaktion er en enkelt enhed, der vedtager en "alt eller ingenting" tilgang til udførelse. Hvis en erklæring i transaktionen fejler, bliver hele transaktionen rullet tilbage.
- Relationelle databaser sikrer også konsistens af hver transaktion med databasens forretningsregler. Hvis noget element i en atomtransaktion ville forstyrre databasens konsistens, fejler hele transaktionen.
- Databasemotoren håndhæver isolation mellem flere transaktioner, der forekommer på eller nær samme tid. Hver transaktion sker enten før eller efter hver anden transaktion, og visningen af den database, som en transaktion ser ved begyndelsen, ændres kun af transaktionen selv inden dens konklusion. Ingen transaktion skulle nogensinde se mellemproduktet af en anden transaktion.
- Det endelige ACID-princip, holdbarhed, sikrer, at når en transaktion er forpligtet til databasen, bliver den permanent bevaret ved hjælp af sikkerhedskopier og transaktionslogfiler. I tilfælde af en fejl kan disse mekanismer bruges til at genoprette forpligtede transaktioner.
Kerneprincipper for BASE
NoSQL-databaser omfatter på den anden side situationer, hvor ACID-modellen er overkillet eller faktisk hindrer databasens drift. I stedet baserer NoSQL sig på en blødere model, der er kendt, hensigtsmæssigt, som BASE-modellen. Denne model rummer den fleksibilitet, der tilbydes af NoSQL og lignende tilgange til styring og kurering af ustrukturerede data. BASE består af tre principper:
- Grundlæggende tilgængelighed. NoSQL database tilgang fokuserer på tilgængeligheden af data, selv i tilfælde af flere fejl. Det opnår dette ved at bruge en meget distribueret tilgang til databasehåndtering. I stedet for at opretholde en enkelt stor datalager og fokusere på fejltolerancen for denne butik, spredte NoSQL databaser data på tværs af mange lagringssystemer med en høj grad af replikation. I det usandsynlige tilfælde, at en fejl forstyrrer adgangen til et segment af data, resulterer dette ikke nødvendigvis i en komplet databasefejl.
- Blød tilstand. BASE databaser overlader konsistensbehovene i ACID-modellen stort set helt. Et af de grundlæggende begreber bag BASE er, at datakonsistens er udviklerens problem og ikke bør håndteres af databasen.
- Eventuel konsistens. Det eneste krav, som NoSQL-databaser har om konsistens er at kræve, at dataene på et eller andet tidspunkt i fremtiden vil konvergere til en konsekvent tilstand. Der er dog ingen garantier for, hvornår dette vil ske. Det er en fuldstændig afvigelse fra det øjeblikkelige konsistensbehov for ACID, der forbyder en transaktion fra at køre, indtil den tidligere transaktion er afsluttet, og databasen har konvergeret til en sammenhængende tilstand.
BASE-modellen er ikke egnet til enhver situation, men det er bestemt et fleksibelt alternativ til ACID-modellen til databaser, der ikke kræver streng overholdelse af en relationel model.




