Napuštanje ACID u korist BASE u baze podataka

Relacijske baze podataka dizajnirane su s njihovom jezgrom pouzdanosti i dosljednosti. Inženjeri koji su ih razvili usredotočeni su na transakcijski model koji osigurava da će sva četiri načela ACID modela uvijek biti sačuvana. Međutim, pojavljivanje novog nestrukturiranog modela baze podataka okreće ACID na glavi. NoSQL model baze podataka izbjegava visoko strukturirani relacijski model u korist fleksibilnog pristupa ključem / vrijednosti. Ovaj nestrukturirani pristup podacima zahtijeva alternativu ACID modelu: BASE modelu.

Temeljni principi ACID modela

Postoje četiri temeljna načela ACID modela:

Atomska transakcija osigurava da svaka transakcija baze podataka bude jedinstvena jedinica koja usvaja "sve ili ništa" pristup izvršenju. Ako bilo koja izjava u transakciji ne uspije, cjelokupna transakcija se vraća natrag.

Relacijske baze podataka također osiguravaju konzistentnost svake transakcije s poslovnim pravilima baze podataka. Ako bilo koji element atomske transakcije ometa dosljednost baze podataka, cjelokupna transakcija ne uspije.

Motor baze podataka provodi izolaciju između više transakcija koje se događaju u isto vrijeme ili u isto vrijeme. Svaka se transakcija pojavljuje prije ili poslije svake druge transakcije, a pregled same baze podataka koju transakcija vidi na početku promijenila je samo transakcija prije zaključivanja. Nijedna transakcija ne bi trebala vidjeti međuproizvod druge transakcije.

Krajnji princip ACID-a, trajnost , osigurava da, jednom kada se transakcija obvezuje na bazu podataka, trajno se čuva upotrebom sigurnosnih kopija i dnevnika transakcija. U slučaju neuspjeha, ti mehanizmi mogu se koristiti za vraćanje predanih transakcija.

Temeljna načela BASE

NoSQL baze podataka, s druge strane, obuhvaćaju situacije u kojima je ACID model pretjerano ili bi zapravo spriječio rad baze podataka. Umjesto toga, NoSQL se oslanja na mekši model poznat, prikladno, kao BASE model. Ovaj model zadovoljava fleksibilnost koju pruža NoSQL i slični pristupi upravljanju i čuvanju nestrukturiranih podataka. BASE se sastoji od tri principa:

Osnovna dostupnost . NoSQL baza podataka usredotočuje se na dostupnost podataka čak i u prisutnosti višestrukih neuspjeha. To postiže korištenjem visoko distribuiranog pristupa upravljanju bazom podataka. Umjesto da održava jednu veliku pohranu podataka i usredotočuje se na toleranciju pogreške u toj trgovini, NoSQL baze podataka šire podatke preko mnogih sustava za pohranu s visokim stupnjem replikacije. U malo vjerojatnom slučaju da neuspjeh ometa pristup segmentu podataka, to ne mora nužno rezultirati potpunom ispadom baze podataka.

Soft State . Baza podataka BASE napušta zahtjeve dosljednosti ACID modela prilično u potpunosti. Jedan od osnovnih pojmova koji stoje iza BASE-a je da je dosljednost podataka problem developera i da baza podataka ne smije biti obrađena.

Moguća dosljednost . Jedini uvjet da NoSQL baze podataka ima u vezi s dosljednošću je da zahtijevaju da se u nekom trenutku u budućnosti podaci konvergiraju u dosljedno stanje. Međutim, nije zajamčeno kada će se to dogoditi. To je potpuno odstupanje od neposredne konzistentnosti zahtjeva ACID-a koji zabranjuje izvršavanje transakcije sve dok prethodna transakcija nije završena i baza podataka je konvergirana u dosljedno stanje.

BASE model nije prikladan za svaku situaciju, ali svakako je fleksibilna alternativa ACID modelu za baze podataka koja ne zahtijevaju strogo pridržavanje relacijskog modela.