Obsah

Databázové systémy (SQL vs NoSQL)

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).

1. SQL: Relační databáze (RDBMS)

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í).

Klíčové vlastnosti SQL:

Populární systémy:

2. NoSQL: Nerelační databáze

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.

Čtyři základní typy NoSQL:

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**)

3. Srovnání: Kdy zvolit kterou?

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)

Kdy zvolit SQL?

Kdy zvolit NoSQL?


4. Moderní trend: NewSQL a Polyglot Persistence

Dnešní svět už není černobílý:


Související články:

Tagy: data database sql nosql mongodb mysql postgresql acid bigdata