Sobes.tech
Junior

Aké typy databáz existujú?

sobes.tech AI

Odpoveď od AI

Hlavné typy databáz:

  • Vztahové (SQL):

    • Založené na tabuľkách so riadkami a stĺpcami.
    • Dáta sú prepojené cez kľúče.
    • Používajú SQL na dotazy a správu dát.
    • Príklady: MySQL, PostgreSQL, Oracle, SQL Server.
    • Výhody: Prísne schéma, integrita dát, široká podpora a zrelosť.
    • Nevýhody: Škálovateľnosť môže byť zložitejšia, menej flexibilné pre nestruktúrované dáta.
  • Nestruktúrované (NoSQL):

    • Navrhnuté na prácu s veľkými objemami nestruktúrovaných alebo polostruktúrovaných dát.
    • Nemajú prísne schémy, čo zabezpečuje flexibilitu.
    • Rôzne modely dát:
      • Kľúč-hodnota: Jednoduché páry kľúč-hodnota. Príklady: Redis, Memcached.
      • Dokumentovo orientované: Dáta sú uložené v dokumentoch (často JSON, BSON). Príklady: MongoDB, Couchbase.
      • Stĺpcové (rodiny stĺpcov): Dáta sú uložené podľa stĺpcov. Príklady: Cassandra, HBase.
      • Grafové: Ukladajú dáta vo forme uzlov a väzieb medzi nimi. Príklady: Neo4j, ArangoDB.
    • Výhody: Skvelá škálovateľnosť (horizontálna), flexibilita schémy, vhodné pre veľké dáta a aplikácie s vysokou záťažou.
    • Nevýhody: Menej prísna konzistencia dát (môže byť eventual consistency), rozmanitosť jazykov dotazov, absencia štandardného SQL.
  • Pamäťové (In-Memory):

    • Ukladajú dáta do operačnej pamäte pre veľmi rýchly prístup.
    • Príklady: Redis, Apache Ignite.
    • Výhody: Vysoký výkon pre operácie čítania a zápisu.
    • Nevýhody: Obmedzená veľkosť dát v závislosti od dostupnej pamäte, dáta môžu byť stratené pri reštarte (často sa používajú mechanizmy perzistencie).
  • Vložené (Embedded):

    • Integrované priamo do aplikácie.
    • Nevyžadujú samostatný server databázy.
    • Príklady: SQLite (veľmi rozšírené), H2.
    • Výhody: Jednoduchá inštalácia a nasadenie, nízke náklady.
    • Nevýhody: Zvyčajne nie sú vhodné pre veľké objemy dát alebo súčasný prístup z viacerých klientov.
  • Časové rady (Time-Series):

    • Optimalizované pre ukladanie a analýzu dát s časovými značkami.
    • Široko používané na monitorovanie, IoT a analytiku.
    • Príklady: InfluxDB, kdb+.
    • Výhody: Efektívne ukladanie a dotazy dát časových radov.
    • Nevýhody: Menej univerzálne pre iné typy dát.
  • Prostorové (Spatial):

    • Určené na ukladanie a dotazy geografických dát.
    • Podporujú geometrické typy dát (body, línie, polygóny).
    • Príklady: PostGIS (rozšírenie PostgreSQL), SQL Server spatial.
    • Výhody: Efektívna práca s geodátami.
    • Nevýhody: Špecializované pre priestorové dáta.

Výber typu DB závisí od:

  • Štruktúry dát.
  • Objemu dát.
  • Požiadaviek na výkon a škálovanie.
  • Potreby konzistencie dát.
  • Rozpočtu a zložitosti správy.