Hjem Personlig finansiering Høyhastighetsnøkkeltilgang med NoSQL-dummies

Høyhastighetsnøkkeltilgang med NoSQL-dummies

Innholdsfortegnelse:

Anonim

Nøkkelverdier i NoSQL handler om hastighet. Du kan bruke ulike teknikker for å maksimere den hastigheten, fra caching data, til å ha flere kopier av data, eller bruke de mest passende lagringsstrukturer.

Cache data i minnet

Fordi data er lett tilgjengelig når det er lagret i RAM (RAM), velger du en nøkkelverdibutikk som caches data i RAM, men kan raskt øke tilgangen til data, om enn til prisen Høyere serverkostnader.

Ofte er dette avviket verdt å lage. Du kan enkelt beregne hvilken prosentandel av dine lagrede data som blir forespurt ofte. Hvis du vet at fem prosent vanligvis blir bedt om noen få minutter, ta deretter fem prosent av datastørrelsen og legg til det nummeret som ledig RAM-plass på tvers av databaseserverne dine.

Husk at operativsystemet, andre applikasjoner og databaseserveren også har minnekrav.

Replikere data til slaver

I nøkkelverdier, lagres en bestemt nøkkel på en av serverne i klyngen. Denne prosessen kalles nøkkelpartisjonering . Dette betyr at hvis denne nøkkelen stadig blir forespurt, mottar denne noden hovedparten av forespørslene. Denne noden vil derfor være tregere enn din gjennomsnittlige forespørselshastighet, som potensielt påvirker kvaliteten på tjenesten til brukerne.

For å unngå denne situasjonen, støtter noen nøkkelverdier butikker å legge til skrivebeskyttede kopier, også referert til som slaver. Redis, Riak og Aerospike er gode eksempler. Replikering gjør at nøkkelen kan lagres flere ganger på flere servere, noe som øker responshastigheten, men på bekostning av mer maskinvare.

Noen nøkkelverdier butikker garanterer at kopiene til nøkkelen alltid har samme verdi som mesteren. Denne garantien kalles å være helt konsistent. Hvis en oppdatering skjer på hovedserveren som holder nøkkelen, er alle replikene garantert å være oppdatert.

Ikke alle nøkkelverdighetsbutikker garanterer denne statusen (Riak, for eksempel), så hvis det er viktig å være oppdatert til millisekunden, velg en database hvis replikene er helt konsistente (for eksempel Aerospike).

Datamodellering i nøkkelverdi butikker

Mange nøkkelverdier butikker støtter bare grunnleggende strukturer for verdittyper, og lar programprogrammereren jobbe med å tolke dataene. Enkel datatype-støtte inkluderer vanligvis strenger, heltall, JSON og binære verdier.

For mange brukstilfeller fungerer dette bra, men noen ganger er en litt mer granulær tilgang til data nyttig.Redis støtter for eksempel følgende datatypetyper:

  • String

  • Liste

  • Sett

  • Sortert sett

  • Hashkart

  • Bitrapporter

  • Hyperlog-logger

Sorterte sett kan spør etter matchende verdier - omtrent som å spørre om en indeks av verdier sortert etter dato, noe som er veldig nyttig for å søke etter en delmengde av typen data.

Drift på data

Redis inkluderer operasjoner for å øke og avkorte nøkkelverdier direkte, uten å måtte gjøre et trinn for å endre måleoppdatering (RMU). Du kan gjøre det innen en enkelt transaksjon for å sikre at ingen andre applikasjoner endrer verdien under en oppdatering. Disse spesifikke operasjonene for datatype inkluderer å legge til og fjerne elementer i lister og sett også.

Du kan til og med gi autofullføringsfunksjonalitet på applikasjons brukergrensesnitt ved å bruke kommandoen Redis ZRANGEBYLEX. Denne kommandoen henter et sett med nøkler som delvis samsvarer med en streng. Så, hvis du skulle skrive "NoSQL for" i søkefeltet til et program bygget på Redis, ville du se forslaget "NoSQL For Dummies. "

Evaluering Redis

Redis er stolt av å være en veldig lett, men blazingly rask nøkkelverdibutikk. Det var opprinnelig designet for å være en minneverdig butikk, men har nå diskbasert datalagring.

