Junior
Aké sú typy databáz podľa modelov dát?
sobes.tech AI
Odpoveď od AI
V závislosti od modelov údajov je možné databázy rozdeliť na nasledujúce základné typy:
-
** Relačné databázy (Relational Databases)**
- Organizácia údajov vo forme tabuliek s pevnou štruktúrou (riadky a stĺpce).
- Používajú SQL na dotazy.
- Sú založené na teórii relačnej algebry a transakčnej integrity (ACID).
- Príklady: PostgreSQL, MySQL, Oracle, SQL Server.
-
** Nerelačné databázy (NoSQL Databases)**
- Flexibilnejšie modely údajov, nie viazané na tabuľkovú štruktúru.
- Navrhnuté pre škálovateľnosť, flexibilitu a prácu s veľkými objemami nestruktúrovaných alebo polostruktúrovaných údajov.
- Používajú rôzne jazyky na dotazy, často nie SQL.
- Nezaručujú vždy ACID (častejšie používajú BASE).
- Delia sa na podtypy:
- Databázy kľúč-hodnota (Key-Value Databases): Ukladajú údaje vo forme párov "kľúč-hodnota". Príklady: Redis, Amazon DynamoDB.
- Dokumentové databázy (Document Databases): Ukladajú údaje vo forme dokumentov (napríklad JSON, BSON, XML). Príklady: MongoDB, Couchbase.
- Stĺpcové alebo stĺpcové databázy (Column-Family Databases): Ukladajú údaje vo forme rodín stĺpcov. Optimalizované pre čítanie veľkých objemov údajov po jednotlivých stĺpcoch. Príklady: Apache Cassandra, Apache HBase.
- Grafové databázy (Graph Databases): Ukladajú údaje vo forme uzlov (objektov) a väzieb (vzťahov) medzi nimi. Optimalizované pre prácu so vzťahmi. Príklady: Neo4j, ArangoDB.
-
Hierarchické databázy (Hierarchical Databases)
- Organizácia údajov vo forme stromovej štruktúry (rodič- potomok).
- Každý potomok má iba jedného rodiča, ale rodič môže mať viacero potomkov.
- Jeden z najstarších typov BDP.
- Príklady: IMS (IBM).
-
Sieťové databázy (Network Databases)
- Rozšírenie hierarchického modelu, umožňujúceho potomkovi mať viacerých rodičov.
- Predstavujú údaje ako graf.
- Flexibilnejšie ako hierarchické, ale zložitejšie na správu.
- Príklady: IDMS.
-
Objektovo-orientované databázy (Object-Oriented Databases)
- Ukladajú údaje vo forme objektov, ako sú prezentované v objektovo-orientovaných jazykoch pre programovanie.
- Podporujú dedičstvo, polymorfizmus a enkapsuláciu.
- Príklady: db4o, ObjectDB.
Výber typu databázy závisí od špecifiká uchovávaných údajov, požiadaviek na výkon, škálovateľnosti a potrebného modelu interakcie s údajmi.