BASE modell for databaseutvikling

Innholdsfortegnelse:

BASE modell for databaseutvikling
BASE modell for databaseutvikling
Anonim

Relasjonelle databaser er designet med pålitelighet og konsistens i kjernen. Ingeniørene som utviklet dem fokuserte på en transaksjonsmodell som sikrer at de fire prinsippene i ACID-modellen alltid blir bevart. Men fremkomsten av en ny ustrukturert databasemodell snur ACID på hodet. NoSQL-databasemodellen unngår den svært strukturerte relasjonsmodellen til fordel for en fleksibel nøkkel-/verdibutikktilnærming. Denne ustrukturerte tilnærmingen til data krever et alternativ til ACID-modellen: BASE-modellen.

Image
Image

Basic Tenets of the ACID Model

Det er fire grunnleggende prinsipper for ACID-modellen:

  • atomicity med transaksjoner sikrer at hver databasetransaksjon er en enkelt enhet som bruker en " alt eller ingenting"-tilnærming til utførelse. Hvis et utsagn i transaksjonen mislykkes, tilbakestilles hele transaksjonen.
  • Relasjonelle databaser sikrer også konsistensen for hver transaksjon med databasens forretningsregler. Hvis et element i en atomtransaksjon ville forstyrre konsistensen til databasen, mislykkes hele transaksjonen.
  • Databasemotoren håndhever isolasjon mellom flere transaksjoner som skjer på eller nesten samtidig. Hver transaksjon skjer enten før eller etter annenhver transaksjon, og visningen av databasen som en transaksjon ser i begynnelsen, endres kun av selve transaksjonen før den ble avsluttet. Ingen transaksjon skal noen gang se mellomproduktet til en annen transaksjon.
  • Det endelige ACID-prinsippet, durability, sikrer at når en transaksjon er forpliktet til databasen, blir den permanent bevart gjennom bruk av sikkerhetskopier og transaksjonslogger. I tilfelle feil kan disse mekanismene brukes til å gjenopprette forpliktede transaksjoner.

Kjerneprinsipper for BASE

NoSQL-databaser, på den annen side, omfavner situasjoner der ACID-modellen er overkill eller faktisk ville hindre driften av databasen. I stedet er NoSQL avhengig av en mykere modell kjent, passende, som BASE-modellen. Denne modellen imøtekommer fleksibiliteten som tilbys av NoSQL og lignende tilnærminger til administrasjon og kurering av ustrukturerte data. BASE består av tre prinsipper:

  • Grunnleggende tilgjengelighet NoSQL-databasetilnærmingen fokuserer på tilgjengeligheten av data selv i nærvær av flere feil. Den oppnår dette ved å bruke en svært distribuert tilnærming til databasebehandling. I stedet for å opprettholde et enkelt stort datalager og fokusere på feiltoleransen til det lagret, sprer NoSQL-databaser data over mange lagringssystemer med høy grad av replikering. I det usannsynlige tilfellet at en feil forstyrrer tilgangen til et datasegment, resulterer dette ikke nødvendigvis i fullstendig databasebrudd.
  • Soft State. BASE-databaser forlater konsistenskravene til ACID-modellen stort sett fullstendig. Et av de grunnleggende konseptene bak BASE er at datakonsistens er utviklerens problem og ikke bør håndteres av databasen.
  • Eventual Consistency Det eneste kravet som NoSQL-databaser har angående konsistens er å kreve at data på et tidspunkt i fremtiden vil konvergere til en konsistent tilstand. Det gis imidlertid ingen garantier om når dette vil skje. Det er et fullstendig avvik fra det umiddelbare konsistenskravet til ACID som forbyr en transaksjon fra å utføres før den forrige transaksjonen er fullført og databasen har konvergert til en konsistent tilstand.

I BASE kan grunnleggende tilgjengelighet bety at du ikke engang kontrollerer datakildene. Du kan for eksempel koble til offentlige datasett for en del av innsatsen.

Relative Use Cases

BASE-modellen passer ikke for enhver situasjon, men den er absolutt et fleksibelt alternativ til ACID-modellen for databaser som ikke krever streng overholdelse av en relasjonsmodell.

De optimale brukstilfellene for databaser som bruker ACID avhenger av svært strukturerte data med forutsigbare innganger og utdata. Menneskelige ressursdatabaser, detaljhandelsdatabaser og elektroniske medisinske journaler drar nytte av den robuste interne konsistenskontrollen som ACID tilbyr.

BASE-løsninger er imidlertid bedre for uklare emner som sentimentanalyse. For eksempel kan et BASE-strukturert prosjekt skanne en Twitter-feed på jakt etter ord som antyder følelser basert på en bestemt hashtag. Twitter-feeden er ikke godt strukturert eller lok alt instansiert, men datastrømmen tilbyr informasjonen som er programmert inn i spørringer selv om omfanget og arten av disse dataene ikke er rene avgrenset.

Anbefalt: