Introduktion til NoSQL-datamodeller

Før vi begynder med datamodeller, skal vi først forstå, hvad NoSQL betyder. NoSQL betyder ikke den eneste SQL, hvilket betyder, at vi vil hente og gemme data fra ikke-relationelle databaser. Lad os nu se, hvad datamodel er? En datamodel definerer den logiske struktur af DBMS. Dette betyder dybest set, at det fortæller os, hvordan data er forbundet med hinanden, forhold mellem forskellige enheder og hvordan de behandles. Datamodelleringsteknikker er forskellige for både relationelle og ikke-relationelle databaser. Den største forskel er NoSQL-datamodeller har mere applikationsspecifikke forespørgsler sammenlignet med SQL.

Syntaks med parametre

Syntaks til skrivning af en NoSQL-forespørgsel gives med et eksempel. I dette eksempel henter vi navn og alder på alle medarbejdere med udpegning som Manager.

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

I ovenstående eksempel har vi brugt JSON-formularen til at skrive et forespørgsel “objekt” nøgleord bruges til at tildele et tabelnavn, nøgleordet “q” bruges som en WHERE betingelse. I vores tilfælde, hvor en betingelse skal anvendes over betegnelsen, da vi kun ønsker medarbejdere, hvis udpegning er manager. Nøglen "felt" er navnene på kolonner, vi ønsker at hente, baseret på betingelsen i "q". I vores tilfælde er kolonnerne navn og alder.

Ovenstående NoSQL-forespørgsel, hvis den konverteres til SQL, ser ud som nedenfor:

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

Den korteste forespørgsel, som vi kan skrive, er en normal valgt forespørgsel i NoSQL er som følger:

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

Ovenstående forespørgsel er en normal forespørgsel.

Typer af NoSQL-datamodeller

Lad os nu lære om de forskellige typer NoSQL-datamodeller.

Generelt er der fire forskellige typer datamodeller i NoSQL. De er som følger, og vi vil diskutere dem en efter en.

  • Key-Value Store
  • Dokumentbaseret butik
  • Kolonnebaseret butik
  • Grafisk baseret butik

Lad os nu gennemgå dem en efter en.

1. Gem nøgleværdi

  • Som navnet antyder, bruger nøgleværdierne simpelthen nøgleværdien til at gemme data i databasen. Nøglen i nøgleværdiparret skal være unik. Reglerne for, hvad nøglen kan være længden for nøglens størrelse, afhænger af databasen til databasen. For eksempel i Redis er den maksimale størrelse for Key 512mb. Selv den tomme streng er en gyldig nøgle.
  • Størrelsen på nøglen er vigtig her, da en lang nøgle kan forårsage ydelsesproblemer, mens en for kort nøgle kan forårsage problemer med læsbarheden. Værdien i nøgleværdiparret kan være alt fra en streng til et billede. Du kan også specificere datatypen for værdien her.
  • Nøgleværdidatabasismodellen kan være nyttig til lagring af data på e-handel som produktkategorier, produktdetaljer osv. Disse bruges i vid udstrækning i big data-analyse. Vi kan endda gemme komplette webadresser, da URL-navnet kan være nøglen og den faktiske URL som værdi. Eksempler på databaser, der anvender Key-Value-par, er Oracle NoSQL-database og Redis.

2. Dokumentbaseret butik NoSQL

  • I denne type database gemmes posten og dens tilknyttede data i et enkelt dokument. Så denne model er ikke helt ustruktureret, men det er en slags semistrukturerede data.
  • Forskellen mellem et dokument og nøgleværdipar er, at der i lagring af dokumenttype er, at der i denne type findes en slags kodning, mens dataene lagres i dokumenter, det kan være XML-kodning eller JSON-kodning.
  • Nedenstående eksempel viser et dokument, der kan gemmes i en dokumentdatabase, men med en anden kodning. Lad os se på XML-eksemplet.


Srikanth Engineer
Febuary

Srikanth Engineer
Febuary

  • Forskellen mellem konventionelle databaser og dokumentbaserede databaser er, at data her ikke gemmes i tabeller som konventionelle databaser, men gemmes i dokumenter.
  • Eksemplerne på databaser, der bruger ovennævnte datamodel, er MongoDB og Couchbase. Disse typer databaser bruges vidt, især i big data-analyse.

3. Kolonnebaseret butik

  • I denne type database er fokus på kolonner snarere end rækker, da data gemmes i kolonner i stedet for rækker, hvilket er tilfældet med de fleste relationelle databaser. Da data gemmes i celler, der er grupperet i kolonner, udføres al læsning ved hjælp af kolonner, ikke rækker.
  • Det interessante spørgsmål opstår er, at hvorfor bruge kolonner snarere end rækker? Svaret på dette spørgsmål er, at når du gemmer data i kolonner, kan du foretage en hurtig søgning og hurtig hentning og samling, fordi den gemmer alle celler i en kolonne som en kontinuerlig post, som derefter giver hurtigere adgang.
  • Som et eksempel, hvis vi ønsker at forespørge titler fra millioner artikler, vil det være let at komme i den kolonnebaserede datamodel, da vi med én diskindgang let får titlerne på artiklen, mens det i relationelle databaser er nødt til at komme over til hvert sted for at få titlerne. Eksempler på kolonnebaserede butiksdatabaser er HBase, Big Table, Cassandra.

4. Grafisk baseret butik

  • Som navnet antyder bruges grafisk repræsentation i stedet for tabeller eller kolonner repræsentation. Den vigtige egenskab ved denne type datamodel er tilstedeværelsen af ​​knudepunkter og kanter. De to noder er for eksempel forbundet med nogle forhold, og forholdet her er repræsenteret ved kanter.
  • Du kan også effektivt transformere data fra en model til en anden ved hjælp af denne grafbaserede NoSQL-datamodel. Der er to almindeligt anvendte grafikbaserede databaser, som er InfoGrid og Infinite Graph. InfoGrid tilbyder også to typer grafdatabaser som MeshBase og NetMeshbase, som brugerne kan vælge, afhænger af brugerens krav.

Konklusion

I denne artikel har vi drøftet NoSQL-databasen og forskellige typer NoSQL-modeller og diskuteret disse modeller individuelt. De forskellige typer databaser, der er tilgængelige i hver type datamodel. NoSQL-databases popularitet vokser med hver dag, der går, på grund af dens hastighed og effektivitet.

Anbefalede artikler

Dette er en guide til NoSQL-datamodeller. Her diskuterer vi typer af NoSQL-datamodeller og syntaks med parametre og forklaring. Du kan også gennemgå vores andre foreslåede artikler for at lære mere–

  1. Fordele ved NoSQL
  2. Er MongoDB NoSQL
  3. Hvad er Big Data Technology?
  4. Hvad er Data Analytics