Nøkkelverdidatabaser avmystifisert - DATAVERSITET

Nøkkelverdidatabaser avmystifisert – DATAVERSITET

Kilde node: 2943225
nøkkelverdidatabasernøkkelverdidatabaser

I 1966 ble en DEC PDP-7-datamaskin levert til Massachusetts General Hospital uten noen programmering. Sykehuset hadde investert i en datamaskin, men hadde ingen mulighet til å kjøre den. På dette tidspunktet var det svært lite i veien for programvarealternativer, operativsystemer eller databasestøtte. Sykehuset hadde imidlertid tilgang til Massachusetts Institute of Technology (MIT), som lå rett over elven. MIT-teamet startet fra bunnen av, og fortsatte med å designe "kusma” (Massachusetts Utility Multi-Programming System) som et flerbrukeroperativsystem, en database og et språk, alt i ett. MUMPS brukte et nøkkelverdilager og flere andre funksjoner som senere ble innlemmet i NoSQL-datalagre. Bruken og fokuset på nøkkelverdistrukturer utviklet seg gradvis til enkle NoSQL nøkkelverdidatabaser.

Denne typen database lagrer data som en gruppe nøkkel-verdi-par, som består av to dataelementer som er koblet sammen. Koblingen mellom elementene er en "nøkkel" (som "filnavn"), som fungerer som en identifikator for et element i dataene, og "verdien" som er dataene (eller innholdet) som er identifisert.

Nøkkelverdidatabaser regnes ofte som de enkleste NoSQL databaser. Denne enkelheten gjør lagre og databaser med nøkkelverdier raske, brukervennlige, bærbare, skalerbare og fleksible. De originale nøkkelverdisystemene ble imidlertid ikke designet for å tillate forskere å filtrere eller kontrollere dataene som returneres fra en forespørsel – de inkluderte ikke en søkemotor. Det endrer seg etter hvert som folk endrer nøkkelverdidatabasene sine.

Redis introduserte sin nøkkelverdidatabase i 2009:

"Den opprinnelige intensjonen til Redis (eller et hvilket som helst nøkkelverdilager) var å ha en spesiell nøkkel, eller identifikator, for hver enkelt databit. Redis utvidet raskt dette konseptet med datatyper, der en enkelt nøkkel kunne referere til flere (til og med millioner av) databiter. Etter hvert som moduler kom til økosystemet, ble ideen om en nøkkel strukket enda lenger fordi et enkelt stykke data nå kunne spenne over flere nøkler (for en RediSearch-indeks, for eksempel). Så når vi blir spurt om Redis er en nøkkelverdi-butikk, svarer vi vanligvis med "det kommer fra nøkkelverdi-linjen av databaser", men merk at det på dette tidspunktet er vanskelig å rettferdiggjøre Redis som en nøkkelverdi-butikk alene. ”

Selv om mange NoSQL-databaser fortsetter å inkludere nøkkelverdilagre, kan nøkler også brukes i relasjonsdatabaser. Primærnøkkelen som brukes for relasjonstabeller, identifiserer hver post i tabellen unikt. Noen nøkler kan brukes til å koble (eller slå sammen) data som er lagret i én tabell til dataene i andre tabeller. Å lagre en primærnøkkel til en rad i en annen tabell er kjent som en fremmednøkkel. Det er primærnøkkel og fremmednøkkel feil som bør unngås

Hvordan nøkkelverdidatabaser fungerer

Nøkkelverdidatabaser etablerer ikke et spesifikt skjema. Tradisjonelle relasjonsdatabaser forhåndsdefinerer strukturene sine i databasen, ved å bruke tabeller som inneholder felt med veldefinerte datatyper. Nøkkelverdisystemer, derimot, behandler data som en enkelt samling med nøkkelen som representerer en vilkårlig streng – for eksempel et filnavn, hash eller uniform ressursidentifikator (URI). Nøkkelverdilagre bruker generelt mye mindre minne mens de lagrer og lagrer samme mengde data, noe som igjen øker ytelsen for visse typer arbeidsbelastninger.

"Rene" nøkkelverdidatabaser bruker ikke et spørringsspråk, men de tilbyr en måte å hente, lagre og slette data ved å bruke de veldig enkle kommandoene få, sette, og slett. (Modifiserte nøkkelverdidatabaser kan inkludere fulltekstsøk.) Henting av data krever en direkte forespørselsmetode for å kommunisere med datafilen. Det er ingen søking, og det er heller ingen søkemotor. Hvis nøkkelen ikke er kjent, er det ingen måte å finne den på.

Bruk av nøkkelverdidatabaser

Samtidig som relasjonsdatabaser håndtere betalingstransaksjoner ganske bra, de sliter med å håndtere høye volumer av samtidige transaksjoner. NoSQL-nøkkelverdidatabaser kan imidlertid skaleres etter behov og håndtere ekstremt høye trafikkvolumer per sekund, noe som gir tjenester for tusenvis av samtidige brukere.

