Junior
Jaké typy databází existují?
sobes.tech AI
Odpověď od AI
Databáze jsou klasifikovány podle několika znaků, hlavní typy:
-
Reálné (SQL orientované):
- Data jsou uložena v tabulkách s řádky a sloupci.
- Vztahy mezi tabulkami jsou určeny primárními a cizími klíči.
- Používá se jazyk SQL pro dotazy.
- Příklady: PostgreSQL, MySQL, Oracle, SQL Server.
-
Nereálné (NoSQL):
- Odlišují se od reálných flexibilními schématy a horizontálním škálováním.
- Existují různé modely dat:
- Klíč-hodnota: Redis, Memcached.
- Dokumentově orientované: MongoDB, Couchbase.
- Širokokolonné: Cassandra, HBase.
- Grafové: Neo4j, ArangoDB.
-
In-Memory (v operační paměti):
- Data jsou uložena přímo v RAM pro rychlý přístup.
- Mohou být jak reálné, tak NoSQL.
- Příklady: Redis, Memcached, SAP HANA.
-
Časové řady (Time Series):
- Optimalizované pro ukládání a analýzu dat přicházejících v chronologickém pořadí.
- Příklady: InfluxDB, TimescaleDB.
-
Multimodelové (Multi-model):
- Podporují více modelů dat současně (například dokumentové a grafové).
- Příklady: ArangoDB, OrientDB.
-
Geoprostorové (Spatial):
- Optimalizované pro ukládání a dotazy dat s geografickými souřadnicemi.
- Často jsou rozšířeními reálných nebo NoSQL databází (například PostGIS pro PostgreSQL).
-
Hlavní-mistr (Master-Slave):
- Architektonický vzor pro replikaci dat. Jeden uzel (hlavní) zpracovává zápisy, ostatní (podřízení) pouze čtou a synchronizují se s hlavním. Používá se pro škálování čtení a zajištění odolnosti vůči chybám.
-
Shardované (Sharded):
- Data jsou rozdělena mezi několik nezávislých uzlů (shardy). Používá se pro horizontální škálování a zpracování velkých objemů dat.
Tabulka srovnání reálných a nereálných databází (hlavní rozdíly):
| Charakteristika | Reálné (SQL) | Nereálné (NoSQL) |
|---|---|---|
| Schéma | Pevné, předem definované | Flexibilní, dynamické |
| Škálování | Vertikální (složitější horizontální) | Horizontální (jednodušší) |
| Integrita dat | ACID (obvykle) | BASE (častěji) |
| Model dat | Tabulky | Klíč-hodnota, dokument, graf, atd. |
| Jazyk dotazů | SQL | Různé (API, specifické) |