Čo je databáza NoSQL?

NoSQL znamená nielen SQL, ale poskytuje aj spôsob ukladania a získavania údajov, ktoré sú uložené v tabuľkovom formáte ako v relačných databázach. Je doplnkom k SQL a relačným databázam. Jedná sa o flexibilné systémy správy databáz, ktoré poskytujú spôsob ukladania a spracovania štruktúrovaných aj čiastočne štruktúrovaných údajov, ktoré nástroje RDBMS nedokážu spracovať.

Definícia databázy NoSQL

Databáza NoSQL sa používa pri práci s veľkými množinami distribuovaných údajov. Používajú sa vo webových aplikáciách v reálnom čase a ich používanie s časom narastá. Databáza NoSQL má jednoduchý dizajn, jemnú kontrolu nad dostupnosťou a jednoduché horizontálne škálovanie do klastrov strojov. Prevádzka NoSQL je rýchlejšia ako relačná databáza kvôli použitiu rôznych dátových štruktúr. Typ problému je rozhodujúcim faktorom vhodnosti databázy NoSQL. Dátové štruktúry používané v databázach NoSQL sú flexibilnejšie ako tabuľky používané v relačných databázach. Dostupnosť, tolerancia oddielu a rýchlosť sú v mnohých obchodoch NoSQL viac preferované ako konzistentnosť. Väčšina obchodov NoSQL nerešpektuje vlastnosti transakcií ACID (atómová sila, konzistentnosť, izolácia, trvanlivosť) transakcií, ale niektoré databázy ako Aerospike, Google Spanner, MarkLogic, OrientDB a Symas LMDB urobili tieto vlastnosti ako centrum svojich návrhov.

Rozdiel medzi databázou SQL a databázou NoSQL

S.NODatabáza SQLDatabáza NoSQL
1Rovnaký typ s menším počtom variáciíK dispozícii sú rôzne typy, ako sú databázy dokumentov, obchody s kľúčovými hodnotami, databázy grafov a obchody so širokými stĺpcami.
2Boli vyvinuté v sedemdesiatych rokoch na spracovanie aplikácií na ukladanie údajov.Boli vyvinuté v 21. storočí s cieľom prekonať obmedzenia databáz SQL, ako sú viac štruktúrované údaje, agilné vývojové šprinty a škálovateľnosť.
3Dáta sú uložené v tabuľkovom formáte.Ukladanie údajov sa líši v závislosti od typu databázy.
4Typy údajov a štruktúra sú vopred stanovené. Ak chcete pridať novú údajovú položku, je potrebné zmeniť celú databázu.Dynamické úložisko. Rôzne údaje sa môžu ukladať spolu, čo nie je prípad databáz SQL.
5Vertikálna škálovateľnosť.Horizontálna škálovateľnosť.
6Ako vývojový model sa používajú otvorené technológie a databázy uzavretých zdrojov.Používajú sa iba otvorené technológie.
7Podporuje transakcie ACID s viacerými záznamami.Väčšinou ich nepodporuje.
8Manipulácia s údajmi sa vykonáva pomocou špecifického jazyka manipulácie s údajmi.Manipulácia s údajmi sa vykonáva pomocou objektovo orientovaných rozhraní API
9Silná konzistenciaNiektoré produkty poskytujú silné, zatiaľ čo iné poskytujú možnú konzistenciu.
10Rýchlosť údajov je miernaRýchlosť údajov je veľmi vysoká.
11Vhodný pre štruktúrované údajeVhodný pre štruktúrované, pološtrukturované aj neštruktúrované údaje.
12Príkladmi sú MySQL, Oracle Database, PostgresPríkladmi sú MongoDB, HBase, Cassandra, Neo4j

Funkcie NoSQL

Nižšie sú uvedené niektoré dôležité vlastnosti NoSQL, ktoré sú nasledujúce:

Dynamické schémy

Databázy NoSQL umožňujú vkladanie údajov bez preddefinovanej schémy. Zmeny aplikácií v reálnom čase je možné ľahko vykonávať bez toho, aby ste sa museli obávať prerušenia služby. Vďaka tomu je správca databázy rýchlejší, spoľahlivejší a menej časovo náročný.

Auto-sharding

Horizontálne škálovanie sa vykonáva v databáze NoSQL, tj namiesto zvyšovania kapacity jedného servera sa pridávajú servery. Databázy NoSQL poskytujú funkciu automatického orezávania, tj automaticky rozširujú údaje na rôzne počty serverov. Aplikácia nemusí poznať zloženie serverovej oblasti. Zaťaženie údajov a dopytov je medzi servermi automaticky vyvážené. Ak niektorý server zlyhá, je vymenený rýchlo a transparentne bez narušenia aplikácie.

replikácie

