Přejít na obsah

Základní typy databází (pro zvídavé)

Databáze slouží k ukládání, organizaci a vyhledávání dat.

Neexistuje ale jen jeden druh databáze. Různé databáze jsou vhodné pro různé typy aplikací.

1. Relační databáze

Relační databáze ukládají data do tabulek.

Tabulka se skládá z:

  • sloupců,

  • řádků,

  • jednotlivých buněk.

Tabulky lze mezi sebou propojovat pomocí relací.

Příklad

Máme tabulku:

Zakaznici

idjmenomesto
1Jan NovákBrno
2Eva MaláPraha

A další tabulku:

Objednavky

idzakaznik_idcena
111500
21800

Pomocí zakaznik_id můžeme zjistit, kterému zákazníkovi objednávka patří.

Známé relační databáze

Kde se používají?

Například:

  • e-shopy,

  • účetní systémy,

  • školní systémy,

  • bankovní aplikace,

  • CRM,

  • ERP systémy,

  • rezervační systémy.

Například Odoo používá PostgreSQL.

Pro práci s relačními databázemi se nejčastěji používá jazyk SQL.

2. Dokumentové databáze

Data nejsou uložena především do klasických tabulek, ale do takzvaných dokumentů.

Dokument může například vypadat takto:

{
  "jmeno": "Jan Novák",
  "mesto": "Brno",
  "vek": 25
}

Data často připomínají formát JSON, který se používá ve webových aplikacích.

Známé databáze

Kde se používají?

Například:

  • webové aplikace,

  • mobilní aplikace,

  • katalogy produktů,

  • aplikace, kde se struktura dat často mění.

3. Key-Value databáze

Jedná se o velmi jednoduchý princip.

Každá hodnota má svůj klíč.

Například:

uzivatel:1001 → Jan Novák

Klíč:

uzivatel:1001

Hodnota:

Jan Novák

Tyto databáze bývají velmi rychlé.

Známé databáze

Kde se používají?

Například:

  • cache,

  • přihlašovací relace,

  • rychlé ukládání dočasných dat,

  • počítadla návštěv,

  • informace o přihlášených uživatelích.

Redis se například často používá jako pomocná databáze vedle hlavní relační databáze.

4. Grafové databáze

Grafová databáze ukládá především vztahy mezi objekty.

Například:

Petr → zná → Jana
Jana → zná → Tomáš
Tomáš → pracuje → Firma A

Důležité nejsou pouze samotné údaje, ale hlavně jejich vzájemné propojení.

Známé databáze

Kde se používají?

Například:

  • sociální sítě,

  • doporučovací systémy,

  • hledání vztahů mezi lidmi,

  • mapování počítačových sítí,

  • odhalování podvodů.

5. Časové databáze

Anglicky se označují jako Time Series Databases.

Jsou určeny pro data, která se mění v čase.

Například:

10:00 → CPU 25 %
10:01 → CPU 31 %
10:02 → CPU 82 %

Známé databáze

Kde se používají?

Například:

  • monitoring serverů,

  • senzory,

  • IoT zařízení,

  • měření teploty,

  • výroba,

  • sledování spotřeby energie.

6. Vyhledávací databáze

Jsou optimalizovány hlavně pro velmi rychlé vyhledávání v textu.

Dokážou například hledat nejen přesnou hodnotu, ale také podobná slova nebo části textu.

Známé systémy

Kde se používají?

Například:

  • vyhledávání na e-shopu,

  • hledání v dokumentech,

  • hledání v logách serveru,

  • analýza velkého množství textových dat.

7. Vektorové databáze

Vektorové databáze se dnes často používají v aplikacích s umělou inteligencí.

Text, obrázek nebo jiná informace se převede na číselnou reprezentaci nazývanou vektor.

Databáze potom dokáže hledat informace podle jejich podobnosti.

Například uživatel hledá:

Jak zabezpečit server?

Databáze může najít i dokument s textem:

Ochrana Linuxového VPS před útoky

Přestože neobsahuje úplně stejná slova.

Známé systémy

Kde se používají?

Například:

  • AI chatboti,

  • vyhledávání v dokumentech pomocí AI,

  • RAG systémy,

  • hledání podobných obrázků,

  • doporučování obsahu.

Jaký typ databáze se používá nejčastěji?

Pro běžné firemní a webové aplikace jsou stále velmi důležité relační databáze.

Typická moderní aplikace ale může používat několik databázových technologií současně.

Například e-shop může používat:

PostgreSQL
↓
zákazníci, objednávky a produkty

Redis
↓
cache a přihlášení uživatelů

OpenSearch
↓
rychlé hledání produktů

Vektorová databáze
↓
AI vyhledávání a doporučování

Každá databáze tedy řeší jiný problém.

Jednoduchý přehled

Typ databázeJak ukládá dataPříklad použitíPříklad
Relačnítabulkye-shop, ERP, CRMPostgreSQL
Dokumentovádokumenty / JSONwebové aplikaceMongoDB
Key-Valueklíč → hodnotacacheRedis
Grafováobjekty a vztahysociální sítěNeo4j
Časováhodnoty podle časumonitoringInfluxDB
Vyhledávacíindexovaný obsahvyhledáváníOpenSearch
VektorovávektoryAI a RAGQdrant

Co je důležité si zapamatovat?

Neexistuje jedna nejlepší databáze pro všechno.

Databáze se vybírá podle toho, jaká data máme a co s nimi potřebujeme dělat.

Pro začátek se budeme nejvíce věnovat:

relačním databázím → PostgreSQL → SQL

Pro praktické procvičování můžeme používat také:

Neon → PostgreSQL databáze běžící online

Díky tomu nemusíme PostgreSQL instalovat na školní počítač.

V tomto kurzu nejsou povoleny komentáře.