Skip to main content

BASE-modell for databaseutvikling

SCP-2000 Deus Ex Machina | thaumiel | memory-altering / structure scp (April 2025)

SCP-2000 Deus Ex Machina | thaumiel | memory-altering / structure scp (April 2025)
Anonim

Relasjonsdatabaser er utformet 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 vil bli bevart. Adventen til en ny ustrukturert databasemodell gjør imidlertid at ACID er på hodet. NoSQL-databasemodellen unngår den høyt strukturerte relasjonsmodellen til fordel for en fleksibel nøkkel / verdibutikk tilnærming. Denne ustrukturerte tilnærmingen til data krever et alternativ til ACID-modellen: BASE-modellen.

Grunnleggende tenets av ACID-modellen

Det er fire grunnleggende prinsipper for ACID-modellen:

  • De atomicity av transaksjoner sikrer at hver database transaksjon er en enkelt enhet som vedtar en "all eller ingenting" tilnærming til utførelse. Hvis noen uttalelse i transaksjonen mislykkes, blir hele transaksjonen rullet tilbake.
  • Relasjonsdatabaser sikrer også konsistens av hver transaksjon med databasens forretningsregler. Hvis et element i en atomtransaksjon ville forstyrre databasens konsistens, svikter hele transaksjonen.
  • Databasemotoren håndhever isolasjon mellom flere transaksjoner som oppstår på eller nær samme tid. Hver transaksjon skjer enten før eller etter hver annen transaksjon, og visningen av databasen som en transaksjon ser ved begynnelsen, endres kun av selve transaksjonen før dens konklusjon. Ingen transaksjon bør noensinne se mellomproduktet av en annen transaksjon.
  • Det endelige syreprinsippet, varighet, sikrer at når en transaksjon er forpliktet til databasen, blir den permanent bevart ved bruk av sikkerhetskopier og transaksjonslogger. I tilfelle feil, kan disse mekanismene brukes til å gjenopprette forpliktede transaksjoner.

    Kjerneprinsipper for BASE

    NoSQL-databaser, derimot, omfavner situasjoner der ACID-modellen er overkill eller faktisk hindrer driften av databasen. I stedet bygger NoSQL på en mykere modell som er kjent, hensiktsmessig, som BASE-modellen. Denne modellen imøtekommer fleksibiliteten som tilbys av NoSQL og lignende tilnærminger til styring og kurering av ustrukturert data. BASE består av tre prinsipper:

    • Grunnleggende tilgjengelighet. NoSQL database tilnærming fokuserer på tilgjengeligheten av data selv i nærvær av flere feil. Det oppnår dette ved å bruke en svært distribuert tilnærming til databasestyring. I stedet for å opprettholde en enkelt stor datalager og fokusere på feiltoleransen til den butikken, spredte NoSQL-databaser data over mange lagringssystemer med høy grad av replikering. I det usannsynlige tilfelle at en feil forstyrrer tilgangen til et segment av data, fører dette ikke nødvendigvis til en komplett databaseavbrudd.
    • Myk tilstand. BASE databaser overlater konsistensbehovene til ACID-modellen ganske mye helt. Et av de grunnleggende konseptene bak BASE er at datakonsistensen er utviklerens problem og ikke bør håndteres av databasen.
    • Eventuell konsistens. Det eneste kravet at NoSQL-databaser har med hensyn til konsistens er å kreve at dataene på et tidspunkt i fremtiden vil konvergere til en konsekvent tilstand. Det er imidlertid ingen garantier om når dette vil skje. Det er en fullstendig avvik fra det øyeblikkelige konsistensbehovet til ACID som forbyder en transaksjon fra å utføre til den forrige transaksjonen er fullført, og databasen har konvergert til en konsistent tilstand.

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