NoSQL-databaser

En oversikt for å komme i gang

Hva er NoSQL-databaser?

NoSQL-databaser kalles også «ikke-relasjonelle», «NoSQL-databaser», eller «non-SQL» for å utheve faktumet at de kan håndtere enorme mengder med rasktendrende, ustrukturerte data på ulike måter enn en relasjonell (SQL)-database med rader og tabeller.

NoSQL-teknologier har vært tilgjengelig siden 1960-årene under ulike navn, men nyter en økning i popularitet siden datalandskapet har endret seg og utviklere må tilpasse seg for å håndtere den enorme mengden og store rekken av data som genereres fra skyen, mobil, sosiale medier og stordata.

Nye data og datatyper genereres i en svimlende hastighet, enten det gjelder virale kjendis-tweets eller livreddende informasjon i elektroniske medisinske arkiver. NoSQL-databaser har utviklet seg til å hjelpe utviklere til å raske opprette databasesystemer til å lagre den nye informasjonen, og gjøre den tilgjengelig for søk, samling og analyse.

Fordelen til NoSQL-databaser (NoSQL-databaser)

NoSQL-databaser hjelper IT-fagfolk og utviklere til å takle de nye utfordringene med et økende mangfold av datatyper og modeller, og er svært effektiv i å håndtere uforutsette data, ofte med svært høye spørringshastigheter. De gir også en sømløs databaseoverføring til skyen for eksisterende NoSQL-arbeidsbelastninger.

Smidig utvikling

Med muligheten til å svare på uplanlagte situasjoner er NoSQL-databaser velegnet for hyppige utgivelsessykluser for programvare, og passer for raskere og smidigere apputvikling.

Håndter data fleksibelt

NoSQL gir utviklere mer frihet, hastighet og fleksibilitet til å endre både skjema og spørringer for å tilpasses datakrav. Informasjon som lagres som en samling, gjør det enklere for raske gjentatte forbedringer – uten å måtte ha en skjemadesign på forhånd.

Bruk i en hvilken som helst skala

NoSQL-databaser kan gi uimotståelige driftsfordeler og besparelser med muligheten til å skalere «ut» horisontalt – eller legge til billigere servere uten å måtte oppgradere. De kan skaleres til å håndtere mer data eller ha en enkelt stor database med svært distribuerbare serverklynger.

Typer datamodeller med NoSQL-databaser

De fleste ikke-relasjonelle høyytelsesdatabasene som noen ganger kalles «ikke bare SQL», kan også håndtere høystrukturerte data – de er ikke bare begrenset til faste datamodeller som relasjonelle (SQL)-databaser.

De fire vanligste typene NoSQL-databasene er:

Nøkkelverdi

Nøkkelverdier lagrer parnøkler og verdier ved hjelp av en hash-tabell. Nøkkelverdi-typer er best når en nøkkel er kjent og den tilknyttede verdien for nøkkelen ikke er kjent.

Dokument

Dokumentdatabaser utvider konseptet av nøkkelverdi-databaser ved å organisere hele dokumenter i grupper som kalles samlinger. De støtter nestede nøkkelverdipar og tillater spørringer på alle attributter i er dokument.

Søyleformet

Søyleformet, bredsøylet eller søyleserie-databaser lagrer effektivt data og spørringer over rader med spredte data og er fordelaktige ved spørringer på tvers av spesifikke søyler i databasen.

Graf

Grafdatabaser bruker en modell som er basert på noder og kanter for å representere sammenkoblede data (slik som relasjoner mellom personer i et sosialt nettverk) og tilby forenklet lagring og navigering gjennom kompliserte relasjoner.

Hvordan velge mellom relasjonelle (SQL) og ikke-relasjonelle (NoSQL) databaser

Ikke tilgjengelig NoSQL eller ikke-relasjonell SQL eller relasjonell
Best for:
  • Håndtering av store, urelaterte, ubestemmelige eller raskt endrende data.
  • Skjema-agnostisk data eller skjema diktert av appen.
  • Apper der ytelse og tilgjengelighet er viktigere en sterk konsekvens.
  • Alltid-på apper som tjener brukere over hele verden.
  • Håndtering av data som er relasjonell og har logiske og diskret krav som kan identifiseres på forhånd.
  • Skjema som må opprettholdes og holdes synkronisert mellom appene og databasene.
  • Eldre systemer som er bygd for relasjonelle strukturer.
  • Apper som krever kompleks spørring eller multi-radede transaksjoner.
Scenarioer:
  • Mobilapper.
  • Sanntidsanalyse.
  • Innholdsstyring.
  • Tilpassing.
  • IoT-apper.
  • Databaseoverføring.
  • Regnskap, finans og banksystemer.
  • Lagerstyringssystemer.
  • Transaksjon-administrasjonssystemer.
Skalering:
  • Skalerer data horisontalt ved fragmentering på tvers av servere.
  • Skalerer data vertikalt ved å øke serverbelastning.
Datamodell:
  • Databasetyper: nøkkelverdi, dokument, søyleformet og graf-databaser.
  • Lagrer data avhengig av databasetype.
  • Databasetype: tabeller med rader, gruppert i relasjoner.
  • Bruker Structured Query Language (SQL).
  • Lagrer data som rader i tabeller, relaterte data lagres separat og kobles sammen for komplekse spørringer.
Ikke tilgjengelig Finn ut mer om ikke-relasjonelle datamodeller Finn ut mer om relasjonelle datamodeller

