Hem Personliga finanser Hantera data i NoSQL - dummies

Hantera data i NoSQL - dummies

Innehållsförteckning:

Video: Rows Oriented Database versus Column Oriented Databases 2024

Video: Rows Oriented Database versus Column Oriented Databases 2024
Anonim

När du lyckats hantera nycklarna är du redo att utforma hur du lagrar data med NoSQL och se till att den är säker och alltid tillgänglig för arbetet du behöver göra.

Datatyper i viktiga värdebutiker

Viktiga butiker fungerar normalt som & ldquo; hinkar & rdquo; för binär data. Vissa databaser ger stark intern datatyping och till och med schema support. Andra ger helt enkelt praktiska hjälparfunktioner i sina klientdrivrutiner för serialisering av vanliga applikationsdatastrukturer till en nyckelvärdesbutik. Exempel är kartor, listor och sorterade uppsättningar.

Oracle NoSQL kan fungera i två lägen:

  • Enkel binär butik

  • Starkt strukturerat Avro schema stöd

Ett Avro schema är relaterat till ett relationsdatabasschema - verkställer en mycket stringent uppsättning av formatregler för JavaScript Object Notation (JSON) data lagrad i databasen, som illustreras här:

{användarnamn: & ldquo; afowler & rdquo;, sessionid: 13452673, sedan: 1408318745, tema: & ldquo; bluesky & rdquo;}

Du definierar ett Avro-schema med ett JSON-dokument. Detta är ett exempel på Avro-schemat för den lagrade data som visats tidigare:

{& ldquo; Typ & rdquo;: & ldquo; rekord & rdquo;, & ldquo; namespace & rdquo;: & ldquo; com. ex & rdquo;, & ldquo; namn & rdquo;: & ldquo; UserSession & rdquo;, & ldquo; fält & rdquo;: [{& ldquo; namn & rdquo;: & ldquo; användarnamn och rdquo;, & ldquo; Typ & rdquo;: [& ldquo; string & rdquo;, & rdquo; null & rdquo;]}, {& ldquo; namn & rdquo;: & ldquo; sessionid & rdquo;, & ldquo; Typ & rdquo;: & ldquo; int & rdquo;}, {& ldquo; namn & rdquo;: & ldquo; eftersom & rdquo;, & ldquo; Typ & rdquo;: & ldquo; lång & rdquo;}, {& ldquo; namn & rdquo;: & ldquo; tema & rdquo;, & ldquo; Typ & rdquo;: [& ldquo; string & rdquo;, & rdquo; null}]}}

Ett Avro-schema ger mycket starkt skrivning i databasen för när schemat är viktigt. I föregående exempel ser du strängdata, ett numeriskt sessions-ID, ett datum (millisekunder, sedan Unix Time Epox, som ett långt heltal) och en personaliseringsinställning för det tema som ska användas på webbplatsen.

Observera också att typ av användarnamn och tema har två alternativ - sträng och null, vilket är hur du instruerar Oracle NoSQL att nollvärden är tillåtna. Du kunde ha lämnat temat som en sträng och tillhandahöll en ytterligare konfigurationsparameter för & ldquo; default & rdquo;: & ldquo; Bluesky & rdquo;.

Andra NoSQL-databaser ger sekundära index på någon godtycklig egenskap med ett värde som har JSON-innehåll. Riak tillhandahåller till exempel sekundära index som baseras på dokumentpartitionering - i grunden indexeras en känd egenskap inom ett JSON-dokument med en typ.Detta möjliggör intervjufrågor (mindre än eller högre än) förutom enkla lika och inte lika jämförelser. Riak klarar av att tillhandahålla intervjufrågor utan ett stringent schema - bara enkel indexdefinition. Om data finns där läggs det till i indexet.

Replikera data

Lagring av flera kopior av samma data på andra servrar, eller till och med rack av servrar, hjälper till att säkerställa tillgängligheten av data om en server misslyckas. Serverfel händer huvudsakligen i samma kluster.

Du kan använda replika två huvudvägar:

  • Master-slave: Alla läser och skriver sker med mästaren. Slaver tar över och mottar endast förfrågningar om befälhavaren misslyckas.

Master-slave replikering används vanligtvis på ACID-kompatibla nyckelvärdesbutiker. För att möjliggöra maximal konsistens skrivs primäraffären till och alla replikor uppdateras innan transaktionen fullbordas. Denna mekanism kallas en tvåfas commit och skapar extra nätverk och behandlingstid på replikorna.

  • Master-master: Läser och skriver kan hända på alla noder som hanterar en nyckel. Det finns inget begrepp av en & ldquo; primär & rdquo; partition ägare.

Master-master-repliker är i regel ibland konsekventa, med klustret som utför en automatisk operation för att bestämma det senaste värdet för en nyckel och avlägsna äldre, vanliga värden.

I de flesta viktiga värdebutiker sker detta långsamt - vid läsningstid. Riak är undantaget här, eftersom det har en anti-entropitjänst som kontrollerar konsistens under normala operationer.

Versionsdata

För att aktivera automatisk konfliktlösning behöver du en mekanism för att indikera den senaste versionen av data. Eventuellt konsekventa viktiga värdebutiker uppnår konfliktlösning på olika sätt.

