Innholdsfortegnelse:
Video: BookUp og utleie av kulturhuset St. Croix 2025
Som med andre NoSQL-databasetyper, med nøkkelverdier, kan du handle litt konsistens for noen tilgjengelighet. Nøkkelverdier butikker gir vanligvis et bredt spekter av konsistens- og holdbarhetsmodeller - det vil si mellom tilgjengelighet og partisjonstoleranse og mellom konsistent og partisjonstoleranse.
Noen nøkkelverdier butikker går mye lenger på konsistensarmen, og overlater BASE for full ACID-transaksjonell konsistensstøtte. Å forstå hvor du skal tegne linjen kan hjelpe deg med å forkorte listen over potensielle databaser å vurdere for brukssaken din.
Handelskonsekvens
Nøkkelverdier butikker handler vanligvis om konsistens i dataene (det vil si evnen til alltid å lese den nyeste kopien av en verdi umiddelbart etter en oppdatering) for å forbedre skrivetider.
Voldemort, Riak og Oracle NoSQL er alle til slutt konsekvente nøkkelverdier. De bruker en metode som heter Read Repair . Her er de to trinnene som er involvert i Read Repair :
-
Når du leser en post, bestemme hvilken av flere tilgjengelige verdier for en nøkkel som den siste og mest gyldige.
-
Hvis den nyeste verdien ikke kan avgjøres, blir databaseklienten presentert med alle verdialternativer og er igjen for å bestemme seg selv.
Gode eksempler på bruk av til slutt konsekvente nøkkelverdige butikker inkluderer å sende sosiale medier innlegg og levere s til målrettede brukere. Hvis en tweet kommer sent eller en fem-minutters gammel er vist, er det ikke noe katastrofalt tap av data.
Implementering av ACID-støtte
Aerospike og Redis er bemerkelsesverdige unntak for eventuell konsistens. Begge bruker delt-ingenting klynger, som betyr at hver nøkkel har følgende:
-
En hovedknute: Bare mesterene gir svar på en enkelt nøkkel, noe som sikrer at du har den nyeste kopien.
-
Flere slave replika noder: Disse inneholder kopier av alle dataene på en hovedknutepunkt. Aerospike gir full ACID-transaksjonskonsistens ved at modifikasjoner kan spyles umiddelbart til disken før transaksjonen er merket som komplett til databaseklienten.
Aerospike klarer å gjøre det med svært høye hastigheter (som påstår at hevder at ACID reduserer skrivehastigheten). Aerospike nativt håndterer rå SSD-er for dataskriving ved å omgå langsommere operativsystemers filsystemstøtte.
Selvfølgelig betyr flere SSDer høyere serverkostnader. Du kan bestemme at bruk av Redis (konfigurert til å skylle all data til disken når den kommer) er rask nok og garanterer tilstrekkelig holdbarhet for dine behov.Standardinnstillingen i Redis er å skylle data til disk hvert par sekunder, og etterlate et lite vindu med potensielt datatap hvis en server mislykkes.
Her er noen eksempler på når du kanskje trenger en ACID-kompatibel nøkkelverdibutikk:
-
Når du mottar sensordata som du trenger for et eksperiment.
-
I et meldingssystem der du må garantere kvittering.
Redis, for eksempel, gir en Publiser / Abonner-mekanisme som fungerer som en tilbakemeldingsserver. Denne funksjonen kombinert med ACID-støtte muliggjør varig melding.
