Hjem Personlig finansiering Anvendelse af konsistensmetoder i NoSQL - dummies

Anvendelse af konsistensmetoder i NoSQL - dummies

Indholdsfortegnelse:

Video: Anvendelse af råvildtkølle 2024

Video: Anvendelse af råvildtkølle 2024
Anonim

Egenskaben for en database i konsistensen betyder, at Når data er skrevet til en database med succes, kan de følgende forespørgsler få adgang til dataene og få en ensartet visning af dataene. I praksis betyder det, at hvis du skriver en rekord til en database og derefter straks anmode om det, er du garanteret at se den. Det er især nyttigt for ting som Amazon-ordrer og bankoverførsler.

Konsistens er dog en glidende skala og et emne for dybt at dække her. I NoSQL-verdenen falder konsistensen generelt i en af ​​to lejre:

  • ACID-konsistens (ACID står for Atomicitet, Konsistens, Isolering, Holdbarhed): ACID betyder, at når data er skrevet, har du fuld konsistens i læser.

  • Eventuel konsistens (BASE): BASE betyder, at når data er skrevet, vil det til sidst virke som læsning.

Der er ikke krævet en kamp mellem mennesker, som tror på en stærk sammenhæng i en database, og de der tror det absolut er påkrævet (oversæt folk til NoSQL virksomheder 'marketingafdelinger! ).

Virkeligheden er et sted imellem. Er det ligegyldigt, at en persons Facebook-indlæg ikke ses af alle sine venner i fem minutter? Nej, sandsynligvis ikke. Skift "Facebook-indlæg" til "milliard-dollar-finansiel transaktion", og din holdning ændrer sig hurtigt! Hvilken konsistens tilgang du vælger afhænger af situationen. Efter min opfattelse er stærk konsistens altid det valg i missionskritiske virksomhedssystemssituationer.

ACID

ACID er et generelt sæt principper for transaktionssystemer, ikke noget der kun er knyttet til relationelle systemer eller endda bare databaser, så det er værd at vide om. ACID betyder i grunden, " Denne database har faciliteter til at stoppe dig fra at beskadige eller miste data, ", som ikke er givet for alle databaser. Faktisk leverer langt de fleste NoSQL-databaser ikke ACID-garantier.

Foundation DB, MarkLogic og Neo4j er bemærkelsesværdige undtagelser. Nogle NoSQL-databaser giver en lavere grad af garanti kaldet Check and Set , der kontrollerer, om en anden har ændret et dokument, før en transaktion kan gennemføres. Denne adfærd er normalt begrænset, fordi den har tendens til at blive implementeret på en enkelt rekordbasis.

MongoDB er en bemærkelsesværdig database, der giver mulighed for Check and Set. Med MongoDB kan en hel node-værdi af data låses under en opdatering, hvorved alle læses og alle skrives, indtil operationen er færdig.Selskabet arbejder dog på at fjerne denne begrænsning.

BASE

BASE betyder, at i stedet for at lave ACID-garantier, har databasen en indstillelig balance for konsistens og datatilgængelighed. Dette er typisk tilfældet, når noder i en given databaseklynge fungerer som primære ledere af en del af databasen, og andre noder indeholder skrivebeskyttede kopier.

For at sikre, at alle klienter ser alle opdateringer (det vil sige, at de har en ensartet visning af dataene), skal en skrivning til den primære node, der indeholder dataene, låses, indtil alle læserreplikater er opdaterede. Dette kaldes en to - faseforpligning - ændringen foretages lokalt, men anvendes kun og bekræftes kun til klienten, når alle andre noder opdateres.

BASE slapper af dette krav, idet der kun kræves en delmængde af noderne, der indeholder de samme data, der skal opdateres for at transaktionen skal lykkes. Nogle gange efter at transaktionen er begået, opdateres den skrivebeskyttede kopi.

Fordelen ved denne tilgang er, at transaktionerne er forpligtet hurtigere. At have læsbare live replikaer betyder også, at du kan sprede din data læse belastning, hvilket gør læsning hurtigere.

Ulempen er, at kunder, der forbinder til nogle af de læste replikaer, kan se forældede oplysninger i en ubestemt periode. I nogle scenarier er denne tilstand fint. Hvis du sender en ny besked på Facebook, og nogle af dine venner ikke ser det i et par minutter, er det ikke et stort tab. Hvis du sender en betalingsordre til din bank, kan du dog have en øjeblikkelig transaktion.

En alternativ tilgang til read-only replikaer er at have en delt - intet klynge, hvor kun ét knudepunkt på en klynge altid betjener en bestemt del af databasen.

Fælles intet betyder ikke, at du mister replikering. Databaser, der anvender denne metode, replikerer typisk deres data til et sekundært område på en anden primærknude eller noder - men kun et knudepunkt er mesteren for læsning og skrivning til enhver tid.

Delte-ingenting-klynger har fordelen af ​​en enklere konsistensmodel, men kræver en tofase-forpligtelse til at kopiere. Denne kendsgerning betyder, at transaktionen låses, mens alle replikaer opdateres. (En intern lås plus låsning til andre knudepunkter giver dig to faser.)

Dette har typisk mindre indflydelse end delte dataklynger med skrivebeskyttede replikaer, fordi delte-ikke-replika-dataområder ikke modtager læseanmodninger for det en del af databasen. Derfor er tofaseforbindelser hurtigere på en delt-ingenting-klynge end på en klynge med læsbare replikaer.

Valg af syre eller base?

Som du måske forventer, er meget af argumentet, fordi NoSQL-forhandlere kan skelne sig fra deres konkurrenter ved at påstå en anden, unik tilgang. Det er interessant at bemærke, at antallet af NoSQL-leverandører med ACID-overholdelse på deres køreplan.

Nogle NoSQL-databaser har ACID-overensstemmelse på deres køreplan, selvom de er fortalere for BASE, som viser, hvordan relevante ACID-garantier er til enterprise, mission - critical systemer.

Mange virksomheder anvender BASE-konsistensprodukter, når de tester ideer, fordi de er gratis, men derefter overgår til en ACID-kompatibel betalt database, når de ønsker at gå live på et missionskritisk system.

Den nemmeste måde at afgøre, om du har brug for ACID, er at overveje de interaktioner folk og andre systemer har med dine data. Hvis du f.eks. Tilføjer eller opdaterer data, er det vigtigt, at den allerførste forespørgsel er i stand til at se ændringen? Med andre ord er vigtige beslutninger hængende på databasens nuværende tilstand? Vil man se lidt forældede data, betyder at disse beslutninger kan være dårligt fejlbehæftet?

I finansielle tjenesteydelser er behovet for sammenhæng åbenbar. Tænk på, at handlende køber lager. De skal kontrollere kontantbalancen før handel for at sikre, at de har penge til at dække handlen. Hvis de ikke ser den korrekte balance, vil de beslutte at bruge penge på en anden transaktion. Hvis den database, de spørger efter, kun er i sidste ende konsekvent, kan de muligvis ikke se en mangel på tilstrækkelige midler og dermed udsætte deres organisation for økonomisk risiko.

Lignende tilfælde kan bygges til ACID over BASE i sundhedspleje, forsvar, intelligens og andre sektorer. Alt sammen kolliderer dataene og vigtigheden af ​​både aktualitet og datasikkerhed.

Anvendelse af konsistensmetoder i NoSQL - dummies

Valg af editor

Opret en Photomerge Scene Cleaner Composite i Photoshop Elements 11 - dummies

Opret en Photomerge Scene Cleaner Composite i Photoshop Elements 11 - dummies

Photoshop Elements 11's Photomerge Scene Cleaner Det lyder som et skjult job hos CIA, hvor du bruger dine dage til at bevise på forbrydelsesscener, men det er ikke helt så spændende. Dette Photomerge-kommandoværktøj sætter dig i stand til at skabe det optimale billede ved at tillade dig at fjerne irriterende distraktioner, såsom biler, forbipasserende og så ...

Opret et online fotoalbum i Photoshop Elements 10 - dummies

Opret et online fotoalbum i Photoshop Elements 10 - dummies

, Når du klikker på Del i enten Organizer eller Fuld fotoredigeringstilstand for Photoshop Elements 10, og åbn panelet Del, finder du Online Album øverst på listen. Betegnelsen Online er en smule vildledende her, fordi du kan bruge denne delingsfunktion til både online og lokale filskabelser. Eksporter ...

Opret et smart album i Photoshop Elements 10 - dummies

Opret et smart album i Photoshop Elements 10 - dummies

Du kan udføre en søgning baseret på et antal forskellige kriterier. Funktionen Smart Album gør det muligt at gemme søgeresultaterne i et album. Når du har alle de filer, der vises i organisatoren, baseret på de søgninger, du udfører, kan du oprette et smart album som følger:

Valg af editor

Enterprise Mobile Devices and Exchange ActiveSync - dummies

Enterprise Mobile Devices and Exchange ActiveSync - dummies

Microsoft udviklede Exchange ActiveSync (EAS) som en synkroniseringsprotokol til Microsoft Exchange , men det er blevet tilpasset til at omfatte mere mobil enhedens sikkerhed og ledelsesfunktionalitet. EAS er en proprietær protokol, der er udviklet af Microsoft, og som er blevet licenseret og godkendt af leverandørerne af enhedsoperativsystemer, og er blevet en de facto-standard over ...

Enterprise Mobile Device Protection med applikationspolitikker - dummies

Enterprise Mobile Device Protection med applikationspolitikker - dummies

Applikationspolitikker beskriver, hvilke applikationer brugere har lov til at bruge, mens de får adgang virksomhedens netværk med en mobil enhed. Ansøgningspolitikker er særligt afgørende, fordi de mange applikationer, som brugere kan downloade, vokser eksponentielt. Dette øger risikoen for, at dine brugere sandsynligvis uskyldigt downloader en ondsindet program, der forårsager kaos ...

Enterprise Mobile Device Security: Carrier-Provided Voice Encryption - dummies

Enterprise Mobile Device Security: Carrier-Provided Voice Encryption - dummies

Med den udbredte adoption af mobil enheder kommer en tendens til at bruge dem til at drive missionskritisk forretning og åbne talekommunikation som en sikkerhedsvektor. Det gør de mobile enheder til et meget saftigt mål for alle vandaler derude. Og selvom der ikke har været udbredt udnyttelse af talekommunikation hidtil, kan dagen ikke ...

Valg af editor

Hvordan man skyder natportrætter på din Canon EOS 6D - dummies

Hvordan man skyder natportrætter på din Canon EOS 6D - dummies

, Når du vil oprette portrætter af emner om natten på din EOS 6D med denne tilstand, forbliver lukkeren åben lang nok til at fange detaljer i baggrunden også. Det betyder, at du skal montere dit kamera på et stativ for at kompensere for langsom lukkertid. Du skal også bruge en Canon ...

Sådan optager du billeder med HDR Backlight Control SCN-tilstand på din Canon EOS 6D - dummies

Sådan optager du billeder med HDR Backlight Control SCN-tilstand på din Canon EOS 6D - dummies

Nogle gange vil du fotografere en scene med en bred varians i toneområdet. Din EOS 6D tilbyder en løsning med HDR Backlight Control SCN-tilstand. Ellers er din Canon nødt til at gå på kompromis, og du ender med et billede, der har detaljer i mellemklassen, men mangler detaljer i skyggeområdet. Når du ...