Riak använder en vektor-klockmekanism för att förutse vilken kopia som är den senaste. Andra viktiga värdebutiker använder enkla tidsstämplar för att indikera stalenhet. När konflikter inte kan lösas automatiskt skickas båda kopiorna av data till klienten. Konflikterande data som skickas till klienten kan uppstå i följande situation:

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

  2. Replica En kopia data till replika B.

  3. Klient 1 uppdaterar data på replik A till "Adam: {gillar: Ost, hatar: solljus} '.

    På den här tiden har replik A inte tillräckligt med tid för att kopiera de senaste data till replik B.

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

    Vid denna tidpunkt är replik A och replik B i konflikt och databasklustret kan inte automatiskt lösa skillnaderna.

En alternativ mekanism är att använda tidsstämplar och lita på att de anger de senaste uppgifterna. I en sådan situation är det sunt för applikationen att kontrollera att tidsstämplarna läser det senaste värdet innan du uppdaterar värdet.

De kontrollerar -kontrollen och ställer in -mekanismen, som i princip betyder 'Om den senaste versionen fortfarande är version 2, spara sedan min version 3'. Denna mekanism kallas ibland Read Match Update (RMU) eller Read Match Write (RMW). Denna mekanism är standardmekanismen som används av Oracle NoSQL, Redis, Riak och Voldemort.

Hantera data i NoSQL - dummies

Redaktörens val

Nätverksenheter och tjänster Översikt för certifikatprov på CCENT-dummies

Nätverksenheter och tjänster Översikt för certifikatprov på CCENT-dummies

Du kan vara säker på att få några frågor om certifieringsexamen som testar din kunskap om typer av enheter och olika nätverkstjänster. Nedan följer några viktiga punkter att komma ihåg om enheter och tjänster: Nätverksenheter Hubb: Ett nav är en lag 1-enhet som används för att ansluta system tillsammans. När ...

OSI-modell för CCENT-certifieringsexamen - dummies

OSI-modell för CCENT-certifieringsexamen - dummies

Certifieringen certifierar dig kraftigt på OSI-modellen och olika protokoll och enheter som körs på varje lager av OSI-modellen. I följande tabell granskas OSI-modellen genom att ge dig en beskrivning av varje lager och exempel på protokoll och enheter som körs i varje lager. Layer Beskrivning Exempel 7. Applikation ...

OSI-modell för Cisco ICND1-certifieringsexamen - dummies

OSI-modell för Cisco ICND1-certifieringsexamen - dummies

Cisco ICND1-certifieringsexamen testa dig kraftigt på OSI modell och de olika protokoll och enheter som körs i varje lager av OSI-modellen. Följande granskar OSI-modellen genom att ge dig en beskrivning av varje lager och exempel på protokoll och enheter som körs i varje lager. Layer Beskrivning Exempel 7. Applikation ...

Redaktörens val

Hur man skalar på skifferelement i kantfilm - dummies

Hur man skalar på skifferelement i kantfilm - dummies

Skalar ett element i Adobe Edge Animate betyder i huvudsak att du kan ändra storleken på ett element samtidigt som dess proportioner hålls konsekventa om du vill. Du kan: Skalelement med verktyget Transform Skalaelement från Egenskaper-panelen Skalning med verktyget Transform Om du föredrar att använda en klicka-och-dra-metod för skalering ...

Hur man arbetar med mallar i Adobe Edge Animate - dummies

Hur man arbetar med mallar i Adobe Edge Animate - dummies

Mallar introducerades i Edge Animate 2. 0. Denna funktion tar bort nödvändigheten att återuppfinna hjulet varje gång du vill starta en ny komposition. Visst kan du alltid starta en ny komposition från en sparad fil, men Mallar gör att du kan starta ett nytt projekt som redan innehåller attribut och element som du vill ha.

Keyframes Modes in Edge Animation - dummies

Keyframes Modes in Edge Animation - dummies

Keyframe-verktyg i Edge Animate finns till höger om Play-kontrollerna. För att skapa nyckelfiler automatiskt måste du först aktivera nyckelbilder genom att klicka på den röda stoppklockans ikon. Som standard, när du startar en ny animering, är Stopwatch rött men har gråa linjer som löper genom det (som visat). Här är standardstatus för ...

Redaktörens val

Hur man tolkar figurativt språk för GED RLA-dummiesna

Hur man tolkar figurativt språk för GED RLA-dummiesna

Författare använder språk antingen bokstavligt eller figurativt . GED Reasoning Through Language Arts testet kommer att ha några frågor för att testa din förmåga att identifiera skillnaden. En NASA-vetenskapsman kan beskriva en asteroid väldigt bokstavligt: ​​består huvudsakligen av vatten, blandat med vissa stenar och mindre fasta fragment. Eller kan han eller hon skriva figurativt och beskriva ...

Hur (och var) ska schemalägga för att ta GED-dummiesna

Hur (och var) ska schemalägga för att ta GED-dummiesna

För att ta GED test, schemalägger du det baserat på tillgängliga testdatum. Varje stat eller lokalt testcenter ställer in sitt eget schema för GED-testet, vilket innebär att ditt tillstånd bestämmer hur och när du kan ta varje avsnitt av testet. Det bestämmer också hur ofta du kan återta en misslyckad ...

Hur man förbereder sig på GED RLA Extended Response - dummies

Hur man förbereder sig på GED RLA Extended Response - dummies

Uppsats för utvidgad respons på GED Reasoning Through Language Arts-testet kräver några mycket specifika färdigheter, allt från grammatik och korrekt språkanvändning till förståelse och analysförmåga. Om du någonsin har haft ett argument om vem som har det bästa laget eller vilken arbetsgivare är bättre, vet du redan hur man bedömer argument och svarar. ...