BASE Model for databaseudvikling

Indholdsfortegnelse:

BASE Model for databaseudvikling
BASE Model for databaseudvikling
Anonim

Relationelle databaser er designet med pålidelighed og konsekvens i deres kerne. Ingeniørerne, der udviklede dem, fokuserede på en transaktionsmodel, der sikrer, at ACID-modellens fire principper altid bliver bevaret. Men fremkomsten af en ny ustruktureret databasemodel vender ACID på hovedet. NoSQL-databasemodellen undgår den meget strukturerede relationsmodel til fordel for en fleksibel nøgle/værdilagertilgang. Denne ustrukturerede tilgang til data kræver et alternativ til ACID-modellen: BASE-modellen.

Image
Image

grundlæggende principper for ACID-modellen

Der er fire grundlæggende principper i ACID-modellen:

  • atomicity af transaktioner sikrer, at hver databasetransaktion er en enkelt enhed, der anvender en " alt eller intet"-tilgang til eksekvering. Hvis en erklæring i transaktionen mislykkes, rulles hele transaktionen tilbage.
  • Relationelle databaser sikrer også konsistensen for hver transaktion med databasens forretningsregler. Hvis et element i en atomtransaktion ville forstyrre sammenhængen i databasen, mislykkes hele transaktionen.
  • Databasemotoren håndhæver isolation mellem flere transaktioner, der finder sted på eller næsten på samme tid. Hver transaktion finder sted enten før eller efter hver anden transaktion, og visningen af databasen, som en transaktion ser i begyndelsen, ændres kun af selve transaktionen før dens afslutning. Ingen transaktion bør nogensinde se mellemproduktet af en anden transaktion.
  • Det endelige ACID-princip, durability, sikrer, at når en transaktion er forpligtet til databasen, bevares den permanent gennem brug af sikkerhedskopier og transaktionslogfiler. I tilfælde af en fejl, kan disse mekanismer bruges til at gendanne forpligtede transaktioner.

Kerneprincipper for BASE

NoSQL-databaser, på den anden side, omfavner situationer, hvor ACID-modellen er overkill eller i virkeligheden ville hindre driften af databasen. I stedet er NoSQL afhængig af en blødere model, passende kendt som BASE-modellen. Denne model rummer den fleksibilitet, der tilbydes af NoSQL og lignende tilgange til styring og kurering af ustrukturerede data. BASE består af tre principper:

  • Basic Availability NoSQL-databasetilgangen fokuserer på tilgængeligheden af data, selv i tilfælde af flere fejl. Det opnås ved at bruge en meget distribueret tilgang til databasestyring. I stedet for at opretholde et enkelt stort datalager og fokusere på fejltolerancen i det pågældende lager, spreder NoSQL-databaser data på tværs af mange lagersystemer med en høj grad af replikering. I det usandsynlige tilfælde, at en fejl forstyrrer adgangen til et datasegment, resulterer dette ikke nødvendigvis i en fuldstændig databaseafbrydelse.
  • Soft State. BASE-databaser opgiver stort set fuldstændigt ACID-modellens konsistenskrav. Et af de grundlæggende koncepter bag BASE er, at datakonsistens er udviklerens problem og ikke bør håndteres af databasen.
  • Eventual Consistency Det eneste krav, som NoSQL-databaser har med hensyn til konsistens, er at kræve, at data på et tidspunkt i fremtiden vil konvergere til en konsistent tilstand. Der gives dog ingen garantier for, hvornår dette vil ske. Det er en fuldstændig afvigelse fra det umiddelbare konsistenskrav for ACID, der forbyder en transaktion i at udføres, indtil den tidligere transaktion er afsluttet, og databasen er konvergeret til en konsistent tilstand.

I BASE kan grundlæggende tilgængelighed betyde, at du ikke engang kontrollerer datakilderne. Du kan f.eks. linke til offentlige datasæt som en del af din indsats.

Relative Use Cases

BASE-modellen er ikke passende til enhver situation, men den er bestemt et fleksibelt alternativ til ACID-modellen for databaser, der ikke kræver streng overholdelse af en relationel model.

De optimale anvendelsesmuligheder for databaser, der bruger ACID, afhænger af stærkt strukturerede data med forudsigelige input og output. Human-ressource-databaser, detaildatabaser og elektroniske lægejournaler drager fordel af den robuste interne konsistenskontrol, som ACID tilbyder.

BASE-løsninger er imidlertid bedre til uklare emner som f.eks. sentimentanalyse. For eksempel kunne et BASE-struktureret projekt scanne et Twitter-feed på udkig efter ord, der antyder følelser baseret på et specifikt hashtag. Twitter-feedet er ikke velstruktureret eller lok alt instansieret, men datastrømmen tilbyder den information, der er programmeret i forespørgsler, selvom omfanget og arten af disse data ikke er klart afgrænset.

Anbefalede: