Hjem Personlig finansiering Håndtering af partitioner i NoSQL - dummies

Håndtering af partitioner i NoSQL - dummies

Indholdsfortegnelse:

Video: Lynguide til Diskhåndtering (1:3) 2025

Video: Lynguide til Diskhåndtering (1:3) 2025
Anonim

Ordpartitionen bruges til to forskellige begreber i NoSQL land. En datadeling er en mekanisme til at sikre, at data fordeles jævnt over en klynge. På den anden side forekommer en netværkspartition , når to dele af den samme databaseklynge ikke kan kommunikere.

På meget store grupperede systemer er det i stigende grad sandsynligt, at en fejl i et udstyr vil ske. Hvis et netværkskobling mellem servere i en klynge fejler, forekommer der et fænomen, der kaldes (i computerjargon) split hjerne . I dette tilfælde modtager enkelte servere stadig anmodninger, men de kan ikke kommunikere med hinanden.

Dette scenario kan føre til inkonsekvens af data eller simpelthen til reduceret kapacitet i datalagring, da netværkspartitionen med de mindste servere fjernes fra klyngen (eller "afstemt" i ægte Big Brother-mode).

Tolerere partitioner

Du har to valgmuligheder, når en netværkspartition sker:

  • Fortsæt på et eller andet niveau for at servicere læsnings- og skriveoperationer.

  • "Afstem" en del af partitionen og beslutter at rette dataene senere, når begge dele kan kommunikere. Dette involverer normalt klyngen at stemme en læseprice som den nye mester for hver manglende masterpartitionsknude.

Riak giver dig mulighed for at bestemme, hvor mange gange data replikeres (tre kopier, som standard - det vil sige n = 3) og hvor mange servere der skal forespørges for at en læsning skal lykkes. Dette betyder, at hvis de primære master af en nøgle er på den forkerte side af en netværkspartition, kan læsninger stadig lykkes, hvis de to andre servere er tilgængelige (det vil sige r = 2 læse tilgængelighed).

Riak håndtag skriver, når den primære partitionsserver går ned ved at bruge et system kaldet antydet handoff . Når data oprindeligt replikeres, skrives den første node for en bestemt nøglepartition til, sammen med (som standard) to af de følgende naboknudepunkter.

Hvis den primære ikke kan skrives til, skrives den næste knude i ringen til. Disse skrivninger afleveres effektivt til næste knudepunkt. Når den primære server kommer op igen, afspilles skrivningerne til den node, før den overtar primære skriveoperationer igen.

I begge disse operationer kan versionsmæssige inkonsekvenser ske, fordi forskellige replikaer kan være i forskellige versionslande, selvom det kun er få millisekunder.

Riak beskæftiger endnu et system kaldet aktiv anti - entropi for at afhjælpe dette problem. Dette system trawls gennem opdaterede værdier og sikrer, at replikaer opdateres på et tidspunkt, helst hurtigere end senere.Dette hjælper med at undgå læsekonflikter, samtidig med at der opretholdes en høj indtastningshastighed, hvilket undgår en tofaseforbrydelse, der anvendes af andre NoSQL-databaser med master-slave, understøttelse af delt-intet clustering.

Hvis der opstår konflikt med læsning, bruger Riak læs reparation for at forsøge at returnere kun de nyeste data. Til sidst, og afhængigt af de konsistens- og tilgængelighedsindstillinger, du bruger, kan klientprogrammet præsenteres med flere versioner og bliver bedt om at bestemme for sig selv.

I nogle situationer er denne bytte ønskelig, og mange applikationer kan intuitivt vide, baseret på de præsenterede data, hvilken version der skal bruges, og hvilken version der skal kasseres.

Sekundær indeksering

Sekundære indeks er indekser for specifikke data inden for en værdi. De fleste nøgletalbutikker forlader denne indeksering op til applikationen. Imidlertid er Riak anderledes, idet der anvendes en ordning kaldet dokument - baseret partitionering , der muliggør sekundær indeksering.

Dokumentbaseret partitionering forudsætter, at du skriver JSON-strukturer til Riak-databasen. Du kan derefter oprette indekser på bestemte navngivne egenskaber inden for denne JSON-struktur som vist:

{"order-id": 5001, "kunde-id": 1429857, "order-date": "2014-09-24 "," Total ": 134. 24}

Hvis du har en ansøgning, der viser en kundes ordrer for den foregående måned, vil du søge alle poster som vist, hvor kundens id er en fast værdi (1429857) og bestillingsdatoen er inden for et bestemt interval (begyndelsen og slutningen af ​​måneden).

I de fleste nøgletalbutikker opretter du en anden buket, hvis nøgle er det kombinerede kundenummer og måneden, og værdien er en liste over ordreindstillinger. Men i Riak tilføjer du simpelthen et sekundært indeks på både kunde-id (heltal) og ordre-dato (dato), hvilket giver ekstra lagerplads, men har den fordel at være transparent for applikationsudvikleren.

Disse indekser opdateres også live - hvilket betyder, at der ikke er nogen forsinkelse mellem at opdatere en dokumentværdi i Riak og indekserne er opdaterede. Denne levende adgang til data er vanskeligere at trække ud end det ser ud til. Når alt kommer til alt, hvis indekserne er inkonsekvente, finder du aldrig de konsekvent lagrede data!

Evaluering af Riak

Basho, den kommercielle enhed bag Riak, siger, at dens kommende version 2. 0 NoSQL-database altid har stærk konsistens, et krav, som andre NoSQL-leverandører gør. Anprisningen fra NoSQL-leverandører til altid at have stærk konsistens er som at hævde at være en stærk vegetarisk … undtagen om søndagen, når du har roastbiff.

Riak er ikke en ACID-kompatibel database. Dens konfiguration kan ikke ændres, så den kører i ACID-compliance-tilstand. Kunder kan få inkonsekvente data under normale operationer eller under netværkspartitioner. Riak handler absolut konsistens for øget tilgængelighed og partitionstolerance.

Running Riak i stærk konsistenstilstand betyder, at dens læste replikaer opdateres samtidig med den primære master. Dette indebærer en tofaset forplig - i princippet skriver hovednoden til de andre knuder, inden den bekræfter, at skrivningen er færdig.

Riaks stærke konsistenttilstand understøtter ikke sekundære indekser eller komplekse datatyper (f.eks. JSON). Forhåbentlig vil Basho løse dette problem i kommende udgivelser af databasen.

Riak Search (en rebranded og integreret Apache Solr søgemaskine bruger en til sidst konsistent opdateringsmodel) kan frembringe falske positive ved brug af stærk konsistens. Denne situation opstår, fordi data kan skrives, og derefter overgives transaktionen, men dataene bruges stadig til indeksering - efterlader et "falskt positivt" søgeresultat - resultatet er faktisk ikke længere gyldigt for søgeforespørgslen.

Riak bruger også en separat sentinel proces for at bestemme hvilken node bliver en mester i failover-forhold. Denne proces er imidlertid ikke meget tilgængelig, hvilket betyder at i et par sekunder er det muligt, at mens en ny kopi af sentinel-processen bliver bragt online, kan en ny node ikke tilføjes eller en ny mester valgt. Du er nødt til at være opmærksom på denne mulighed i overordnede stressoverføringsforhold.

Riak har nogle gode funktioner til applikationsudviklere, som sekundær indeksering og indbygget JSON-værdistøtte. Databasereplikation til katastrofegendannelse til andre datacentre er kun tilgængelig i den betalte version, hvis pris kan findes på deres hjemmeside (de viste lejepriser, de løbende licenspriser, der kun gives på ansøgningen).

Riak Control-klyngeovervågningsværktøjet betragtes heller ikke højt på grund af dets forsinket tid, når overvågning af klynger. Riak har mange løfter, og hvis Basho vil tilføje flere enterprise - niveau klyngestyringsfaciliteter i fremtidige versioner, bliver det et bedste produkt.

Håndtering af partitioner i NoSQL - dummies

Valg af editor

Hvordan man behandler PHR / SPHR eksamensspørgsmål, du ikke ved - dummier

Hvordan man behandler PHR / SPHR eksamensspørgsmål, du ikke ved - dummier

Vil du uundgåeligt komme ind på et spørgsmål (eller et par) på PHR eller SPHR eksamen, hvor du simpelthen ikke vil vide svaret. Vær ikke overrasket, når du støder på en. Bliv rolig og tag ikke panik. Her er nogle strategier til at håndtere det ukendte: Stol på dit første instinkt. Prøv ikke at overtale spørgsmålet. Hvis du ...

Sammenligner PHR og SPHR-eksamenerne - dummier

Sammenligner PHR og SPHR-eksamenerne - dummier

Med den rette eksamen, enten PHR eller SPHR, har en effekt på mere end blot at gøre forberedelsesprocessen mindre stressende. Valg af den relevante test kan også påvirke dit fremtidige job og indtjeningspotentiale. Tænk på at ansøge om et HR-job på højt niveau, der kræver eksponering, erfaring og problemløsning i forretningsadministration og ...

Hvordan man håndterer svardistraherende på PHR / SPHR-eksamenerne - dummier

Hvordan man håndterer svardistraherende på PHR / SPHR-eksamenerne - dummier

Ud over de to gode svar valg, har et spørgsmål om PHR eller SPHR eksamen normalt også distraktorer. Distraktorer kan dukke op på et par forskellige steder: I spørgsmålstammen: Denne fremmede information er ikke relevant for det korrekte svar. I et af de fire svar valg: Nogle distractorer er svar baseret på ...

Valg af editor

I nogle organisationer, de operationelt anerkendte måneder tilbage en skattemåned fra en dato i Excel - dummies

I nogle organisationer, de operationelt anerkendte måneder tilbage en skattemåned fra en dato i Excel - dummies

Start ikke den 1. og slut den 30. eller 31. december. I stedet har de bestemte dage, der markerer begyndelsen og slutningen af ​​en måned. For eksempel kan du arbejde i en organisation, hvor hver skattemåned begynder den 21. og slutter den 20. ..

Roterende celledata i Excel 2007 - dummies

Roterende celledata i Excel 2007 - dummies

Brug retningsknappen på fanen Startside i Excel 2007 for at rotere data i celler. Du kan rotere data med uret, mod uret eller lodret. Brug dialogboksen Formaterceller til at indstille en mere præcis retning ved at angive antallet af grader for at rotere teksten. For at rotere celledata skal du følge disse trin: Vælg ...

Række højde og kolonne bredde i Excel 2013 - dummies

Række højde og kolonne bredde i Excel 2013 - dummies

Hver kolonne i et regneark starter med samme bredde , som er 8. 43 tegn (baseret på standard skrifttype og skriftstørrelse), medmindre du har ændret standardindstillingen. Det er cirka syv cifre og enten et stort symbol (f.eks. $) Eller to små (som decimaler og kommaer). Du kan definere standard ...

Valg af editor

Opret din første MindManager-kort - dummies

Opret din første MindManager-kort - dummies

Oprettelse af kort er hvad MindManager handler om, men at oprette et nyttigt kort kan tage lidt indsats og kreativ energi. Du vil bruge kort, der allerede er startet, kaldet skabeloner, når det er muligt. Opret dit første kort - et øvelseskort - ved at åbne dit MindManager-program og følg disse trin: 1. Klik på Learning ...

Crystal Reports 10: Forståelse af objektforbindelse og indlejring (OLE) - dummies

Crystal Reports 10: Forståelse af objektforbindelse og indlejring (OLE) - dummies

Formålet med en rapport er at præsentere databasedata for brugere i en form, der er let at forstå. Crystal Reports giver dig alle de værktøjer, du har brug for til at gøre det. Nogle gange vil du dog have en rapport, der gør mere end bare til stede databasedata. Du kan muligvis inkludere tekst fra et ord ...

Dag Trading Bitcoin versus Fiat - dummies

Dag Trading Bitcoin versus Fiat - dummies

Dagens handel handler om at købe og sælge finansielle instrumenter - som bitcoin - inden for samme handelsdag. Fiat valuta refererer til en national regering lovligt betalingsmiddel. Ved hjælp af bitcoin kan du handle på flere forskellige måder. Den mest oplagte handelsform byder bitcoins til og fra en hvilken som helst af de lokale valutaer den ...