Du kan bruke Redis til å beskytte data ved å aktivere AOF (legg til bare fil) modus og instruere Redis for å tvinge data til disk på hver forespørsel (kjent som tvunget fsync spyling ). AOF gjør det vanskeligere å skrive, selvfølgelig, men det gir et høyere nivå på holdbarhet for data. Vær imidlertid oppmerksom på at det fortsatt er mulig å miste opptil et sekund av kommandoer.

Også nylig har Redis lagt til støtte for clustering. Faktisk, på tidspunktet for denne skrivingen, er Redis 'klyngerstøtte i beta-testfasen. Heldigvis bruker Redis en felles-ingenting-klyngemodell, med mestere for bestemte nøkler og slaver som aldri direkte skrives til av en klient; bare mesteren gjør det. Å levere delt-ingenting-klynging bør gjøre det lettere for Redis å implementere pålitelig clustering enn det er for databaser som tillater å skrive til alle kopier.

Hvis du vil ha et veldig hurtig, caching-lag i minnet foran en annen database - MongoDB eller Riak brukes vanligvis med Redis - vurder deretter Redis som et alternativ. Som støtte for gruppering og data holdbarhet utvikler seg, kan Redis kanskje overta andre back-end databaser.

Høyhastighetsnøkkeltilgang med NoSQL-dummies

Redaktørens valg

Hvordan beskrives et datasett statistisk for GEDs vitenskapstest - dummies

Hvordan beskrives et datasett statistisk for GEDs vitenskapstest - dummies

GED Science test vil stille spørsmål relatert til beskrivende statistikk. Du kan ofte oppsummere en samling av data (fra et eksperiment, observasjoner eller undersøkelser, for eksempel) ved å bruke beskrivende statistikk, tall som brukes til å oppsummere og analysere dataene og trekke konklusjoner fra det. Beskrivende statistikk for en samling av data inkluderer følgende: Frekvens: ...

Hvordan forutsi en utgang basert på data eller bevis på GED-vitenskapstesten

Hvordan forutsi en utgang basert på data eller bevis på GED-vitenskapstesten

Bruk av bevis for å forutsi utfall er en nødvendig ferdighet for GED Science-testen. De største fordelene med vitenskapelige studier kan ofte tilskrives det faktum at deres konklusjoner gjør det mulig for folk å forutsi utfall. (Du vil sikkert ønske vitenskap kan hjelpe deg med å forutsi utfallet ditt på prøve!) Du er vitne til vitenskap i handling hver dag ...

Hvordan man måler en forfatters troverdighet for GEDs samfunnsstudietest - dummies

Hvordan man måler en forfatters troverdighet for GEDs samfunnsstudietest - dummies

GED Social Studies test vil stille spørsmål som krever at du bestemmer troverdigheten til en forfatter. Det er ikke alltid lett å vurdere om en forfatter er troverdig basert på informasjonen som er gitt i en skriftlig oversikt og referansen, men du kan hente spor ved å nøye undersøke følgende områder: Forfatterens ...

Redaktørens valg

Hva skjer i QuickBooks 2013 Setup? - dummies

Hva skjer i QuickBooks 2013 Setup? - dummies

Etter at du har installert QuickBooks 2013, kjører du en skjermveiviser for å sette opp QuickBooks for firmaets regnskap. Klart, denne skjermveiviseren kalles QuickBooks Setup. Når du kjører QuickBooks Setup, gir du ganske mye informasjon til QuickBooks. Som en praktisk sak krever oppsettet og oppsettet etter oppsettet at du har ...

Leverandørmenykommandoer i QuickBooks 2013 - dummies

Leverandørmenykommandoer i QuickBooks 2013 - dummies

Når du jobber med betalbar betaling i QuickBooks 2013, har du ofte vil bruke flere av kommandoene på leverandørmenyen. Noen av kommandoene er imidlertid ikke så populære, men du må fortsatt være klar over deres formål. Leverandørssenter i QuickBooks 2013 Vendor Center-vinduet viser en liste over leverandører og detaljerte ...

Kommandoer for leverandørmeny i QuickBooks 2014 - dummies

Kommandoer for leverandørmeny i QuickBooks 2014 - dummies

Når du jobber med betalbar betaling i QuickBooks 2014, har du ofte vil bruke flere av kommandoene på leverandørmenyen. Noen av kommandoene er imidlertid ikke så populære, men du må fortsatt være klar over deres formål. Leverandørssenter Vendor Center-vinduet viser en liste over leverandører og detaljert leverandørinformasjon for ...