Databázový systém je software, který umožňuje organizované ukládání, vyhledávání a správu velkého množství dat. V moderním vývoji se rozhodujeme mezi dvěma hlavními světy: tradičním relačním (SQL) a flexibilním nerelačním (NoSQL).
Relační databáze jsou postaveny na principech definovaných Edgarem F. Coddem v 70. letech. Data jsou organizována do pevných tabulek, které jsou navzájem propojeny pomocí vztahů (relací).
—
NoSQL (Not Only SQL) systémy vznikly jako odpověď na potřeby moderního webu: obrovské objemy dat, potřeba horizontálního škálování a proměnlivá struktura dat.
1. **Dokumentové:** Data se ukládají v dokumentech (obvykle JSON/BSON). Ideální pro CMS a katalogy. (Např. **MongoDB**, **CouchDB**) 2. **Klíč-hodnota (Key-Value):** Nejjednodušší model pro rychlé ukládání. Skvělé pro cache. (Např. **Redis**, **Memcached**) 3. **Sloupcové (Wide-column):** Optimalizované pro dotazy nad obrovskými datasety. (Např. **Cassandra**, **HBase**) 4. **Grafové:** Zaměřené na vztahy mezi objekty (sociální sítě, doporučovací systémy). (Např. **Neo4j**)
| Parametr | SQL Databáze | NoSQL Databáze |
|---|---|---|
| Schéma | Pevné (Rigidní) | Flexibilní (Dynamické) |
| Škálování | Vertikální (silnější HW) | Horizontální (více levných serverů) |
| Vztahy | Komplexní JOINy | Často redundance (denormalizace) |
| Konzistence | Silná (ACID) | Často Eventuální konzistence (BASE) |
Dnešní svět už není černobílý:
Související články:
Tagy: data database sql nosql mongodb mysql postgresql acid bigdata