Hjem Personlig finansiering Styring af data i NoSQL - dummies

Styring af data i NoSQL - dummies

Indholdsfortegnelse:

Video: Database Tutorial for Beginners 2025

Video: Database Tutorial for Beginners 2025
Anonim

Når du har styret nøglerne korrekt, er du klar til at designe, hvordan du opbevarer data med NoSQL og sikrer, at den er sikker og altid tilgængelig for arbejdet du skal gøre.

Datatyper i nøgleværdisbutikker

Nøgleværdis butikker fungerer typisk som & ldquo; spande & rdquo; for binære data. Nogle databaser giver stærk intern datatype og endda skema support. Andre giver simpelthen praktiske hjælperfunktioner i deres klientdrivere til serialisering af almindelige applikationsdata strukturer til en nøgleværdi butik. Eksempler er kort, lister og sorterede sæt.

Oracle NoSQL kan fungere i to tilstande:

  • Enkel binær butik

  • Struktureret Avro-skema understøttelse

Et Avro-skema er beslægtet med et relationsdatabaseskema - håndhæver et meget stringent sæt af formatregler for JavaScript Object Notation (JSON) data gemt i databasen som vist her:

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

Du definerer et Avro-skema ved hjælp af et JSON-dokument. Dette er et eksempel på Avro-skemaet for de lagrede data vist tidligere:

