SQL není zastaralý. NoSQL není lepší. Záleží na use case.
SQL (relační)¶
- ✅ ACID transakce
- ✅ Strukturovaná data s relacemi
- ✅ Silný query jazyk (SQL)
- ✅ Data integrity
- ❌ Horizontální škálování složitější
- ❌ Schema migrace potřebné
Příklady: PostgreSQL, MySQL, MariaDB.
Document (MongoDB, CouchDB)¶
- ✅ Flexibilní schema
- ✅ Horizontální škálování
- ✅ Dobré pro nested data
- ❌ Žádné JOIN (duplicita dat)
- ❌ Eventual consistency
Key-Value (Redis, DynamoDB)¶
- ✅ Ultra rychlé (sub-ms)
- ✅ Jednoduché API
- ✅ Skvělé pro cache, sessions, rate limiting
- ❌ Omezené query možnosti
Kdy co¶
- E-commerce, finance, CRM → SQL
- Content management, katalogy → Document
- Cache, sessions, leaderboards → Key-Value
- Time series → TimescaleDB, InfluxDB
- Search → Elasticsearch
- Grafy → Neo4j
Default volba¶
PostgreSQL. Zvládne relační data, JSON (jsonb), full-text search, time series (TimescaleDB extension). Pokud nevíte, začněte PostgreSQL.
Pravidlo¶
Start with PostgreSQL. Add specialized databases when you have a specific need that PostgreSQL can’t handle efficiently.
databázesqlnosql