Relační a nerelační databáze

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íčů.

Příklad relačního modelu databáze

Jazyky:

Příklad relačního modelu databáze: SQL(Structured Query Language), MySQL, PostgreSQL, sqlite3

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.

Každý řádek obsahuje rodinu sloupců

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.

Každý řádek má vlastní ID a hodnoty

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.

Všechny filmy, ve kterých hrál Kevin Bacon

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:

  1. 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ě.
  2. 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ů.
  3. Jsme svědky masivního nárůstu videodat a fotografií, kdy se každou minutu jen na YouTube nahraje až 300 hodin videa.
  4. 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ří.
  5. 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.

.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna.