Sobes.tech
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.