Sobes.tech
Junior

Jaké jsou typy databází podle modelů dat?

sobes.tech AI

Odpověď od AI

V závislosti na modelech dat lze databáze rozdělit do následujících hlavních typů:

  1. Vztahové databáze (Relational Databases)

    • Organizace dat ve formě tabulek s pevnou strukturou (řádky a sloupce).
    • Používají SQL pro dotazy.
    • Založeny na teorii relační algebry a transakční integrity (ACID).
    • Příklady: PostgreSQL, MySQL, Oracle, SQL Server.
  2. NoSQL databáze (Nereleční databáze)

    • Flexibilnější modely dat, nevázané na tabulkovou strukturu.
    • Navrženy pro škálovatelnost, flexibilitu a práci s velkými objemy nestrukturovaných nebo semi-strukturovaných dat.
    • Používají různé jazyky dotazů, často ne SQL.
    • Ne vždy garantují ACID (často používají BASE).
    • Dělí se na podtypy:
      • Databáze klíč-hodnota (Key-Value Databases): Ukládají data ve formě párů "klíč-hodnota". Příklady: Redis, Amazon DynamoDB.
      • Databáze dokumentů (Document Databases): Ukládají data ve formě dokumentů (například JSON, BSON, XML). Příklady: MongoDB, Couchbase.
      • Databáze sloupcových rodin (Column-Family Databases): Ukládají data ve formě rodin sloupců. Optimalizované pro čtení velkých objemů dat podle jednotlivých sloupců. Příklady: Apache Cassandra, Apache HBase.
      • Grafové databáze (Graph Databases): Ukládají data ve formě uzlů (objektů) a vztahů mezi nimi. Optimalizované pro práci se vztahy. Příklady: Neo4j, ArangoDB.
  3. Hierarchické databáze (Hierarchical Databases)

    • Organizace dat ve formě stromové struktury (rodič-potomek).
    • Každý potomek má pouze jednoho rodiče, ale rodič může mít mnoho potomků.
    • Jeden z nejstarších typů databází.
    • Příklady: IMS (IBM).
  4. Síťové databáze (Network Databases)

    • Rozšíření hierarchického modelu, umožňujícího potomstvi mít více rodičů.
    • Představují data jako graf.
    • Flexibilnější než hierarchické, ale složitější na správu.
    • Příklady: IDMS.
  5. Objektově orientované databáze (Object-Oriented Databases)

    • Ukládají data ve formě objektů, jak jsou reprezentována v objektově orientovaných programovacích jazycích.
    • Podporují dědičnost, polymorfismus a zapouzdření.
    • Příklady: db4o, ObjectDB.

Výběr typu databáze závisí na specifikách ukládaných dat, požadavcích na výkon, škálovatelnosti a potřebném modelu interakce s daty.