Braktisja e ACID në favor të BASE në Inxhinierinë e të Dhënave

Baza e të dhënave relacionale janë të dizajnuara me besueshmëri dhe konsistencë në thelbin e tyre. Inxhinierët që i zhvilluan ato u përqëndruan në një model transaksional që siguron që katër parimet e modelit ACID gjithmonë do të ruhen. Megjithatë, ardhja e një modeli të ri të pastrukturuar të bazës së të dhënave po e kthen ACID në kokën e tij. Modeli i bazës së të dhënave NoSQL përjashton modelin relacional të strukturuar në favor të një qasje fleksibël të çelësave / vlerave. Kjo qasje e pastrukturuar ndaj të dhënave kërkon një alternativë ndaj modelit ACID: modeli BASE.

Parimet themelore të modelit ACID

Ekzistojnë katër parime themelore të modelit ACID:

Atomiteti i transaksioneve siguron që çdo transaksion i bazës së të dhënave është një njësi e vetme që adopton një qasje "të gjitha ose asgjë" në ekzekutim. Nëse ndonjë deklaratë në transaksion dështon, i gjithë transaksioni kthehet prapa.

Databaza relacionale gjithashtu sigurojnë qëndrueshmërinë e çdo transaksioni me rregullat e biznesit të bazës së të dhënave. Nëse ndonjë element i një transaksioni atomik do të prishte konsistencën e bazës së të dhënave, i gjithë transaksioni dështon.

Motori i bazës së të dhënave zbaton izolimin midis transaksioneve të shumëfishta që ndodhin në ose afërsisht në të njëjtën kohë. Çdo transaksion ndodh para ose pas çdo transaksioni tjetër dhe pamja e bazës së të dhënave që një transaksion e sheh në fillim të saj ndryshohet vetëm nga vetë transaksioni përpara përfundimit të saj. Asnjë transaksion kurrë nuk duhet të shohë produktin e ndërmjetëm të një transaksioni tjetër.

Parimi i fundit ACID, qëndrueshmëria , siguron që sapo transaksioni të jetë i angazhuar në bazën e të dhënave, ai ruhet përgjithmonë përmes përdorimit të kopjeve rezervë dhe transaksioneve të transaksioneve. Në rast të dështimit, këto mekanizma mund të përdoren për të rivendosur transaksionet e kryera.

Parimet thelbësore të BASE

Nga ana tjetër, bazat e të dhënave NoSQL, përqafojnë situata ku modeli ACID është overkill ose në fakt, do të pengonte funksionimin e bazës së të dhënave. Në vend të kësaj, NoSQL mbështetet në një model të butë të njohur, në mënyrë të përshtatshme, si model BASE. Ky model strehon fleksibilitetin e ofruar nga NoSQL dhe qasje të ngjashme me menaxhimin dhe kurimin e të dhënave të pastrukturuara. BAZA përbëhet nga tre parime:

Disponueshmëria themelore . Qasja e bazës së të dhënave NoSQL fokusohet në disponueshmërinë e të dhënave edhe në prani të dështimeve të shumëfishta. Ai e arrin këtë duke përdorur një qasje shumë të shpërndarë në menaxhimin e bazës së të dhënave. Në vend që të ruajë një dyqan të vetëm të dhënash dhe të fokusohet në tolerancën e gabimit të atij dyqani, bazat e të dhënave NoSQL përhapin të dhëna në shumë sisteme të ruajtjes me një shkallë të lartë të replikimit. Në rast se një dështim nuk prish qasje në një segment të të dhënave, kjo nuk do të rezultojë në një ndërprerje të plotë të bazës së të dhënave.

Shteti i butë . BASE bazat e të dhënave braktisin kërkesat e qëndrueshmërisë së modelit ACID shumë e shumë plotësisht. Një nga konceptet themelore prapa BASE është se qëndrueshmëria e të dhënave është problemi i zhvilluesit dhe nuk duhet të trajtohet nga baza e të dhënave.

Konsistenca eventuale . Kërkesa e vetme që bazat e të dhënave NoSQL kanë lidhur me konsistencën është që të kërkojë që në një moment në të ardhmen, të dhënat do të konvergojnë në një gjendje të qëndrueshme. Sidoqoftë, nuk bëhet asnjë garanci se kur do të ndodhë kjo. Kjo është një largim i plotë nga kërkesa e konsistencës së menjëhershme të ACID që ndalon një transaksion nga ekzekutimi derisa transaksioni paraprak të ketë përfunduar dhe baza e të dhënave ka konverguar në një gjendje të qëndrueshme.

Modeli BASE nuk është i përshtatshëm për çdo situatë, por sigurisht që është një alternativë fleksibile ndaj modelit ACID për bazat e të dhënave që nuk kërkojnë aderencë të rreptë ndaj një modeli relacionale.