Sissejuhatus NoSQL-i andmemudelitesse

Enne kui alustame andmemudelitega, saame kõigepealt aru, mida NoSQL tähendab. NoSQL ei ole ainus SQL, mis tähendab, et hakkame andmeid mitte-relatsioonilistest andmebaasidest hankima ja talletama. Vaatame nüüd, milline andmemudel on? Andmemudel määratleb DBMS-i loogilise struktuuri. Põhimõtteliselt tähendab see, et see räägib meile, kuidas andmed on üksteisega ühendatud, suhetest erinevate olemite vahel ja kuidas neid töödeldakse. Andmete modelleerimise tehnikad on erinevad nii relatsiooniliste kui ka mitterelatsiooniliste andmebaaside puhul. Peamine erinevus on selles, et NoSQL-i andmemudelitel on SQL-iga võrreldes rohkem rakendusespetsiifilisi päringuid.

Süntaks parameetritega

NoSQL päringu kirjutamise süntaks on toodud näitega. Selles näites toome välja kõigi töötajate nime ja vanuse, kes on määratud juhatajaks.

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

Ülaltoodud näites oleme JSON-i vormi kasutades päringu “objekt” märksõna kirjutamiseks tabeli nime määramiseks kasutanud märksõna, WH-i tingimusena kasutatakse märksõna “q”. Meie puhul on juhuks, kui määramisel tuleb kohaldada tingimust, kuna soovime ainult töötajaid, kelle määrajaks on juht. Võti „väli” on veergude nimed, mida me tahame taastada, lähtudes „q” tingimusest. Meie puhul on veergudeks nimi ja vanus.

Ülaltoodud NoSQL-i päring SQL-i teisendamisel näeb välja järgmine:

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

Lühim päring, mille saame kirjutada, on NoSQL-is tavaline valikupäring:

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

Ülaltoodud päring on tavaline valitud päring.

NoSQL-i andmemudelite tüübid

Nüüd õpime tundma erinevat tüüpi NoSQL-i andmemudeleid.

Üldiselt on NoSQL-is neli erinevat tüüpi andmemudelit. Need on järgmised ja arutame neid ükshaaval.

  • Võtmeväärtuste pood
  • Dokumendipõhine pood
  • Kolonnipõhine pood
  • Graafikupõhine pood

Nüüd lähme neist ükshaaval läbi.

1. Võtmeväärtusega pood

  • Nagu nimigi viitab, kasutab võtmeväärtuse kauplus võtme väärtust andmebaasi andmete salvestamiseks. Võtme ja väärtuse paari võti peab olema kordumatu. Reeglid, mis määravad selle, milline võti võib olla, võtme suuruse pikkus sõltub andmebaasist andmebaasi. Näiteks rakenduses Redis on Key maksimaalne suurus 512 MB. Isegi tühi string on kehtiv võti.
  • Siin on oluline võtme suurus, kuna pikk võti võib põhjustada jõudlusprobleeme, samas kui liiga lühike võti võib põhjustada loetavusprobleeme. Väärtuse paari väärtus võib olla ükskõik milline alates stringist kuni pildini. Siin saate määratleda ka väärtuse andmetüübi.
  • Väärtusandmebaasi mudel võib olla kasulik poodide andmete säilitamiseks, näiteks tootekategooriad, toote üksikasjad jne. Neid kasutatakse laialdaselt suurandmete analüüsis. Saame isegi täielikke URL-e salvestada, kuna URL-i nimi võib olla võti ja tegelik URL väärtus. Võtmeväärtuse paare rakendavate andmebaaside näideteks on Oracle NoSQL andmebaas ja Redis.

2. Dokumendipõhine pood NoSQL

  • Seda tüüpi andmebaasis salvestatakse kirje ja sellega seotud andmed ühes dokumendis. Nii et see mudel ei ole täielikult struktureerimata, kuid see on omamoodi poolstruktureeritud teave.
  • Erinevus dokumendi ja võtme väärtuspaari vahel on see, et dokumenditüübi salvestus seisneb selles, et seda tüüpi dokumentide andmete salvestamisel pakutakse mingisugust kodeeringut. See võib olla XML- või JSON-kodeering.
  • Allpool toodud näide näitab dokumenti, mida saab dokumentide andmebaasis salvestada, kuid erineva kodeeringuga. Vaatame XML-i näidet.


Srikanth Engineer
Febuary

Srikanth Engineer
Febuary

  • Erinevus tavapäraste andmebaaside ja dokumendipõhiste andmebaaside vahel on see, et siin ei salvestata andmeid tabelites nagu tavalised andmebaasid, vaid neid hoitakse dokumentides.
  • Ülaltoodud andmemudelit kasutavate andmebaaside näited on MongoDB ja Couchbase. Seda tüüpi andmebaase kasutatakse laialdaselt, eriti suurandmete analüüsimisel.

3. Veerupõhine pood

  • Seda tüüpi andmebaasis keskendutakse veergudele, mitte ridadele, kuna andmeid hoitakse ridade asemel veergudes, nagu enamiku relatsiooniliste andmebaaside puhul. Kuna andmeid hoitakse veergudesse grupeeritud lahtrites, tehakse kogu lugemine-kirjutamine veergude, mitte ridade abil.
  • Tekib huvitav küsimus, miks kasutada veerge, mitte ridu? Vastus sellele küsimusele on see, et kui salvestate andmeid veergudesse, saate teha kiire otsingu ning kiire otsingu ja koondamise, kuna see salvestab kõik veeru lahtrid pideva kirjena, mis võimaldab siis kiiremat juurdepääsu.
  • Näitena, kui tahame miljonite artiklite pealkirjade kohta päringuid teha, on veerupõhises andmemudelis lihtne saada, kuna ühe ketta sisestusega saame artikli pealkirjad hõlpsalt, samas kui relatsiooniandmebaasides tuleb sellest üle saada igas asukohas pealkirjade saamiseks. Veerupõhiste kaupluste andmebaaside näideteks on HBase, Big Table, Cassandra.

4. Graafikupõhine pood

  • Nagu nimigi ütleb, kasutatakse tabelite või veergude esitamise asemel graafilist esitust. Seda tüüpi andmemudeli oluliseks tunnuseks on sõlmede ja servade olemasolu. Näiteks on need kaks sõlme ühendatud mingite suhetega ja siin on suhe esindatud servadega.
  • Samuti saate selle graafikupõhise NoSQL-i andmemudeli abil andmeid tõhusalt teisendada ühest mudelist teise. Graafikupõhiseid andmebaase on kaks, need on InfoGrid ja Infinite Graph. InfoGrid pakub ka kahte tüüpi graafiaandmebaase, näiteks MeshBase ja NetMeshbase, mida kasutajad saavad valida vastavalt kasutaja vajadustele.

Järeldus

Selles artiklis oleme arutanud NoSQL andmebaasi ja erinevat tüüpi NoSQL mudeleid ning arutanud neid mudeleid eraldi. Igat tüüpi andmemudelis on saadaval erinevat tüüpi andmebaasid. NoSQL andmebaasi populaarsus kasvab iga päevaga kiiruse ja tõhususe tõttu.

Soovitatavad artiklid

See on NoSQL-i andmemudelite juhend. Siin käsitleme NoSQL-i andmemudelite tüüpe ja süntaksit koos parameetrite ja selgitustega. Lisateavet leiate ka meie muudest soovitatud artiklitest -

  1. NoSQL eelised
  2. Kas MongoDB NoSQL
  3. Mis on suurandmete tehnoloogia?
  4. Mis on andmeanalüüs