{& ldquo; typen & rdquo;: & ldquo; rekord & rdquo;, & ldquo; namespace & rdquo;: & ldquo; com. eksempel & rdquo;, & ldquo; navn & rdquo;: & ldquo; UserSession & rdquo;, & ldquo; felter & rdquo;: [{& ldquo; navn & rdquo;: & ldquo; brugernavn & rdquo;, & ldquo; typen & rdquo;: [& ldquo; snor & rdquo;, & rdquo; null & rdquo;]}, {& ldquo; navn & rdquo;: & ldquo; sessionid & rdquo;, & ldquo; typen & rdquo;: & ldquo; int & rdquo;}, {& ldquo; navn & rdquo;: & ldquo; da & rdquo;, & ldquo; typen & rdquo;: & ldquo; lang & rdquo;}, {& ldquo; navn & rdquo;: & ldquo; tema & rdquo;, & ldquo; typen & rdquo;: [& ldquo; snor & rdquo;, & rdquo; null ")}}}

Et Avro-skema giver meget stærk indtastning i databasen, for hvornår skemaet er vigtigt. I det foregående eksempel ser du strengdata, en numerisk session id, en dato (millisekunder, siden Unix Time Epok, som et langt heltal) og en personalisering indstilling for det tema, der skal bruges på hjemmesiden.

Bemærk også, at typen af ​​brugernavn og tema har to muligheder - streng og null, hvilket er, hvordan du instruerer Oracle NoSQL om, at nullværdier er tilladt. Du kunne have forladt tema som en streng og gav en ekstra konfigurationsparameter for & ldquo; standard & rdquo;: & ldquo; bluesky & rdquo;.

Andre NoSQL-databaser giver sekundære indekser på enhver vilkårlig egenskab af en værdi, der har JSON-indhold. Riak giver for eksempel sekundære indekser baseret på dokumentpartitionering - en kendt egenskab inden for et JSON-dokument er indekseret med en type.Dette giver mulighed for rækkeforespørgsler (mindre end eller større end) ud over simple lige og ikke lige store sammenligninger. Riak klarer at levere interviewsøgninger uden et stramt skema - bare simpel indeksdefinition. Hvis dataene er der, tilføjes det til indekset.

Replicere data

Lagring af flere kopier af de samme data i andre servere, eller endda rack af servere, hjælper med at sikre tilgængelighed af data, hvis en server fejler. Serverfejl sker primært i samme klynge.

Du kan betjene replikaer to hovedveje:

  • Master-slave: Alle læser og skriver sker med mesteren. Slaver overtager og modtager kun anmodninger, hvis mesteren fejler.

Master-slave replikation anvendes typisk på ACID-kompatible nøgleværdier. For at muliggøre maksimal konsistens, skrives primærbutikken til, og alle replikaer opdateres, før transaktionen fuldendes. Denne mekanisme kaldes en tofase-commit og skaber ekstra netværk og behandlingstid på replikaerne.

  • Master-master: Læser og skriver kan ske på alle knudepunkter, der styrer en nøgle. Der er ikke noget begreb om en & ldquo; primær & rdquo; partition ejer.

Master-master-replik er typisk efterhånden konsistente, idet klyngen udfører en automatisk operation for at bestemme den nyeste værdi for en nøgle og fjerne ældre, forældede værdier.

I de fleste nøgletal butikker sker dette langsomt - på læsetid. Riak er undtagelsen her, fordi den har en anti-entropitjeneste, der kontrollerer konsistens under normale operationer.

Versionsdata

For at aktivere automatisk konfliktløsning skal du have en mekanisme til at angive den nyeste version af data. Til sidst konsekvente nøgleværdisbutikker opnår konfliktløsning på forskellige måder.

Riak bruger en vektorurmekanisme til at forudsige, hvilken kopi der er den nyeste. Andre nøgleværdisbutikker bruger enkle tidsstempler til at indikere stalenhed. Når konflikter ikke kan løses automatisk, sendes begge kopier af data til klienten. Konfliktende data, der sendes til klienten, kan forekomme i følgende situation:

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

  2. Replica En kopieringsdata til replika B.

  3. Klient 1 opdaterer data på replika A til 'Adam: {likes: Cheese, hates: sunlight}'.

    På dette tidspunkt har replik A ikke tilstrækkelig tid til at kopiere de nyeste data til replika B.

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

    På dette tidspunkt er replika A og replika B i konflikt, og databaseklyngen kan ikke automatisk løse forskellene.

En alternativ mekanisme er at bruge tidsstempler og tillade dem at angive de nyeste data. I en sådan situation er det sund fornuft for applikationen at kontrollere, at tidsstemplerne læser den seneste værdi før opdatering af værdien.

De kontrollerer kontrollen og sætter mekanismen,, som grundlæggende betyder 'Hvis den seneste version stadig er version 2, skal du gemme min version 3'. Denne mekanisme kaldes undertiden som read match update (RMU) eller read match write (RMW). Denne mekanisme er standardmekanismen anvendt af Oracle NoSQL, Redis, Riak og Voldemort.

Styring af data i NoSQL - dummies

Valg af editor

Financial Freedom Tilbydes af Bitcoin - Dummies

Financial Freedom Tilbydes af Bitcoin - Dummies

Bitcoin tilbyder sine brugere mange fordele, men måske er den vigtigste en hidtil uset niveau af frihed. Og denne frihed kommer på mange forskellige måder: finansiel frihed fra at være nødt til at stole på eksisterende infrastruktur, men også den mentale frihed til at være i kontrol med egne midler og teknologi. Flyt mod ...

Indsætte lydfiler i et PowerPoint Slide-dummies

Indsætte lydfiler i et PowerPoint Slide-dummies

For at afspille lyd i en PowerPoint 2007-præsentation, indsætter du en lydfil i et dias. Hvordan og når lyden høres, er op til dig. Du kan gøre lydfilen automatisk afspilning, når diaset vises eller begynder at afspille, når du klikker. Før du indsætter din lydfil på et dias, spørg ...

Er dit Excel Dashboard eller rapport nøjagtigt? - dummies

Er dit Excel Dashboard eller rapport nøjagtigt? - dummies

Intet dræber et Excel-dashboard eller rapporterer hurtigere end den opfattelse, at dens data er unøjagtige. Inden du sender dit færdige Excel dashboard eller rapport, skal du sørge for at kontrollere din rapporteringsmekanisme. Dit omdømme er på linjen! Her er tre faktorer, der fastslår, at et dashboard er korrekt: Overensstemmelse med autoritative ...

Valg af editor

Annoncer på Facebook - dummies

Annoncer på Facebook - dummies

Facebook er gratis for dig at bruge. I stedet for at opkræve sine brugere penge betaler Facebook regningerne ved at sælge annoncer. Disse annoncer vises derefter til dig. Så på en måde ser du på annoncer, hvordan du betaler for at bruge Facebook. Facebook har en række forskellige måder, hvorpå det vælger hvilke annoncer der skal ...

Automatisk fotoalbum på Facebook - dummies

Automatisk fotoalbum på Facebook - dummies

Det meste af tiden, hvor du laver et fotoalbum i Facebook, du bestemmer hvad du skal title det og hvilke fotos går ind i det. Der er nogle få undtagelser fra denne regel. Facebook samler visse typer billeder i album på dine vegne. Vigtigste, hver gang du ændrer dit profilbillede eller omslagsfoto, ...

Hvem kan se ting på din Facebook-tidslinje? - dummies

Hvem kan se ting på din Facebook-tidslinje? - dummies

Der er forskel på at tilføje ting til dit Facebook-tidslinje, som de foregående indstillinger kontrollerer, og blot kigger på dit tidslinje, som indstillingerne i dette afsnit styrer. Tre indstillinger her vedrører, hvad folk ser, når de ser på din profil. Gennemgå, hvad andre mennesker ser på din tidslinje. Dette er ikke så meget en indstilling ...

Valg af editor

Beskyt Excel-regneark og låseceller i Office 2011 til Mac-dummies

Beskyt Excel-regneark og låseceller i Office 2011 til Mac-dummies

, Når du laver formularer I Excel 2011 til Mac skifter du ofte regnearkbeskyttelse til og fra. Du skal slukke for regnearkbeskyttelse, når du vil opbygge en formular. Slukning af arkbeskyttelse gør det muligt at bruge formularkontrolerne på fanen Udvikler i båndet og giver dig mulighed for at redigere regnearket ...

Arbejder med Excel-arktyper i Office 2011 til Mac-dummies

Arbejder med Excel-arktyper i Office 2011 til Mac-dummies

Hvis du arbejder i Office 2011 til Mac, finder du, at Excel-ark kan være generelle eller dedikeret til et bestemt formål. Du behøver ikke være ekspert i Excel 2011 til Mac til at bruge de forskellige arktyper, men du bør kende deres navne og hver arktype formål. Du kan blande forskellige ...

Udfyldning af et formular med en grafik i Office 2011 til Mac - dummies

Udfyldning af et formular med en grafik i Office 2011 til Mac - dummies

I Office 2011 for Mac-programmer, former kan fyldes med et billede fra en fil eller fyldes med en af ​​flere teksturer fra en menu ved hjælp af fanen Billede eller tekstur i dialogboksen Formatformat. Mønstre er geometriske design, der bruger to farver, og de er tilgængelige fra fanen Mønster i ...