Hjem Personlig finansiering Højhastighedstastadgang med NoSQL-dummies

Højhastighedstastadgang med NoSQL-dummies

Indholdsfortegnelse:

Anonim

Nøgleværdisbutikker i NoSQL handler om hastighed. Du kan bruge forskellige teknikker til at maksimere denne hastighed, fra caching data, til at have flere kopier af data, eller ved at bruge de mest passende opbevaringsstrukturer.

Cache data i hukommelsen

Da data er let tilgængelige, når den er gemt i RAM (random access memory), kan du vælge en nøgleværdi butik, der caches data i RAM, betydeligt fremskynde din adgang til data, omend til prisen af højere serveromkostninger.

Ofte er denne bytte værd at lave. Du kan nemt beregne, hvilken procentdel af dine lagrede data der anmodes om ofte. Hvis du ved, at fem procent generelt bliver bedt om hvert par minutter, så tag fem procent af din datastørrelse og tilføj det antal som ledigt RAM-plads på tværs af dine databaseservere.

Husk, at operativsystemet, andre applikationer og databaseserveren også har hukommelseskrav.

Replicere data til slaver

I nøgleværdisbutikker gemmes en bestemt nøgle på en af ​​serverne i klyngen. Denne proces kaldes nøglepartitionering . Dette betyder, at hvis denne nøgle konstant bliver bedt om, modtager denne knude hovedparten af ​​anmodninger. Denne knudepunkt vil derfor være langsommere end din gennemsnitlige forespørgselshastighed, der potentielt påvirker kvaliteten af ​​tjenesten til dine brugere.

For at undgå denne situation understøtter nogle nøgleværdibutikker at tilføje skrivebeskyttede kopier, også kaldet slaver. Redis, Riak og Aerospike er gode eksempler. Replikation gør det muligt at gemme nøglen flere gange på flere servere, hvilket øger responshastigheden, men på bekostning af mere hardware.

Nogle nøgleværdighedsbutikker sikrer, at nøglernes replikaer altid har samme værdi som master. Denne garanti kaldes at være helt konsekvent. Hvis der opstår en opdatering på master-serveren, der holder nøglen, garanteres alle replikerne at være opdaterede.

Ikke alle vigtige værdibutikker garanterer denne status (f.eks. Riak), så hvis det er vigtigt at være opdateret til millisekunden, skal du vælge en database, hvis replikaer er fuldt konsistente (f.eks. Aerospike).

Datamodellering i nøgleværdisbutikker

Mange nøgleværdis butikker understøtter kun grundlæggende strukturer for deres værdityper, og efterlader applikationsprogrammøren jobbet med at tolke dataene. Simpel datatypestøtte indeholder typisk strenge, heltal, JSON og binære værdier.

For mange brugssager fungerer dette godt, men nogle gange er en lidt mere granulær adgang til data nyttig.Redis understøtter for eksempel følgende datatyper:

  • String

  • Liste

  • Sæt

  • Sorteret sæt

  • Hash-kort

  • Bit arrayer

  • Hyperlog-logs

Sorterede sæt kan forespørges om matchende værdier - meget som at spørge et indeks af værdier sorteret efter dato, hvilket er meget nyttigt for at søge efter en delmængde af typede data.

Drift på data

Redis omfatter operationer til at øge og formindske nøgleværdier direkte uden at skulle foretage et trin til ændring af read-modify-update (RMU). Du kan gøre det inden for en enkelt transaktion for at sikre, at ingen anden applikation ændrer værdien under en opdatering. Disse specifikke operationer i datatypen omfatter også at tilføje og fjerne elementer til lister og sæt.

Du kan endda give autokomplet funktionalitet på en applikations brugergrænseflade ved hjælp af kommandoen Redis ZRANGEBYLEX. Denne kommando henter et sæt nøgler, der delvis matcher en streng. Så hvis du skulle skrive "NoSQL for" i søgelinjen for en applikation bygget på Redis, ville du se forslaget "NoSQL For Dummies. "

Evaluering af Redis

Redis er stolt af at være en meget let, men blazingly hurtig nøgleværdi butik. Det var oprindeligt designet til at være en in-memory-nøgleværdi butik, men har nu diskbaseret datalagring.

Du kan bruge Redis til at beskytte data ved at aktivere tilstanden AOF (tilføj kun fil) og instruere Redis om at tvinge data til disk på hver forespørgsel (kendt som tvunget fsync flushing ). AOF gør det langsomt at skrive, selvfølgelig, men det giver et højere niveau af holdbarhed for data. Vær dog opmærksom på, at det stadig er muligt at miste op til et sekund af kommandoer.

Endvidere har Redis kun for nylig tilføjet support til clustering. Faktisk på tidspunktet for denne skrivning er Redis 'clustering support i beta testfasen. Heldigvis bruger Redis en fælles-intet klynge model med mestere til bestemte nøgler og slaver, der aldrig direkte skrives til af en klient; kun mesteren gør det. At levere delt intet-gruppering skal gøre det lettere for Redis at implementere pålidelig clustering, end det er for databaser, der tillader at skrive til alle replikaer.

Hvis du vil have et meget hurtig caching-lag i hukommelse foran en anden database - MongoDB eller Riak bruges normalt sammen med Redis - vurder derefter Redis som en mulighed. Som støtte til clustering og data holdbarhed udvikler sig, kan Redis måske overtage andre back-end databaser.

Højhastighedstastadgang med 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 ...