Bazat e të dhënave relacionale janë krijuar me besueshmërinë dhe qëndrueshmërinë në thelb të tyre. Inxhinierët që i zhvilluan ato u fokusuan në një model transaksional që siguron që katër parimet e modelit ACID të ruhen gjithmonë. Megjithatë, ardhja e një modeli të ri bazë të dhënash të pastrukturuar po e kthen ACID në kokë. Modeli i bazës së të dhënave NoSQL shmang modelin relacional të strukturuar shumë në favor të një qasjeje fleksibël të ruajtjes së çelësit/vlerës. Kjo qasje e pastrukturuar ndaj të dhënave kërkon një alternativë ndaj modelit ACID: modelin BASE.
Parimet themelore të modelit ACID
Ka katër parime themelore të modelit ACID:
- atomiciteti i transaksioneve siguron që çdo transaksion i bazës së të dhënave është një njësi e vetme që miraton një qasje "të gjitha ose asgjë" për ekzekutimin. Nëse ndonjë deklaratë në transaksion dështon, i gjithë transaksioni kthehet prapa.
- Bazat e të dhënave relacionale sigurojnë gjithashtu konsistencën të çdo transaksioni me rregullat e biznesit të bazës së të dhënave. Nëse ndonjë element i një transaksioni atomik do të prishë qëndrueshmërinë e bazës së të dhënave, i gjithë transaksioni dështon.
- Motori i bazës së të dhënave zbaton izolim midis transaksioneve të shumta që ndodhin në ose afër të njëjtën kohë. Çdo transaksion ndodh ose para ose pas çdo transaksioni tjetër, dhe pamja e bazës së të dhënave që një transaksion sheh në fillimin e tij ndryshohet vetëm nga vetë transaksioni përpara përfundimit të tij. Asnjë transaksion nuk duhet të shohë kurrë produktin e ndërmjetëm të një transaksioni tjetër.
- Parimi përfundimtar i ACID, qëndrueshmëri, siguron që sapo një transaksion të jetë i lidhur në bazën e të dhënave, ai të ruhet përgjithmonë nëpërmjet përdorimit të kopjeve rezervë dhe regjistrave të transaksioneve. Në rast dështimi, këto mekanizma mund të përdoren për të rivendosur transaksionet e kryera.
Parimet Themelore të BASE
Bazat e të dhënave NoSQL, nga ana tjetër, përfshijnë situata ku modeli ACID është i tepruar 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 më të butë të njohur, në mënyrë të përshtatshme, si modeli BASE. Ky model akomodon fleksibilitetin e ofruar nga NoSQL dhe qasje të ngjashme për menaxhimin dhe kurimin e të dhënave të pastrukturuara. BAZA përbëhet nga tre parime:
- Disponueshmëria bazë Qasja e bazës së të dhënave NoSQL fokusohet në disponueshmërinë e të dhënave edhe në prani të dështimeve të shumta. Ai e arrin këtë duke përdorur një qasje shumë të shpërndarë për menaxhimin e bazës së të dhënave. Në vend që të mbajnë një magazinë të vetme të madhe të dhënash dhe të fokusohen në tolerancën e gabimeve të atij dyqani, bazat e të dhënave NoSQL shpërndajnë të dhëna në shumë sisteme ruajtjeje me një shkallë të lartë përsëritjeje. Në rastin e pamundur që një dështim ndërpret aksesin në një segment të të dhënave, kjo nuk rezulton domosdoshmërisht në një ndërprerje të plotë të bazës së të dhënave.
- Gjendja e butë. Bazat e të dhënave BASE braktisin pothuajse plotësisht kërkesat e konsistencës së modelit ACID. Një nga konceptet bazë që qëndron pas BASE është se qëndrueshmëria e të dhënave është problem i zhvilluesit dhe nuk duhet të trajtohet nga baza e të dhënave.
- Përputhshmëri eventuale Kërkesa e vetme që kanë bazat e të dhënave NoSQL në lidhje me qëndrueshmërinë është të kërkohet që në një moment në të ardhmen, të dhënat të konvergojnë në një gjendje të qëndrueshme. Megjithatë, nuk jepen garanci se kur do të ndodhë kjo. Ky është një largim i plotë nga kërkesa e menjëhershme e konsistencës së ACID që ndalon një transaksion të ekzekutohet derisa transaksioni i mëparshëm të ketë përfunduar dhe baza e të dhënave të ketë konverguar në një gjendje konsistente.
Në BASE, disponueshmëria bazë mund të nënkuptojë se nuk i kontrolloni as burimet e të dhënave. Për shembull, ju mund të lidheni me grupet e të dhënave publike për një pjesë të përpjekjes suaj.
Raste përdorimi relativ
Modeli BASE nuk është i përshtatshëm për çdo situatë, por sigurisht që është një alternativë fleksibël ndaj modelit ACID për bazat e të dhënave që nuk kërkojnë respektim të rreptë ndaj një modeli relacional.
Rastet e përdorimit optimal për bazat e të dhënave që përdorin ACID varen nga të dhëna shumë të strukturuara me hyrje dhe dalje të parashikueshme. Kështu, bazat e të dhënave të burimeve njerëzore, bazat e të dhënave me pakicë dhe të dhënat elektronike mjekësore përfitojnë nga kontrolli i qëndrueshëm i brendshëm që ofron ACID.
Megjithatë, zgjidhjet BASE janë më të mira për subjekte të paqarta si analiza e ndjenjave. Për shembull, një projekt i strukturuar nga BASE mund të skanojë një burim Twitter duke kërkuar fjalë që nënkuptojnë emocione bazuar në një hashtag specifik. Furnizimi në Twitter nuk është i strukturuar mirë ose i instancuar në nivel lokal, por rrjedha e të dhënave ofron informacionin që është programuar në pyetje edhe nëse qëllimi dhe natyra e atyre të dhënave nuk janë të kufizuara qartë.