Introduksjon til NoSQL-datamodeller

Før vi begynner med datamodeller, la oss først forstå hva NoSQL betyr. NoSQL betyr ikke den eneste SQL som betyr at vi kommer til å hente og lagre data fra ikke-relasjonelle databaser. La oss se hva datamodell er? En datamodell definerer den logiske strukturen til DBMS. Dette betyr i utgangspunktet at det forteller oss hvordan data er koblet til hverandre, relasjoner mellom ulike enheter og hvordan de behandles. Datamodelleringsteknikker er forskjellige for både relasjonelle og ikke-relasjonelle databaser. Hovedforskjellen er at NoSQL-datamodeller har mer applikasjonsspesifikke spørsmål sammenlignet med SQL.

Syntaks med parametere

Syntaksen for å skrive en NoSQL-spørring er gitt med et eksempel. I dette eksemplet skal vi hente navn og alder på alle ansatte med utpegning som leder.

(
"object": "employee",
"q": (
"designation" : " Manager"
),
"fields": ("name", "age") )

I eksemplet over har vi brukt JSON-skjemaet til å skrive et spørring "objekt" nøkkelord brukes til å tilordne et tabellnavn, søkeordet "q" brukes som en WHERE-tilstand. I vårt tilfelle hvor en betingelse må brukes over betegnelsen, da vi bare ønsker ansatte som utpeker som leder. Nøkkelen "felt" er navnene på kolonner vi ønsker å hente basert på tilstanden i "q". I vårt tilfelle er kolonnene navn og alder.

Ovennevnte NoSQL-spørring hvis konvertert til SQL vil se slik ut:

SELECT name, age
FROM employee
WHERE designation =' manager';

Den korteste spørringen som vi kan skrive er et normalt valgt spørsmål i NoSQL er som følger:

(
"object": "String",
"q": "Expression"
)

Ovennevnte spørring er et vanlig valgt søk.

Typer NoSQL-datamodeller

La oss nå lære om de forskjellige typene NoSQL-datamodeller.

Generelt er det fire forskjellige typer datamodeller i NoSQL. De er som følger, og vi vil diskutere dem en etter en.

  • Key-Value Store
  • Dokumentbasert butikk
  • Kolonnebasert butikk
  • Grafikkbasert butikk

La oss nå gå gjennom dem en etter en.

1. Butikk med nøkkelverdi

  • Som navnet antyder bruker nøkkelverdi-butikken ganske enkelt nøkkelverdi til å lagre data i databasen. Nøkkelen i nøkkelverdiparet må være unik. Reglene som er satt for hva nøkkelen kan være lengden for størrelsen på nøkkelen avhenger av databasen til databasen. For eksempel i Redis er maksimal størrelse for Key 512 MB. Til og med den tomme strengen er en gyldig nøkkel.
  • Størrelsen på nøkkelen er viktig her, da en lang nøkkel kan føre til ytelsesproblemer, mens en for kort nøkkel kan forårsake problemer med lesbarhet. Verdien i nøkkelverdiparet kan være alt fra en streng til et bilde. Du kan også spesifisere datatypen til verdien her.
  • Nøkkelverksdatabasemodellen kan være nyttig for lagring av data på netthandel som produktkategorier, produktdetaljer, etc. Disse brukes mye i big data-analyse. Vi kan til og med lagre komplette nettadresser, siden URL-navnet kan være nøkkelen og den faktiske URL-en som verdi. Eksempler på databaser som bruker Key-Value-par er Oracle NoSQL-database og Redis.

2. Dokumentbasert butikk NoSQL

  • I denne typen databaser lagres posten og tilhørende data i et enkelt dokument. Så denne modellen er ikke helt ustrukturert, men den er en slags semistrukturerte data.
  • Forskjellen mellom et dokument og et nøkkelverdipar er at i lagring av dokumenttype er det at i denne typen er det gitt en slags koding mens du lagrer dataene i dokumenter, det kan være XML-koding eller JSON-koding.
  • Eksemplet nedenfor viser et dokument som kan lagres i en dokumentdatabase, men med en annen koding. La oss se på XML-eksemplet.


Srikanth Engineer
Febuary

Srikanth Engineer
Febuary

  • Forskjellen mellom konvensjonelle databaser og dokumentbaserte databaser er at data her ikke lagres i tabeller som konvensjonelle databaser, men lagres i dokumenter.
  • Eksemplene på databaser som bruker ovennevnte datamodell er MongoDB og Couchbase. Disse typer databaser brukes mye, spesielt i big data-analyse.

3. Kolonnebasert butikk

  • I denne typen databaser er fokuset på kolonner fremfor rader, da data lagres i kolonner i stedet for rader, noe som er tilfellet med de fleste relasjonsdatabaser. Siden data lagres i celler som er gruppert i kolonner, blir all lesing skrevet med kolonner, ikke rader.
  • Det interessante spørsmålet oppstår er at hvorfor bruke kolonner i stedet for rader? Svaret på dette spørsmålet er at når du lagrer data i kolonner, kan du gjøre et raskt søk og raskt gjenfinning og aggregering fordi det lagrer alle cellene i en kolonne som en kontinuerlig oppføring som deretter gir raskere tilgang.
  • For eksempel, hvis vi ønsker å spørre om titler fra millioner artikler, vil det være enkelt å få i den kolonnebaserte datamodellen, som med en diskoppføring vil vi enkelt få titlene på artikkelen, mens det i relasjonsdatabaser må komme over til hvert sted for å få titlene. Eksempler på kolonnebaserte butikkdatabaser er HBase, Big Table, Cassandra.

4. Grafikkbasert butikk

  • Som navnet antyder, brukes grafisk representasjon i stedet for tabeller eller kolonner. Den viktige egenskapen til denne typen datamodeller er tilstedeværelsen av noder og kanter. De to nodene er for eksempel knyttet til noen relasjoner, og forholdet her er representert ved kanter.
  • Du kan også effektivt transformere data fra en modell til en annen ved hjelp av denne grafbaserte NoSQL-datamodellen. Det er to ofte brukte grafbaserte databaser som er InfoGrid og Infinite Graph. InfoGrid tilbyr også to typer grafiske databaser som MeshBase og NetMeshbase som brukere kan velge, avhengig av brukerens krav.

Konklusjon

I denne artikkelen har vi diskutert NoSQL-databasen og forskjellige typer NoSQL-modeller og diskutert disse modellene individuelt. De forskjellige typene databaser som er tilgjengelige i hver type datamodell. NoSQL-databasens popularitet vokser med hver dag som går, på grunn av hastighet og effektivitet.

Anbefalte artikler

Dette er en guide til NoSQL-datamodeller. Her diskuterer vi typer NoSQL-datamodeller og syntaks med parametere og forklaring. Du kan også gå gjennom de andre foreslåtte artiklene våre for å lære mer–

  1. Fordeler med NoSQL
  2. Er MongoDB NoSQL
  3. Hva er Big Data Technology?
  4. Hva er Data Analytics