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

Speil Lockup (MUP) på Nikon D7100-dummies

Speil Lockup (MUP) på Nikon D7100-dummies

En komponent i det optiske systemet til din Nikon D7100 kamera er et speil som beveger seg hver gang du trykker på lukkerknappen. Den lille vibrasjonen som følge av speilets handling kan føre til svak utryddelse av bildet når du bruker en veldig langsom lukkerhastighet, skyter med en lang teleobjektiv, ...

Opptaksmuligheter på Nikon D5300 - dummies

Opptaksmuligheter på Nikon D5300 - dummies

Du kan styre noen få aspekter av din filmoppgave på din Nikon D5300. Du kan manipulere videoen din for å skape en rekke effekter. Følgende liste går gjennom disse alternativene: Eksponeringsmodus: Du kan ta opp filmer i hvilken som helst eksponeringsmodus (Auto, Scenemodus, Effektmodus, P, M, og så videre). Som med fortsatt ...

Hvordan man manipulerer eksponering og kontroll på Nikon D5600-dummies

Hvordan man manipulerer eksponering og kontroll på Nikon D5600-dummies

Følgende retusjonsverktøy på din Nikon D5600 kamerajustering eksponering og farge: D-Lighting, Quick Retouch, Filter Effects og Monochrome. Selv om disse verktøyene ikke får deg til å velge ett kamera over en annen, hvis du allerede har en Nikon D5600, er de tilgjengelige, så du kan også lære å bruke dem! D-Lighting: Active D-Lighting ...

Redaktørens valg

DOs og DON'Ts of Fantasy Basketball Draft Picks - dummies

DOs og DON'Ts of Fantasy Basketball Draft Picks - dummies

Hvis du vurderer bli med i en fantasy basketball liga, må du ta hensyn til følgende DOs og DON'Ts før du vurderer spillerne du vil utarbeide på laget ditt. Kreditt: © iStockphoto. com / IS_ImageSource Fantasy basketball draft pick DOS I de fleste fantasy basketball ligaer bestemmer kommisjonen (personen som setter opp ligaen) bestillingen i ...

Linjene og dimensjonene til en basketballbane - dummies

Linjene og dimensjonene til en basketballbane - dummies

En basketballbane har symmetri; Den ene halvdelen av retten er et speilbilde av den andre. Hele basketballbanen (se figur 1) er 94 fot med 50 fot. På hver halvplass viser malte linjer fritt korsbanen og sirkelen, samt trepunktsbuen, hvis avstand fra kurven varierer basert ...

Kjøp av gratis agenter i fantasy fotball - dummies

Kjøp av gratis agenter i fantasy fotball - dummies

I løpet av fantasy fotball sesongen, spillere som ikke blir utarbeidet bli gratis agenter - spillere tilgjengelig for enhver ligamatch villig til å slippe en eid spiller. Bruk gratis agentbassenget til å erstatte en skadet spiller eller noen som bare ikke lever opp til dine forventninger. Bruk disse tipsene for å finne en gratis agent for å ...

Redaktørens valg

Grunnleggende for din iOS-app - dummies

Grunnleggende for din iOS-app - dummies

Heldigvis mesteparten av det du trenger å gjøre så langt som iOS animasjon er opptatt er allerede bygd inn i rammen. Noen visningsegenskaper kan animeres, noe som betyr at du bare må fortelle visningen hvor du skal begynne og hvor du skal avslutte flyttingen, og noen få andre valgfrie parametere, og du er ferdig. ...

Montering av verktøylinjen for Android App Development - dummies

Montering av verktøylinjen for Android App Development - dummies

Når du vet at du er klar til være en Android-utvikler, ta tak i datamaskinen din og få sprekker på å installere verktøyene og rammene som er nødvendige for å bygge ditt første blockbuster-program. Linux-kjernen Android ble opprettet på toppen av åpen kildekode Linux-kjernen. Android-teamet valgte å bruke denne kjernen fordi den ga bevist ...

Grunnleggende om Cocoa Touch i iOS Apps - dummies

Grunnleggende om Cocoa Touch i iOS Apps - dummies

Cocoa Touch-laget inneholder det meste av objektet -orientert utvikler-vendt rammer for å bygge iOS applikasjoner. Det er ditt eneste utgangspunkt for app-utvikling. Apple-guiderne oppfordrer deg til å undersøke teknologiene i dette laget for å se om de oppfyller dine behov, før du ser på de andre lagene. Med andre ord, Apple har til hensikt å ...