Hvordan evaluerer jeg en NoSQL-database?

Velg en datakilde

Mange NoSQL-databaser er orientert mot samlinger – en samling av data som du samhandler med som en enhet. Dette gjør at de passer langt bedre for moderne, objekt-orienterte programmeringsspråk. Når du velger en NoSQL-database, ønsker du sikkert å starte med å velge en datamodell – og deretter evaluere NoSQL-databasene som støtter den, sammen med programmeringsspråkene og SDK-er som hver database støtter.

Finn ut mer om programmeringsmodellene og API-er

Vei opp kompromissene med konsekvens

De fleste NoSQL-databasene lar deg velge fra begge endene av et konsekvensspektrum, fra sterk konsekvens – der du vil få de nyeste dataene, men det kan hende du må vente litt – til eventuell konsekvens der du får rask respons, men dataene kan være foreldet. Det er mange NoSQL-databaser som støtter andre konsekvensnivåer som vanligvis havner mer i midten av disse to ytterpunktene. Velg den NoSQL-databasen som gir deg den største fleksibiliteten og kontrollen i konsekvensmodeller for dine behov.

Finn ut mer om konsekvens, tilgjengelighet og partisjonstoleranse

Vurder sky- og databaseoverføring

Med sin distribuerte natur og horisontale skalerbarhet er NoSQL-databaser en ideell løsning for databehandling i skyen, selv om du også kan finne mange NoSQL-databasesystemer som er beregnet på å kjøre lokalt eller i hybrid-scenarioer._

Når du evaluerer dine sky-alternativer, bør du vurdere følgende:

  • Støttede datamodeller. Støtter skytjenesteleverandøren alle datamodellene som du ønsker å bruke?
  • Distribusjon og operasjoner. Hvor enkelt kan du distribuere databasene og replikere det til andre regioner om nødvendig?
  • Geografisk tilstedeværelse. Hvor er skyleverandørenes datasentre? Kan du plassere dataene dine der du vil ha dem? Hvordan vil du samsvare med globale forskrifter for datapersonvern, slik som EUs personvernforordning (GDPR)?
  • Enkel replikering. Hva er prosessen for å replikere databasene dine til en annen geografisk region?
  • Skalerbarhet. Lar NoSQL-databaseressursene deg sørge for at du har tilstrekkelig ytelse og kan skalere for vekst? Vil du være i stand til å skalere opp, ned eller horisontalt?
  • Høy tilgjengelighet. Hva hender om det oppstår en uventet svikt? Tilbyr tjenesten en innebygd høy tilgjengelighet og nødgjenoppretting?
  • Servicenivåer. Hvilke nivåer av tilgjengelighet eller latensgarantier tilbys?
  • Økosystem. Er databasen tett integrert med resten av skyplattformen, og kan den sys sammen raskt for å lage nye løsninger?

Måter å bruke NoSQL-databasesystemer på

Bruk av datamodeller basert på NoSQL passer bra for bedrifter som ønsker å kompilere apper for mobilenheter, nett, tingenes internett og spille som krever databaser som er fleksible og skalerbare med høy ytelse og funksjon for å levere gode brukeropplevelser – enten det er spilling, e-handel, stordataanalyser eller sanntidsnettprogrammer og mer.

Distribuer appene dine globalt

Få flere brukere, hvor enn de er i verden, med den forbedrede appytelsen fra høy tilgjengelighet og nødgjenoppretting.

Gi kundeopplevelser i sanntid

Lever tilpassing, sanntidsanbefalinger og forbedret brukeropplevelse med NoSQL-databaser.

Imøtekom varierte IoT-arbeidsbelastninger

Skaler umiddelbart og elastisk for å håndtere vedvarende, skriveintensivt datainntak med forbedret spørringsytelse for IoT-apper.

Forbedre e-handelsappene dine

Med fleksible skjemaer og hierarkiske data er NoSQL velegnet for å lagre produktkatalog-data der mangfoldige produkter har ulike attributter.

Engasjer spillere med nytt innhold

Lever personlig tilpassede opplevelser med innhold som spillstatistikker, sosial medie-integrasjon og poengtavler. Lav latens og elastisk skalerbarhet støtter trafikktopper under kjøring av spill og turneringer.

Utvikle serverløse apper

Skaler datainntak, gjennomstrømming og datamengder sømløst med umiddelbar tilgjengelighet, automatisk indeksering og stabile inntakshastigheter samt spørringsytelse

Få bedre innsikt i store data

Implementer maskinlæring i storskala på tvers av raskt endrende, høyvolumdata og få mer ut av analysene dine.

Overfør eksisterende NoSQL-arbeidsbelastninger til skyen

Bruk mindre tid på å administrere en lokal database med en overføring til skyen, mens du fortsatt bruker de eksisterende verktøyene, driverne, bibliotekene og SDK-ene dine.

Kom i gang med NoSQL og databaseoverføring til skyen

Finn ut hvordan du utvikler appene dine med ny smidighet, fleksibilitet og skalerbarhet i å administrere databasesystemene dine og mangfoldige datatyper, i tillegg til en skydatabase-overføring for eksisterende NoSQL-arbeidsbelastninger. Få en teknisk oversikt av Azure Cosmos DB for utviklere og finn ut mer om støtte for NoSQL i en globalt distribuert, massivt skalerbar og multimodellbasert databasetjeneste.

Finn ut mer om Azure Cosmos DB for NoSQL-data

Mer informasjon