Uvod u NoSQL modele podataka
Prije nego što započnemo s podatkovnim modelima, prvo razumimo što znači NoSQL. NoSQL ne znači da je jedini SQL što znači da ćemo dohvatiti i pohraniti podatke iz nerelacijskih baza podataka. A sad da vidimo što je model podataka? Model podataka definira logičku strukturu DBMS-a. To u osnovi znači da nam govori kako su podaci povezani jedni s drugima, odnosi između različitih entiteta i kako se obrađuju. Tehnike modeliranja podataka različite su i za relacijske i za ne-relacijske baze podataka. Glavna razlika je što modeli podataka NoSQL imaju više upita vezanih uz aplikaciju u odnosu na SQL.
Sintaksa sa parametrima
Sintaksa za pisanje NoSQL upita dana je s primjerom. U ovom ćemo primjeru dohvatiti ime i starost svih zaposlenika koji su označeni kao menadžera.
(
"object": "employee",
"q": (
"designation" : " Manager"
),
"fields": ("name", "age") )
U gornjem primjeru koristili smo obrazac JSON za pisanje upita "objekt" ključna riječ koristi se za dodjelu naziva tablice, a ključna riječ "q" koristi se kao uvjet GDJE. U našem slučaju kada se uvjet mora primijeniti nad imenovanjem, jer želimo samo zaposlenike čije je imenovanje menadžer. Ključno "polje" su nazivi stupaca koje želimo dohvatiti na temelju stanja u "q". U našem slučaju stupci su ime i starost.
Gornji NoSQL upit ako se pretvori u SQL izgledat će dolje:
SELECT name, age
FROM employee
WHERE designation =' manager';
Najkraći upit koji možemo napisati je uobičajeni odabir upita u NoSQL-u je sljedeći:
(
"object": "String",
"q": "Expression"
)
Gornji upit je uobičajeni odabir upita.
Vrste NoSQL modela podataka
Sada naučimo o različitim vrstama NoSQL modela podataka.
Općenito, postoje četiri različite vrste podataka u NoSQL-u. Oni su kako slijedi i raspravljat ćemo o njima jedan po jedan.
- Trgovina ključeva i vrijednosti
- Trgovina na temelju dokumenata
- Trgovina na bazi stupaca
- Trgovina na bazi grafikona
A sada ćemo proći kroz njih jedan po jedan.
1. Trgovina ključ-vrijednost
- Kao što ime sugerira, trgovina Key-value jednostavno koristi ključnu vrijednost za pohranu podataka u bazu podataka. Ključ u paru ključ-vrijednost mora biti jedinstven. Pravila postavljena za koliko ključ može biti duljina veličine ključa ovisi od baze podataka do baze podataka. Na primjer, u Redisu, maksimalna veličina za Key je 512mb. Čak je i prazni niz važeći ključ.
- Ovdje je važna veličina ključa jer dugačak tipka može uzrokovati probleme s performansama, dok prekratak ključ može uzrokovati probleme čitljivosti. Vrijednost u paru ključ-vrijednost može biti bilo što, od Stringa do slike. Ovdje možete navesti i vrstu podataka vrijednosti.
- Model baze podataka ključ-vrijednost može biti koristan za pohranu podataka o e-trgovini kao što su kategorije proizvoda, detalji proizvoda itd. Oni se uveliko koriste u velikoj analizi podataka. Čak možemo pohraniti kompletne URL-ove, jer naziv URL-a može biti ključni, a stvarni URL kao vrijednost. Primjeri baza podataka koji primjenjuju parove Key-Value su Oracle NoSQL baze podataka i Redis.
2. Trgovina NoSQL zasnovana na dokumentima
- U ovoj vrsti baze podataka zapis i pridruženi podaci pohranjuju se u jednom dokumentu. Dakle, ovaj model nije potpuno nestrukturiran, ali je vrsta polustrukturiranih podataka.
- Razlika između para dokumenata i ključa vrijednosti je u tome što je u pohrani vrste dokumenta takva vrsta kodiranja za vrijeme pohrane podataka u dokumente, može biti XML kodiranje ili JSON kodiranje.
- Donji primjer prikazuje dokument koji se može pohraniti u bazu podataka dokumenata, ali s različitim kodiranjem. Pogledajmo primjer XML-a.
Srikanth Engineer
Febuary
Srikanth Engineer
Febuary
- Razlika između konvencionalnih baza podataka i baza podataka temeljenih na dokumentima je što se ovdje podaci ne pohranjuju u tablice poput uobičajenih baza podataka, već se pohranjuju u dokumentima.
- Primjeri baza podataka koji koriste gornji model podataka su MongoDB i Couchbase. Ove vrste baza podataka koriste se široko, posebno u analizi velikih podataka.
3. Trgovina na bazi stupaca
- U ovoj vrsti baze podataka fokus je na stupovima, a ne na redovima jer su podaci pohranjeni u stupcima umjesto redaka, što je slučaj s većinom relacijskih baza podataka. Budući da se podaci pohranjuju u ćelije grupirane u stupce, tako da se sve čitanje-pisanje vrši pomoću stupaca, a ne redaka.
- Zanimljivo je pitanje: zašto koristiti stupce, a ne redove? Odgovor na ovo pitanje je da kad pohranite podatke u stupce možete brzo pretražiti i brzo pronaći i objediniti jer on pohranjuje sve ćelije stupca kao kontinuirani unos što onda omogućava brži pristup.
- Primjerice, ako želimo pitati naslove iz milijuna članaka, lako ćemo doći do modela podataka temeljenog na stupcima, jer ćemo s jednim unosom diska lako dobiti naslove članka, dok u relacijskim bazama podataka moraju prijeći do svake lokacije kako biste dobili naslove. Primjeri baza podataka u trgovini na temelju stupca su HBase, Big Table, Cassandra.
4. Trgovina na temelju grafa
- Kao što ime sugerira, umjesto prikaza tablica ili stupaca koristi se grafički prikaz. Važna značajka ove vrste podataka je prisutnost čvorova i rubova. Na primjer, dva čvora povezana su s nekim odnosima, a odnos je ovdje predstavljen rubovima.
- Također, možete učinkovito transformirati podatke s jednog modela na drugi pomoću ovog grafičkog modela zasnovanog na NoSQL. Postoje dvije najčešće korištene baze podataka temeljene na grafovima, a to su InfoGrid i Infinite Graph. InfoGrid nudi i dvije vrste grafičkih baza podataka poput MeshBase i NetMeshbase koje korisnici mogu odabrati ovisi o potrebama korisnika.
Zaključak
U ovom smo članku razmotrili bazu podataka NoSQL i različite vrste NoSQL modela i pojedinačno razgovarali o tim modelima. Različite vrste baza podataka dostupne u svakoj vrsti podataka podataka. Popularnost NoSQL baze podataka raste sa svakim danom zbog njegove brzine i učinkovitosti.
Preporučeni članci
Ovo je vodič za NoSQL modele podataka. Ovdje ćemo raspravljati o Tipovima NoSQL podataka modela i sintaksu s parametrima i objašnjenjem. Možete i proći kroz naše druge predložene članke da biste saznali više -
- Prednosti NoSQL-a
- Je MongoDB NoSQL
- Što je tehnologija velikih podataka?
- Što je analiza podataka