Úvod do datových modelů NoSQL
Než začneme s datovými modely, nejprve pochopíme, co znamená NoSQL. NoSQL neznamená jediný SQL, což znamená, že budeme načítat a ukládat data z nerelačních databází. Nyní se podívejme, jaký datový model je? Datový model definuje logickou strukturu DBMS. To v podstatě znamená, že nám říká, jak jsou data vzájemně propojena, vztahy mezi různými entitami a jak jsou zpracovávána. Techniky modelování dat se liší jak pro relační, tak pro nerelační databáze. Hlavním rozdílem je, že datové modely NoSQL mají oproti aplikaci SQL více dotazů specifických pro aplikaci.
Syntaxe s parametry
Syntaxe pro psaní dotazu NoSQL je uvedena s příkladem. V tomto příkladu se chystáme načíst jméno a věk všech zaměstnanců s označením manažer.
(
"object": "employee",
"q": (
"designation" : " Manager"
),
"fields": ("name", "age") )
Ve výše uvedeném příkladu jsme použili formulář JSON k napsání dotazu „object“ klíčové slovo se používá k přiřazení názvu tabulky, klíčové slovo „q“ se používá jako podmínka WHERE. V našem případě platí, že pokud se na označení použije podmínka, protože chceme pouze zaměstnance, jejichž jmenování je vedoucí. Klíčem „pole“ jsou názvy sloupců, které chceme načíst na základě podmínky v „q“. V našem případě jsou sloupce jméno a věk.
Výše uvedený dotaz NoSQL, pokud je převeden na SQL, bude vypadat takto:
SELECT name, age
FROM employee
WHERE designation =' manager';
Nejkratší dotaz, který můžeme napsat, je normální výběrový dotaz v NoSQL:
(
"object": "String",
"q": "Expression"
)
Výše uvedený dotaz je normální výběrový dotaz.
Typy datových modelů NoSQL
Nyní se dozvíme o různých typech datových modelů NoSQL.
Obecně existují v NoSQL čtyři různé typy datových modelů. Jsou to následující a budeme o nich diskutovat jeden po druhém.
- Obchod klíč-hodnota
- Obchod založený na dokumentech
- Ukládat na sloupec
- Grafický obchod
Nyní jimi projdeme jeden po druhém.
1. Uložit klíč-hodnota
- Jak název napovídá, klíč-hodnota úložiště jednoduše používá hodnotu klíče k ukládání dat do databáze. Klíč v páru klíč-hodnota musí být jedinečný. Pravidla nastavená pro to, co může být délka klíče pro velikost klíče, závisí na databázi v databázi. Například v Redis je maximální velikost klíče 512mb. Platný klíč je i prázdný řetězec.
- Velikost klíče je zde důležitá, protože dlouhý klíč může způsobit problém s výkonem, zatímco příliš krátký klíč může způsobit problém se čtením. Hodnota v páru klíč-hodnota může být cokoli od řetězce k obrázku. Zde můžete také zadat datový typ hodnoty.
- Databázový model s klíčovou hodnotou může být užitečný pro ukládání dat o elektronickém obchodu, jako jsou kategorie produktů, podrobnosti o produktu atd. Ty se široce používají v analytice velkých dat. Můžeme dokonce ukládat kompletní adresy URL, protože název URL může být klíč a skutečná adresa URL jako hodnota. Příklady databází využívajících páry klíč - hodnota jsou databáze Oracle NoSQL a Redis.
2. Dokumentový obchod NoSQL
- V tomto typu databáze se záznam a související data ukládají do jednoho dokumentu. Tento model tedy není zcela nestrukturovaný, ale je to druh polostrukturovaných dat.
- Rozdíl mezi párem hodnot dokumentu a klíče je v tom, že v úložišti typu dokumentu je v tomto typu poskytováno nějaké kódování při ukládání dat v dokumentech, může to být kódování XML nebo JSON.
- Níže uvedený příklad ukazuje dokument, který lze uložit do databáze dokumentů, ale s odlišným kódováním. Podívejme se na příklad XML.
Srikanth Engineer
Febuary
Srikanth Engineer
Febuary
- Rozdíl mezi konvenčními databázemi a databázemi založenými na dokumentech spočívá v tom, že data zde nejsou uložena v tabulkách jako běžné databáze, ale jsou uložena v dokumentech.
- Příklady databází využívajících výše uvedený datový model jsou MongoDB a Couchbase. Tyto typy databází se hojně používají zejména při analýze velkých dat.
3. Sloupcový obchod
- V tomto typu databáze je kladen důraz spíše na sloupce než na řádky, protože data jsou ukládána do sloupců místo do řádků, což je případ většiny relačních databází. Protože data jsou uložena v buňkách seskupených do sloupců, takže veškeré čtení a zápis se provádí pomocí sloupců, nikoli řádků.
- Zajímavou otázkou je, proč používat spíše sloupce než řádky? Odpověď na tuto otázku je, že když ukládáte data do sloupců, můžete provádět rychlé vyhledávání a rychlé vyhledávání a agregaci, protože ukládá všechny buňky sloupce jako nepřetržitý záznam, který umožňuje rychlejší přístup.
- Jako příklad, pokud chceme dotazovat tituly z milionů článků, bude snadné se dostat do datového modelu založeného na sloupcích, protože s jednou položkou na disku dostaneme tituly článku snadno, zatímco v relačních databázích se musí překonat na každé místo a získejte tituly. Příklady databází úložiště založených na sloupcích jsou HBase, Big Table, Cassandra.
4. Grafický obchod
- Jak název napovídá, místo grafů nebo sloupců se používá grafické znázornění. Důležitou vlastností tohoto typu datového modelu je přítomnost uzlů a hran. Například dva uzly jsou spojeny s některými vztahy a vztah je zde reprezentován hranami.
- Pomocí tohoto datového modelu NoSQL založeného na grafech můžete také efektivně transformovat data z jednoho modelu do druhého. Existují dvě běžně používané databáze založené na grafech, které jsou InfoGrid a Infinite Graph. InfoGrid také nabízí dva druhy grafových databází, jako jsou MeshBase a NetMeshbase, které si uživatelé mohou vybrat, záleží na požadavcích uživatele.
Závěr
V tomto článku jsme diskutovali databázi NoSQL a různé typy modelů NoSQL a diskutovali o nich samostatně. Různé typy databází dostupných v každém typu datového modelu. Popularita databáze NoSQL roste s každým dalším dnem kvůli její rychlosti a efektivitě.
Doporučené články
Toto je průvodce datovými modely NoSQL. Zde diskutujeme typy datových modelů NoSQL a syntaxi s parametry a vysvětlením. Další informace naleznete také v dalších navrhovaných článcích -
- Výhody NoSQL
- Je MongoDB NoSQL
- Co je technologie velkých dat?
- Co je to Data Analytics