NoSQL-databaser med nøkkelverdi kommer med innebygd redundans, slik at de kan håndtere tapte lagringsnoder uten problemer. (Noen ganger vil for eksempel en "handlekurv" miste varer.) Nøkkelverdilagre behandler store datamengder og en konsistent flyt av lese-/skriveoperasjoner for:

  • Sesjonsadministrasjon: Tilbyr brukere muligheten til å lagre og gjenopprette økter.
  • Brukerpreferanser og profilbutikker: Personopplysninger om spesifikke brukere.
  • Produktanbefalinger: Tilpassede varer en kunde kan være interessert i.
  • Kuponger, tilpassede annonser: Tilpasset og sett av kunder i sanntid.
  • Fungerer som en cache for regelmessig viste data som sjelden blir oppdatert.

Nøkkelverdidatabaser brukes ofte til øktadministrasjon i webapplikasjoner. De klarer seg godt til å administrere øktens informasjon for alle de nye brukerappene på smarttelefoner og andre enheter.

Nøkkelverdidatabaser kan også brukes til massive onlinespill med flere spillere, som administrerer hver spillers økt.

De
er veldig flinke til å administrere handlekurver for nettkjøpere – frem til betalingstidspunkt.
Betalingstransaksjoner og eventuelle inntektsposteringer fungerer bedre med en relasjonell
database.

Som en av de enkleste NoSQL-databasene, kan nøkkelverdi-databaser enkelt skaleres for formål med big data-forskning, mens de betjener flere brukere samtidig.

Bedrifter som selger produkter over internett sliter ofte med de forskjellige volumene i kjøpssesongen før jul kontra resten av året. Problemstillingen handler om å betale for en infrastruktur som er skalert for juleinnkjøpstoppen (og betale for den infrastrukturen resten av året) eller å ta risikoen for ikke å klare julerushet (og havarerer i flere timer). Forutsatt at en relasjonsdatabase håndterer vanlige helårstjenester, leie en Sky tjeneste med nøkkelverdidatabase for julerushet gir en effektiv, relativt rimelig løsning.

Velge riktig database for organisasjonen din

Ulike nøkkelverdidatabaser bruker forskjellige teknikker for å forbedre den grunnleggende nøkkelverdimodellen. Noen lagrer alle dataene sine i RAM, mens andre jobber med en kombinasjon av SSD (solid state-stasjoner) og RAM. Atter andre kombinerer støtte for roterende disker og RAM.

Disse databasene ble designet for å svare på de nye applikasjonene som har blitt tilgjengelige for smarttelefoner og andre enheter. Organisasjoner bør unngå å få alle relasjonsdatabasene erstattet med NoSQL, spesielt for økonomiske applikasjoner. Noen populære nøkkelverdidatabaser er oppført nedenfor:

  • Aerospike: En åpen kildekode, NoSQL-database som bruker et flash-optimalisert minne.
  • Apache cassandra: Et distribuert, gratis, åpen kildekode, butikk med brede kolonner, NoSQL-databasestyringssystem.
  • Amazon Dynamo DB: En fullt administrert proprietær NoSQL-databasetjeneste som tilbys av Amazon.
  • Berkeley DB: Et grunnleggende, høyytelses, innebygd databaselagringsbibliotek med åpen kildekode.
  • Sovesofa: Designet for forretningskritiske applikasjoner, gir den fulltekstsøk, SQL-basert spørring og analyser.
  • memcached: Gir fart på nettsteder ved å bufre data og objekter i RAM for å redusere antall ganger en ekstern datakilde må leses. Gratis og åpen kildekode.
  • Ripple: Rask, fleksibel og skalerbar, den er bra for å utvikle applikasjoner og jobbe med andre databaser og applikasjoner.
  • Redis: En database, meldingsmegler og minnebuffer. Den støtter hasher, strenger, lister, punktgrafikk og HyperLogLog.

Generelt sett, hemmeligheten
til nøkkelverdi-databaser ligger i deres enkelhet og den resulterende hastigheten som
blir tilgjengelig. Henting av data krever en direkte forespørsel (nøkkel) for
objekt i minnet (verdi), og det er ikke noe spørrespråk. Dataene kan være
lagret på distribuerte systemer uten bekymringer om hvor indeksene er plassert,
datavolumet, eller nettverksnedganger. Noen nøkkelverdidatabaser bruker flash
lagring og sekundære indekser i et forsøk på å flytte grensene for nøkkelverditeknologi.

En nøkkelverdi-database er begge deler
enkel å bygge og skalere. Det gir vanligvis utmerket ytelse og kan
være optimalisert for å passe en organisasjons behov. Når en nøkkelverdi-database er
modifisert med nye applikasjoner, er det en økt sjanse for at systemet vil
operere saktere.

Bildet brukes under lisens fra Shutterstock.com

Tidstempel:

Mer fra DATAVERSITET