Video: PHP for Web Development 2025
Den enkleste av NoSQL-databasene (ikke bare SQL) I et stort datamiljø er de som bruker nøkkelverdierparet (KVP) -modellen. KVP-databaser krever ikke et skjema (som RDBMSer) og gir god fleksibilitet og skalerbarhet.
KVP-databaser tilbyr ikke ACID (Atomicity, Consistency, Isolation, Durability) og krever at implementatører tenker på dataplassering, replikering og feiltoleranse som de ikke uttrykkelig styres av selve teknologien. KVP-databaser er ikke skrevet. Som et resultat lagres de fleste dataene som strenger.
Nøkkel | Verdi |
---|---|
Farge | Blå |
Libation | Øl |
Helt | Soldat |
Dette er et veldig forenklet sett med nøkler og verdier. I en stor dataimplementasjon vil mange individer ha forskjellige ideer om farger, libations og helter.
Nøkkel | Verdi |
---|---|
FacebookUser12345_Color | Rød |
TwitterUser67890_Color | Brunaktig |
FoursquareUser45678_Libation | "Hvitvin" |
Google + Bruker24356_Libation | "Tørr martini med en vri " |
LinkedInUser87654 < | " Toppsalgspartner " |
Etter hvert som antall brukere øker, holder du oversikt over presise nøkler og relaterte verdier kan være utfordrende. Hvis du trenger å holde oversikt over meninger fra millioner av brukere, kan antallet nøkkelverdier som er knyttet til dem, øke eksponentielt. Hvis du ikke vil begrense valgene for verdiene, gir generisk strengrepresentasjon av KVP fleksibilitet og lesbarhet.
Det kan hende du trenger litt ekstra hjelp til å organisere data i en nøkkelverdatabase. De fleste tilbyr muligheten til å samle nøkler (og deres relaterte verdier) inn i en samling. Samlinger kan bestå av et hvilket som helst antall nøkkelverdier og krever ikke eksklusiv kontroll over de enkelte KVP-elementene.
En mye brukt åpen kildekode-nøkkelpar database kalles Riak. Den er utviklet og støttet av et selskap som heter Basho Technologies, og blir gjort tilgjengelig under Apache Software License v2. 0.
Riak er en veldig rask og skalerbar implementering av en nøkkelverdatabase. Den støtter et høyvolumsmiljø med raskt skiftende data fordi den er lett. Riak er spesielt effektiv ved sanntidsanalyse av handel med finansielle tjenester. Det bruker "bøtter" som en organisasjonsmekanisme for samlinger av nøkler og verdier.
Riak implementeringer er klynger av fysiske eller virtuelle noder arrangert i en peer-to-peer-mote. Ingen master node eksisterer, så klyngen er elastisk og høy skalerbar.Alle data og operasjoner er fordelt over klassen. Større klynger utfører bedre og raskere enn klynger med færre noder. Kommunikasjon i klyngen er implementert via en spesiell protokoll kalt Gossip. Sladder lagrer statusinformasjon om klyngen og deler informasjon om skuffer.
Riak har mange funksjoner og er en del av et økosystem som består av følgende:
-
Parallell prosessering: Ved hjelp av MapReduce støtter Riak en evne til å dekomponere og rekomponere forespørsler over hele klyngen for sanntidsanalyse og beregning.
-
Lenker og linkvandring: Riak kan konstrueres for å etterligne en grafdatabase ved hjelp av koblinger. En kobling kan betraktes som en enveisforbindelse mellom nøkkelverdige par. Walking (følger) koblingene vil gi et kart over forhold mellom nøkkelverdier par.
-
Søk: Riak Search har en feiltolerant, distribuert fulltekst-søkefunksjon. Skuffer kan indekseres for rask oppløsning av verdi til nøkler.
-
Sekundære indekser: Utviklere kan merke verdier med en eller flere nøkkelfeltverdier. Søknaden kan deretter spørre indeksen og returnere en liste over matchende nøkler. Dette kan være svært nyttig i store dataimplementeringer fordi operasjonen er atomisk og vil støtte sanntidsadferd.
Riak-implementeringer passer best til
-
Brukerdata for sosiale nettverk, lokalsamfunn eller spill
-
Høyt volum, media-rik datainnsamling og lagring
-
Caching-lag for tilkobling av RDBMS- og NoSQL-databaser
-
Mobilapplikasjoner som krever fleksibilitet og pålitelighet
