Hjem Personlig finansiering Administrere data i NoSQL - dummies

Administrere data i NoSQL - dummies

Innholdsfortegnelse:

Video: How to Install MongoDB on Windows 10 2024

Video: How to Install MongoDB on Windows 10 2024
Anonim

Når du administrerer nøklene riktig, er du klar til å designe hvordan du lagrer data med NoSQL og sørger for at den er trygg og alltid tilgjengelig for arbeidet du må gjøre.

Datatyper i nøkkelverdi butikker

Nøkkelverdier butikker fungerer vanligvis som & ldquo; bøtter og rdquo; for binære data. Noen databaser gir sterk intern datatype og jevn skjema støtte. Andre gir rett og slett praktiske hjelpefunksjoner i sine klientdrivere for serialisering av vanlige applikasjonsdatastrukturer til en nøkkelverdibutikk. Eksempler er kart, lister og sorterte sett.

Oracle NoSQL kan operere i to moduser:

  • Enkel binær butikk

  • Strukturert Avro-skjema støtte

Et Avro-skjema er relatert til et relationsdatabaseskema - håndheve et meget strenkt sett av formatregler for JavaScript Object Notation (JSON) data lagret i databasen, som illustrert her:

{brukernavn: & ldquo; afowler & rdquo;, sessionid: 13452673, siden: 1408318745, tema: & ldquo; bluesky & rdquo;}

Du definerer et Avro-skjema ved hjelp av et JSON-dokument. Dette er et eksempel på Avro-skjemaet for de lagrede dataene som er vist tidligere:

{& ldquo; typen & rdquo;: & ldquo; record & rdquo;, & ldquo; namespace & rdquo;: & ldquo; com. eksempel & rdquo;, & ldquo; navnet & rdquo;: & ldquo; UserSession & rdquo;, & ldquo; feltene & rdquo;: [{& ldquo; navnet & rdquo;: & ldquo; brukernavn & rdquo;, & ldquo; typen & rdquo;: [& ldquo; string & rdquo;, & rdquo; null & rdquo;]}, {& ldquo; navnet & rdquo;: & ldquo; sessionid & rdquo;, & ldquo; typen & rdquo;: & ldquo; int & rdquo;}, {& ldquo; navnet & rdquo;: & ldquo; siden & rdquo;, & ldquo; typen & rdquo;: & ldquo; lang & rdquo;}, {& ldquo; navnet & rdquo;: & ldquo; Temaet & rdquo;, & ldquo; typen & rdquo;: [& ldquo; string & rdquo;, & rdquo; null & rdquo;]}]}

Et Avro-skjema gir svært sterk innskriving i databasen for når skjemaet er viktig. I det forrige eksempelet ser du strengdata, en numerisk sesjons-id, en dato (millisekunder, siden Unix-tidepunktet, som et langt heltall) og en tilpassingsinnstilling for temaet som skal brukes på nettstedet.

Merk også at typen brukernavn og tema har to alternativer - streng og null, slik at du instruerer Oracle NoSQL om at nullverdier er tillatt. Du kan ha forlatt temaet som en streng og gitt en ekstra konfigurasjonsparameter for & ldquo; Standard & rdquo;: & ldquo; bluesky & rdquo;.

Andre NoSQL-databaser gir sekundære indekser på en hvilken som helst vilkårlig egenskap med en verdi som har JSON-innhold. Riak gir for eksempel sekundære indekser basert på dokumentpartisjonering - i utgangspunktet er en kjent egenskap i et JSON-dokument indeksert med en type.Dette gjør det mulig for utvalgsspørsmål (mindre enn eller høyere enn) i tillegg til enkle like og ikke like sammenligninger. Riak klarer å gi utvalgsspørsmål uten et strenge skjema - bare enkel indeksdefinisjon. Hvis dataene er der, blir det lagt til indeksen.

Replikere data

Lagring av flere kopier av de samme dataene i andre servere, eller til og med rack av servere, bidrar til å sikre tilgjengeligheten av data hvis en server mislykkes. Serverfeil skjer hovedsakelig i samme klynge.

Du kan bruke replikaer to hovedveier:

  • Master-slave: Alle leser og skriver skjer med mesteren. Slaver tar over og mottar forespørsler bare hvis mesteren mislykkes.

Master-slave replikering brukes vanligvis på ACID-kompatible nøkkelverdier. For å aktivere maksimal konsistens, skrives primærbutikken til og alle replikas oppdateres før transaksjonen fullføres. Denne mekanismen kalles en tofase-commit og skaper ekstra nettverk og behandlingstid på replikene.

  • Master-master: Leser og skriver kan skje på alle noder som styrer en nøkkel. Det er ikke noe konsept om en & ldquo; primære & rdquo; partisjon eier.

Master-master-replikene er vanligvis etter hvert konsekvente, idet klyngen utfører en automatisk operasjon for å bestemme den nyeste verdien for en nøkkel og fjerne eldre, foreldede verdier.

I de fleste nøkkelverdier, skjer dette sakte - på lesetid. Riak er unntaket her fordi det har en anti-entropitjeneste som ser etter konsistens under normal drift.

Versjonsdata

For å aktivere automatisk konfliktløsning trenger du en mekanisme for å indikere den nyeste versjonen av data. Til slutt konsekvent nøkkelverdibutikker oppnår konfliktløsning på forskjellige måter.

Riak bruker en vektor-klokke mekanisme for å forutsi hvilken kopi som er den nyeste. Andre nøkkelverdier butikker bruker enkle tidsstempler for å indikere stalenhet. Når konflikter ikke kan løses automatisk, sendes begge kopier av data til klienten. Konfliktende data som sendes til klienten, kan forekomme i følgende situasjon:

  1. Klient 1 skriver til replika A 'Adam: {likes: Cheese}'.

  2. Kopi En kopieringsdata til kopi B.

  3. Klient 1 oppdaterer data på kopi A til 'Adam: {liker: Ost, hater: sollys}'.

    På dette punktet har replika A ikke nok tid til å kopiere de nyeste dataene til replik B.

  4. Klient 2 oppdaterer data på kopi B til 'Adam: {likes: Dogs, hates: kangaroos}'.

    På dette punktet er replik A og replik B i konflikt, og databaseklyngen kan ikke automatisk løse forskjellene.

En alternativ mekanisme er å bruke tidsstempler og stole på at de skal indikere de nyeste dataene. I en slik situasjon er det sunt for applikasjonen å kontrollere at tidsstemplene leser den siste verdien før oppdateringen av verdien.

De kontrollerer -kontrollen og setter -mekanismen, som i utgangspunktet betyr 'Hvis den nyeste versjonen fortsatt er versjon 2, lagrer du min versjon 3'. Denne mekanismen kalles noen ganger read match update (RMU) eller read match write (RMW). Denne mekanismen er standardmekanismen som brukes av Oracle NoSQL, Redis, Riak og Voldemort.

Administrere data i 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 å ...