Databáza NoSQL umožňuje automatickú replikáciu databázy. Robí sa to kvôli zachovaniu dostupnosti v prípade výpadkov. Niektoré sofistikované databázy NoSQL poskytujú automatickú obnovu a sú úplne samoliečivé. Aby bolo možné lokalizovať údaje a odolávať regionálnym zlyhaniam, môže distribuovať databázu do viacerých geografických regiónov. NoSQL nevyžaduje samostatnú aplikáciu na implementáciu replikácie.

Integrované ukladanie do vyrovnávacej pamäte

Databázy NoSQL majú integrovanú schopnosť ukladania do pamäte cache, tj uchovávajú často používané údaje v systémovej pamäti a odstraňujú potrebu samostatnej vrstvy ukladania do pamäte cache.

Jednoduché API

NoSQL ponúka rozhrania, ktoré sa ľahko používajú na ukladanie a dopytovanie údajov. Rozhrania API umožňujú výberové metódy a manipuláciu s údajmi na nízkej úrovni. Nepoužíva štandardný dotazovací jazyk.

Prečo by sme mali používať databázu NoSQL?

  • Analytics: Databáza NoSQL je vhodná na vykonávanie analytických dopytov. Dotazovací jazyk používaný pre atómové dotazy sa môže použiť aj na analytické dopyty.
  • Mierka: Uprednostňuje sa databáza NoSQL, pretože je navrhnutá v mierke. Sú navrhnuté tak, aby sa ľahko zväčšovali, keď rastú. Dáta sú rozdelené a vyvážené medzi viacerými uzlami v klastri a štandardne sú agregované dotazy rozdelené.
  • Redundancia: Databáza NoSQL je navrhnutá pri zachovaní redundancie. Databáza NoSQL je navrhnutá tak, aby riešila zlyhanie hardvéru namiesto toho, aby ich liečila. Problém zlyhania hardvéru sa rieši počas vývoja.
  • Flexibilita: Spôsob ukladania údajov je obrovský, čo zvyšuje výkon v databáze NoSQL.
  • Rýchly vývoj: Databáza NoSQL poskytuje jednoduchý spôsob, ako zmeniť spôsob ukladania údajov alebo meniť spustené dotazy. Dávkové spracovanie a jednoduché refaktoringovanie sa robia na uskutočnenie rozsiahlych zmien.

Typy databázy NoSQL

Existujú štyri primárne typy databázy NoSQL, tj úložiská kľúčov a hodnôt, databázy dokumentov, obchody so širokými stĺpcami a grafy.

  1. Ukladanie kľúč - hodnota: Tieto databázy pracujú na jednoduchom dátovom modeli, ktorý má pár jedinečných kľúčov a hodnotu s nimi spojenú. Tieto databázy fungujú efektívne a vykazujú vysokú škálovateľnosť pre ukladanie do vyrovnávacej pamäte vo webových aplikáciách a správu relácií. Pracujú s RAM, diskovými jednotkami alebo jednotkami SSD.
  2. Databázy dokumentov: Tieto databázy ukladajú pološtrukturované údaje a ich popisy vo formáte dokumentov. Nevzťahujú sa na hlavnú schému na vytváranie a aktualizáciu programov. Ich používanie sa zvýšilo s použitím JavaScriptu a JSON (Notation Object Notation). Používajú sa na spracovanie údajov mobilných aplikácií a správu obsahu.
  3. Veľkoobchody so širokými stĺpcami: Tieto databázy organizujú údaje v stĺpcoch namiesto riadkov. Môžu dotazovať veľké množiny údajov rýchlejšie ako iné konvenčné databázy. Používajú sa pre katalógy, zisťovanie podvodov a motory odporúčaní.
  4. Sklady grafov: Tieto databázy organizujú údaje ako uzly a hrany, ktoré ukazujú spojenia medzi uzlami. Používajú sa tam, kde sú potrebné vzťahy s mapami, ako sú napríklad vzťahy so zákazníkmi alebo rezervačné systémy.

výhody

  • Vysoká škálovateľnosť
  • Vysoká dostupnosť
  • Možnosť veľkých dát
  • Ľahká replikácia
  • Rýchly výkon
  • Vysoká flexibilita

nevýhody

  • Úzke zameranie
  • Open source
  • Výzva pre riadenie
  • GUI nie je k dispozícii
  • Veľká veľkosť dokumentu

záver

Tento článok hovorí o základoch databázy NoSQL, ktoré sa používajú na ukladanie a získavanie veľkých množín údajov alebo na spracovanie veľkých údajov. Boli vyvinuté na prekonanie obmedzení relačných databáz.

Odporúčané články

Toto bol návod na Čo je databáza NoSQL. Tu sme diskutovali o základnom koncepte, vlastnostiach, typoch, výhodách a nevýhodách. Viac informácií nájdete aj v ďalších navrhovaných článkoch -

  1. Čo je to HDFS?
  2. Je veľká dáta databáza?
  3. Čo je VBScript?
  4. Čo je to informatika?