Zpětný příběh: V roce 2016 jsem studoval informatiku na univerzitě v Albany a musel jsem absolvovat kurz Úvod do databází.
V rámci kurzu jsem se naučil dvě věci:
Relační databáze a nerelační databáze, ale nikdy jsem se pořádně nedozvěděl, jaký je mezi nimi rozdíl, a tak jsem chtěl oživit svou zvědavost ohledně databází a rozdílů mezi nimi.
- Relační databáze, kterou definoval E. F. Codd v roce 1970, je digitální databáze založená na relačním modelu dat. Data jsou uložena v tabulkách obsahujících řádky (které představují záznam) a sloupce(které uchovávají a třídí určitý typ informací). Vztahy jsou vytvářeny prostřednictvím primárních a cizích klíčů.

Jazyky:
Výhody:
- Může zpracovávat množství složitých dotazů, databázových transakcí a rutinní analýzu dat.
- ACID(Atomity, Consistency, Isolation, Durability):
Nevýhody:
- Nemůže uchovávat složité nebo velmi rozsáhlé obrázky, čísla, návrhy a multimediální produkty
- Může se stát velmi nákladnou údržbou a novými servery
Skvělé! Ale co když jsou naše soubory dat příliš velké nebo nestrukturované?
Nerelační databáze neboli NoSQL
Co je to nerelační databáze?
- Nerelační databáze existovaly již koncem 60. let 20. století, ale tento termín začal používat až v roce 1998 Carlo Strozzi, který stál v čele vývoje NoSQL.
- „Databáze NoSQL (původně označující „non SQL“ nebo „nerelační“) poskytuje mechanismus pro ukládání a vyhledávání dat, která jsou modelována jinými prostředky, než jsou tabulkové vztahy používané v relačních databázích.“ – Wikipedia
Typy databází NoSQL:
Sloupcové úložiště: Používá koncept klíčového prostoru, který obsahuje všechny rodiny sloupců obsahující řádky a sloupce pro ukládání a organizaci dat.

Databáze:
Uložiště klíčových hodnot: Apache HBase, Cassandra
Key-Value Store: Používá asociativní pole(mapu nebo slovník) jako svůj základní datový model. Data jsou reprezentována jako kolekce dvojic klíč-hodnota a klíč se v kolekci objeví nejvýše jednou. Můžete uložit hodnotu, například celé číslo, řetězec, strukturu JSON nebo pole, spolu s klíčem používaným k odkazu na tuto hodnotu.

Databáze: Redis, Amazon DynamoDB
Graf: Je databáze, která k reprezentaci a ukládání dat využívá grafové struktury. To umožňuje uživatelům rychle procházet mezi všemi propojenými hodnotami a nacházet poznatky ve vztazích.

Databáze: neo4J, OrientDB, Titan
Databáze orientovaná na dokumenty: Databáze orientovaná na dokumenty neboli úložiště dokumentů je počítačový program určený k ukládání, vyhledávání a správě informací orientovaných na dokumenty, známých také jako polostrukturovaná data.

Databáze: MongoDB, Couchbase
Výhody:
- Velké objemy strukturovaných, polostrukturovaných i nestrukturovaných dat
- Objektově orientované programování, které je snadno použitelné a flexibilní (MongoDB je v podstatě napsaná v javascriptu)
- Efektivní, škálovatelná architektura místo drahé monolitické architektury
Nevýhody:
- Menší podpora, protože databáze NoSQL jsou obvykle open-source
- Administrace:
- Méně vyspělé. Databáze NoSQL se stále vyvíjejí a mnoho funkcí se teprve implementuje.
Kterou z nich použít?
Firmy využívají kombinaci tradičních i nerelačních databází, aby splnily své obchodní požadavky a potřeby.
Relační databáze:
Tradiční relační databáze jsou velmi dobré pro zabezpečení datových transakcí a provádění složitých dotazů pro získání informací. Společnosti, které jsou již strukturované a nezaznamenávají masivní růst, s největší pravděpodobností zůstanou u tradičních databází.
Nerelační databáze:
Vynikají při ukládání velkého množství dat s malou strukturou. Společnosti, které rostou rychlým tempem, jako jsou startupy, využívají více nerelační databáze pro jejich škálovatelnost a flexibilitu. Ve spojení s cloudem mohou nerelační databáze také firmám ušetřit spoustu peněz.
Zábavná fakta o datech:
- Data rostou rychleji než kdykoli předtím a do roku 2020 bude každou sekundu vytvořeno přibližně 1,7 megabajtu nových informací pro každého člověka na planetě.
- Do té doby vzroste náš nahromaděný digitální vesmír dat z dnešních 4,4 zettabajtů na přibližně 44 zettabajtů, tedy 44 bilionů gigabajtů.
- Jsme svědky masivního nárůstu videodat a fotografií, kdy se každou minutu jen na YouTube nahraje až 300 hodin videa.
- V letošním roce bude dodáno více než 1,4 miliardy chytrých telefonů – všechny budou vybaveny senzory schopnými shromažďovat nejrůznější druhy dat, nemluvě o datech, která uživatelé sami vytvoří.
- Do pěti let bude na světě více než 50 miliard chytrých připojených zařízení, která budou vyvinuta za účelem shromažďování, analýzy a sdílení dat.
.