Grafdatabaser for Nybegynnere: SYRE vs BASE Forklart
når Det gjelder NoSQL-databaser, kan data konsistensmodeller noen ganger være påfallende forskjellige enn de som brukes av relasjonsdatabaser (så vel som ganske forskjellige Fra andre nosql-butikker).
de to vanligste konsistensmodellene er kjent med akronymer ACID and BASE. Mens de ofte er pitted mot hverandre i en kamp for ultimate seier (vær så snill å lage en video av det), kommer begge konsistensmodellene med fordeler og ulemper, og det er heller ikke alltid en perfekt passform.
La oss ta en nærmere titt på avveininger av begge database konsistens modeller.
i Denne Grafen Databaser For Nybegynnere blog serien, vil jeg ta deg gjennom det grunnleggende graf teknologi forutsatt at du har liten (eller ingen) bakgrunn i rommet. I de siste ukene har vi taklet hvorfor grafteknologi er fremtiden, hvorfor tilkoblede data betyr noe, grunnleggende (og fallgruver) av datamodellering, hvorfor et databasespørringsspråk betyr noe, forskjellene mellom imperative og deklarative spørringsspråk, prediktiv modellering ved hjelp av grafteori, grunnleggende om grafsøkalgoritmer og hvorfor Vi trenger NoSQL-databaser.Denne uken vil vi se nærmere på de viktigste forskjellene MELLOM SYRE-og BASEDATABASEKONSISTENSMODELLER og hva deres avveininger betyr for datatransaksjonene dine.
SYREKONSISTENSMODELLEN
Mange utviklere er kjent MED SYRETRANSAKSJONER fra å jobbe med relasjonsdatabaser. SOM sådan HAR SYREKONSISTENSMODELLEN vært normen i noen tid.
nøkkelen SYRE garanti er at det gir et trygt miljø å operere på dine data. ACID akronymet står for: Alle operasjoner i en transaksjon lykkes eller hver operasjon rulles tilbake. Konsekvent
- når en transaksjon er fullført, er databasen strukturelt god.
Isolerte
- Transaksjoner strider ikke med hverandre. Omstridt tilgang til data er moderert av databasen slik at transaksjoner ser ut til å kjøre sekvensielt.
Holdbar
- resultatene av å anvende en transaksjon er permanente, selv i nærvær av feil.SYREEGENSKAPER betyr at når en transaksjon er fullført, er dataene konsistente (tech lingo: write consistency) og stabile på disken, noe som kan innebære flere forskjellige minneplasseringer.Skriv konsistens er en fantastisk ting for applikasjonsutviklere, men det krever også sofistikert låsing som vanligvis er et tungt mønster for de fleste brukstilfeller.når Det gjelder NoSQL-teknologier, bruker de fleste grafdatabaser(inkludert Neo4j) EN syrekonsistensmodell for å sikre at data er trygge og konsekvent lagret.
BASISKONSISTENSMODELLEN
FOR mange domener og brukstilfeller ER SYRETRANSAKSJONER langt mer pessimistiske (dvs.de er mer bekymret for datasikkerhet) enn domenet faktisk krever.I nosql database verden, SYRE transaksjoner er mindre fasjonable som noen databaser har løsnet kravene til umiddelbar konsistens, data friskhet og nøyaktighet for å få andre fordeler, som skala og elastisitet.NET-baserte RavenDB har bucked trenden blant aggregerte butikker i å støtte SYRETRANSAKSJONER.)
Her er HVORDAN BASEN akronym bryter ned:
Grunnleggende Tilgjengelighet- databasen ser ut til å fungere mesteparten av tiden.
Soft-state
- Butikker trenger ikke å være skrive-konsekvent, heller ikke forskjellige kopier må være gjensidig konsekvent hele tiden.
Eventuelle konsistens
- Butikker viser konsistens på et senere tidspunkt(f. eks.
BASEEGENSKAPER er mye løsere ENN SYREGARANTIER, men det er ikke en direkte en-til-en-kartlegging mellom de to konsistensmodellene (et punkt som sannsynligvis ikke kan overvurderes).en BASE datalager verdier tilgjengelighet (siden det er viktig for skala), men det gir ikke garantert konsistens av replikerte data ved skrivetid. SAMLET SETT GIR BASEKONSISTENSMODELLEN en mindre streng sikkerhet enn ACID: data vil være konsistente i fremtiden, enten ved lesetid(F. Eks.
BASISKONSISTENSMODELLEN brukes primært av aggregerte butikker, inkludert kolonnefamilie, nøkkelverdi og dokumentbutikker.Navigere SYRE vs. BASE Avveininger
det er ikke noe riktig svar på om søknaden din trenger EN SYRE versus BASE konsistensmodell. Utviklere og dataarkitekter bør velge sine data konsistens avveininger fra sak til sak-ikke bare basert på hva som er trending eller hvilken modell som ble brukt tidligere.Gitt BASENS løse konsistens, må utviklere være mer kunnskapsrike og strenge om konsistente data hvis de velger EN BASELAGER for deres søknad. Det er viktig å være kjent MED GRUNNADFERDEN til den valgte aggregatbutikken og jobbe innenfor disse begrensningene.på den annen side kan planlegging rundt BASEBEGRENSNINGER noen ganger være en stor ulempe i forhold til enkelheten I SYRETRANSAKSJONER. EN FULL ACID database er den perfekte passformen for bruk tilfeller der data pålitelighet og konsistens er avgjørende (bank, noen?).i de kommende ukene vil vi dykke inn i FLERE SYRE / BASE-detaljer når det gjelder aggregerte butikker og andre grafteknologier.
Gå utover det grunnleggende:
Få din kopi Av O ‘ Reilly Graf Databaser bok og begynne å bruke graf teknologi for å løse reelle problemer.
Få BokenTa opp med resten Av Grafen Databaser For Nybegynnere serien:
- Hvorfor Graf Teknologi Er Fremtiden
- Hvorfor Koblet Data Matters
- Grunnleggende Om Datamodellering
- Datamodellering Fallgruver For Å Unngå
- hvorfor En Database Spørringsspråk Saker (Mer Enn Du Tror)
- Imperative vs. Deklarative Spørringsspråk: Hva Er Forskjellen?
- Grafteori& Prediktiv Modellering
- Grunnleggende Om Grafsøkalgoritmer
- Hvorfor Vi Trenger Nosql-Databaser
- En Omvisning I Aggregerte Butikker
- Andre Grafdatateknologier
- Innfødt vs. Ikke-Innfødt Grafteknologi