03 / 25 · §2
Классы баз данных
Не сравнивай «MySQL vs Redis» — они решают разные задачи. Мысли классами.
Нажми на схему, чтобы открыть в полном размере.
Главное
- Relational (PostgreSQL, MySQL) — пользователи, платежи, заказы, связи. Default для нового проекта: Postgres.
- Key-value (Redis) — кэш, сессии, rate limit, счётчики, блокировки. Обычно не замена Postgres.
- Document (MongoDB) — когда данные естественно документные, а структура гибкая.
- OLAP (ClickHouse) — аналитика по миллиардам событий, логи, телеметрия.
- Search (Elasticsearch / OpenSearch) — полнотекстовый поиск, автодополнение, логи.
- Vector (pgvector, Qdrant, Pinecone) — поиск «по смыслу», основа RAG.
Два разных вопроса к данным
OLTP: «какая подписка у юзера 123?» → PostgreSQL
OLAP: «4 млрд событий по странам за 90 дней» → ClickHouse Антипаттерн
«У нас JSON API → значит Mongo». Нет: Postgres хранит JSONB и даёт реляционную модель. Для небольшого RAG хватит PostgreSQL + pgvector.