Junior
Aké typy databáz existujú?
sobes.tech AI
Odpoveď od AI
Databázy sú klasifikované podľa niekoľkých znakov, hlavné typy:
-
Reťazové (SQL orientované):
- Dáta sa ukladajú v tabuľkách s riadkami a stĺpcami.
- Vzťahy medzi tabuľkami sú určené primárnymi a cudzími kľúčmi.
- Používa sa jazyk SQL na dotazy.
- Príklady: PostgreSQL, MySQL, Oracle, SQL Server.
-
Nereťazové (NoSQL):
- Odlišujú sa od reťazových flexibilnými schémami a horizontálnym škálovaním.
- Existujú rôzne modely dát:
- Kľúč-hodnota: Redis, Memcached.
- Dokumentovo orientované: MongoDB, Couchbase.
- Širokokolonné: Cassandra, HBase.
- Grafové: Neo4j, ArangoDB.
-
In-Memory (v operačnej pamäti):
- Dáta sa ukladajú priamo v RAM pre rýchly prístup.
- Môžu byť ako reťazové, tak NoSQL.
- Príklady: Redis, Memcached, SAP HANA.
-
Časové rady (Time Series):
- Optimalizované pre ukladanie a analýzu dát prichádzajúcich v chronologickom poradí.
- Príklady: InfluxDB, TimescaleDB.
-
Multimodelové (Multi-model):
- Podporujú niekoľko modelov dát súčasne (napríklad dokumentové a grafové).
- Príklady: ArangoDB, OrientDB.
-
Geopriestorové (Spatial):
- Optimalizované pre ukladanie a dotazy dát s geografickými súradnicami.
- Často sú rozšíreniami reťazových alebo NoSQL databáz (napríklad PostGIS pre PostgreSQL).
-
Vodiaci-vedúci (Master-Slave):
- Architektonický vzor pre replikáciu dát. Jeden uzol (vodiaci) spracováva zápisy, ostatné (podriadené) — len čítajú a synchronizujú sa s vodičom. Používa sa na škálovanie čítania a zabezpečenie odolnosti voči chybám.
-
Shardované (Sharded):
- Dáta sú rozdelené medzi niekoľko nezávislých uzlov (shardy). Používa sa na horizontálne škálovanie a spracovanie veľkých objemov dát.
Tabuľka porovnania reťazových a nereťazových databáz (hlavné rozdiely):
| Charakteristika | Reťazové (SQL) | Nereťazové (NoSQL) |
|---|---|---|
| Schéma | Pevná, preddefinovaná | Flexibilná, dynamická |
| Mierkaovanie | Vertikálne (ťažšie horizontálne) | Horizontálne (jednoduchšie) |
| Integrita dát | ACID (zvyčajne) | BASE (častejšie) |
| Model dát | Tabuľky | Kľúč-hodnota, dokument, graf, atď. |
| Jazyk dotazov | SQL | Rôzne (API, špecifické) |