Junior
Jaké existují typy databází?
sobes.tech AI
Odpověď od AI
Hlavní typy databází:
-
Vztahové (SQL):
- Založené na tabulkách se řádky a sloupci.
- Data jsou propojena přes klíče.
- Používají SQL pro dotazy a správu dat.
- Příklady: MySQL, PostgreSQL, Oracle, SQL Server.
- Výhody: Přísný schéma, integrita dat, široká podpora a zralost.
- Nevýhody: Škálovatelnost může být složitější, méně flexibilní pro nestrukturovaná data.
-
Nestrukturované (NoSQL):
- Navrženy pro práci s velkými objemy nestrukturovaných nebo polostrukturovaných dat.
- Nemají přísná schémata, což zajišťuje flexibilitu.
- Různé modely dat:
- Klíč-hodnota: Jednoduché páry klíč-hodnota. Příklady: Redis, Memcached.
- Dokumentově orientované: Data jsou uložena v dokumentech (často JSON, BSON). Příklady: MongoDB, Couchbase.
- Sloupcové (rodiny sloupců): Data jsou uložena podle sloupců. Příklady: Cassandra, HBase.
- Grafové: Ukládají data ve formě uzlů a vazeb mezi nimi. Příklady: Neo4j, ArangoDB.
- Výhody: Skvělá škálovatelnost ( horizontální), flexibilita schématu, vhodné pro velká data a aplikace s vysokou zátěží.
- Nevýhody: Méně přísná konzistence dat (může být eventual consistency), rozmanitost jazyků dotazů, absence standardního SQL.
-
Paměťové (In-Memory):
- Ukládají data do operační paměti pro velmi rychlý přístup.
- Příklady: Redis, Apache Ignite.
- Výhody: Vyšší výkon pro operace čtení a zápisu.
- Nevýhody: Omezená velikost dat v závislosti na dostupné paměti, data mohou být ztracena při restartu (často se používají mechanismy perzistence).
-
Vestavěné (Embedded):
- Přímo integrovány do aplikace.
- Nevyžadují samostatný server databáze.
- Příklady: SQLite (velmi rozšířený), H2.
- Výhody: Jednoduchá instalace a nasazení, nízké náklady.
- Nevýhody: Obvykle nejsou vhodné pro velké objemy dat nebo současný přístup od více klientů.
-
Časové řady (Time-Series):
- Optimalizované pro ukládání a analýzu dat s časovými značkami.
- Široce používány pro monitorování, IoT a analytiku.
- Příklady: InfluxDB, kdb+.
- Výhody: Efektivní ukládání a dotazy časových řad dat.
- Nevýhody: Méně univerzální pro jiné typy dat.
-
Prostorové (Spatial):
- Určené pro ukládání a dotazy geografických dat.
- Podporují geometrické typy dat (body, linie, polygony).
- Příklady: PostGIS (rozšíření PostgreSQL), SQL Server spatial.
- Výhody: Efektivní práce s geografickými daty.
- Nevýhody: Specializované pro prostorová data.
Výběr typu DB závisí na:
- Struktuře dat.
- Objemu dat.
- Požadavcích na výkon a škálovatelnost.
- Potřebách konzistence dat.
- Rozpočtu a složitosti správy.