Introduktion till NoSQL-datamodeller

Innan vi börjar med datamodeller, låt oss först förstå vad NoSQL betyder. NoSQL betyder inte den enda SQL som betyder att vi ska hämta och lagra data från icke-relationella databaser. Låt oss nu se vad datamodell är? En datamodell definierar den logiska strukturen för DBMS. Detta innebär i princip att det berättar hur data är kopplade till varandra, förhållanden mellan olika enheter och hur de behandlas. Datamodelleringstekniker är olika för både relationella och icke-relationella databaser. Den största skillnaden är att NoSQL-datamodeller har mer applikationsspecifika frågor jämfört med SQL.

Syntax med parametrar

Syntaxen för att skriva en NoSQL-fråga ges med ett exempel. I det här exemplet kommer vi att hämta namn och ålder på alla anställda med utnämning som chef.

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

I exemplet ovan har vi använt JSON-formuläret för att skriva ett fråga "objekt" nyckelord används för att tilldela ett tabellnamn, nyckelordet "q" används som VAR-tillstånd. I vårt fall där ett villkor måste tillämpas över beteckningen eftersom vi bara vill ha anställda vars utseende är chef. Nyckeln "fält" är namnen på kolumner som vi vill hämta utifrån villkoret i "q". I vårt fall är kolumnerna namn och ålder.

Ovanstående NoSQL-fråga om den konverteras till SQL ser ut som nedan:

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

Den kortaste frågan som vi kan skriva är en normal utvalda fråga i NoSQL är följande:

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

Ovanstående fråga är en normal utvalda fråga.

Typer av NoSQL-datamodeller

Låt oss nu lära oss om de olika typerna av NoSQL-datamodeller.

I allmänhet finns det fyra olika typer av datamodeller i NoSQL. De är som följer och vi kommer att diskutera dem en efter en.

  • Key-Value Store
  • Dokumentbaserad butik
  • Kolumnbaserad butik
  • Grafbaserad butik

Låt oss nu gå igenom dem en efter en.

1. Butik med nyckelvärde

  • Som namnet antyder använder nyckelvärdet helt enkelt nyckelvärdet för att lagra data i databasen. Nyckeln i nyckelvärdsparet måste vara unik. Reglerna för vilken nyckel kan vara längden för storleken på nyckeln beror på databasen till databasen. Till exempel i Redis är den maximala storleken för Key 512 MB. Även den tomma strängen är en giltig nyckel.
  • Storleken på nyckeln är viktig här eftersom en lång nyckel kan orsaka prestandaproblem medan för kort nyckel kan orsaka läsbarhetsproblem. Värdet i nyckelvärdsparet kan vara allt från en sträng till en bild. Du kan också ange datatypen för värdet här.
  • Nyckelvärdesdatabasmodellen kan vara användbar för att lagra data på e-handel som produktkategorier, produktinformation etc. Dessa används i stor utsträckning i big data-analys. Vi kan till och med lagra kompletta URL: er eftersom URL-namnet kan vara nyckeln och den faktiska URL: en som värde. Exempel på databaser som använder Key-Value-par är Oracle NoSQL-databas och Redis.

2. Dokumentbaserad butik NoSQL

  • I den här typen av databaser lagras posten och dess tillhörande data i ett enda dokument. Så den här modellen är inte helt ostrukturerad men den är en slags semistrukturerad data.
  • Skillnaden mellan ett dokument och ett nyckelvärdespar är att i lagring av dokumenttyp är att i denna typ tillhandahålls någon form av kodning när data lagras i dokument, det kan vara XML-kodning eller JSON-kodning.
  • Exemplet nedan visar ett dokument som kan lagras i en dokumentdatabas men med en annan kodning. Låt oss titta på XML-exemplet.


Srikanth Engineer
Febuary

Srikanth Engineer
Febuary

  • Skillnaden mellan konventionella databaser och dokumentbaserade databaser är att data här inte lagras i tabeller som konventionella databaser utan lagras i dokument.
  • Exemplen på databaser som använder ovanstående datamodell är MongoDB och Couchbase. Dessa typer av databaser används i stor utsträckning, särskilt i big data-analys.

3. Kolumnbaserad butik

  • I den här typen av databaser är fokus på kolumner snarare än rader eftersom data lagras i kolumner istället för rader vilket är fallet med de flesta relationsdatabaser. Eftersom data lagras i celler grupperade i kolumner görs all lässkrivning med hjälp av kolumner, inte rader.
  • Den intressanta frågan uppstår är att varför använda kolumner snarare än rader? Svaret på den här frågan är att när du lagrar data i kolumner kan du göra en snabb sökning och snabb hämtning och aggregering eftersom den lagrar alla celler i en kolumn som en kontinuerlig post som sedan ger snabbare åtkomst.
  • Som ett exempel, om vi vill fråga titlar från miljoner artiklar, kommer det att vara lätt att komma in i den kolumnbaserade datamodellen, eftersom vi med en diskpost enkelt får titlarna på artikeln medan det i relationella databaser måste komma över till varje plats för att få titlarna. Exempel på kolumnbaserade butiksdatabaser är HBase, Big Table, Cassandra.

4. Grafbaserad butik

  • Som namnet antyder används grafisk representation istället för tabeller eller kolumner. Det viktiga med denna typ av datamodell är närvaron av noder och kanter. De två noderna är till exempel kopplade till vissa relationer och förhållandet här representeras av kanter.
  • Du kan också effektivt transformera data från en modell till en annan med hjälp av denna grafbaserade NoSQL-datamodell. Det finns två vanligt använda grafbaserade databaser som är InfoGrid och Infinite Graph. InfoGrid erbjuder också två typer av grafidatabaser som MeshBase och NetMeshbase som användare kan välja beror på användarens krav.

Slutsats

I den här artikeln har vi diskuterat NoSQL-databasen och olika typer av NoSQL-modeller och diskuterat dessa modeller individuellt. Olika typer av databaser tillgängliga i varje typ av datamodell. NoSQL databas popularitet växer med varje dag som går på grund av dess hastighet och effektivitet.

Rekommenderade artiklar

Detta är en guide till NoSQL-datamodeller. Här diskuterar vi typer av NoSQL-datamodeller och syntaxen med parametrar och förklaring. Du kan också gå igenom våra andra artiklar som föreslås för att lära dig mer–

  1. Fördelar med NoSQL
  2. Är MongoDB NoSQL
  3. Vad är Big Data Technology?
  4. Vad är Data Analytics