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
| id | jmeno | mesto |
|---|---|---|
| 1 | Jan Novák | Brno |
| 2 | Eva Malá | Praha |
A další tabulku:
Objednavky
| id | zakaznik_id | cena |
|---|---|---|
| 1 | 1 | 1500 |
| 2 | 1 | 800 |
Pomocí zakaznik_id můžeme zjistit, kterému zákazníkovi objednávka patří.
Známé relační databáze
Neon – cloudová PostgreSQL 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áze | Jak ukládá data | Příklad použití | Příklad |
|---|---|---|---|
| Relační | tabulky | e-shop, ERP, CRM | PostgreSQL |
| Dokumentová | dokumenty / JSON | webové aplikace | MongoDB |
| Key-Value | klíč → hodnota | cache | Redis |
| Grafová | objekty a vztahy | sociální sítě | Neo4j |
| Časová | hodnoty podle času | monitoring | InfluxDB |
| Vyhledávací | indexovaný obsah | vyhledávání | OpenSearch |
| Vektorová | vektory | AI a RAG | Qdrant |
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č.