SQL vs NoSQL для аналитика
Карьерник — квиз-тренажёр в Telegram с 1500+ вопросами для собесов аналитика. SQL, Python, A/B, метрики. Бесплатно.
Зачем это знать
На собеседовании данных аналитиков часто спрашивают: «работали с NoSQL?», «чем отличается от SQL», «когда нужен NoSQL». Правильный ответ отличает джуна от middle.
В продуктовой аналитике основной инструмент — SQL (Postgres, ClickHouse, BigQuery, Snowflake). NoSQL встречается реже: MongoDB для событий, Redis для кэша. Но понимать разницу — обязательно.
В статье:
- Короткий ответ
- ACID vs BASE
- Типы NoSQL
- Когда аналитику встречается NoSQL
- Что учить в 2026
Короткий ответ
- SQL (реляционные БД): структурированные данные в таблицах, ACID транзакции, JOIN, сильная схема. Postgres, MySQL, Oracle.
- NoSQL: гибкая schema, horizontal scaling, разные модели данных (документы, ключ-значение, графы). MongoDB, Redis, Cassandra.
Для аналитики — SQL 95%. NoSQL — 5% (специализированные задачи).
Типы NoSQL
Document stores
MongoDB, Couchbase. JSON-документы. Подходят для event logs, CMS.
Key-value
Redis, DynamoDB. Простейшие: ключ → значение. Caches, sessions.
Wide-column
Cassandra, HBase. Column-family. Big data, time series.
Graph databases
Neo4j, ArangoDB. Узлы и рёбра. Social networks, recommendations.
Search
Elasticsearch, Solr. Full-text search.
ACID vs BASE
ACID (SQL)
- Atomicity: транзакция или полностью, или никак
- Consistency: данные валидны после транзакции
- Isolation: транзакции не мешают друг другу
- Durability: после COMMIT данные не теряются
BASE (NoSQL)
- Basically Available: отвечает всегда (может устаревшие данные)
- Soft state: состояние может меняться
- Eventually consistent: данные сошлись через некоторое время
Для банка — ACID. Для соцсети — BASE (лайки секундой позже — не критично).
Когда NoSQL
MongoDB
- Схема меняется часто
- Hierarchical data (вложенные JSON)
- High write throughput
Redis
- Caching (session, data)
- Real-time counters
- Rate limiting
Elasticsearch
- Full-text search
- Log analytics
Cassandra
- Time series big data
- IoT
Neo4j
- Social graph
- Recommendation engine
Аналитику встречается
Приходят данные из MongoDB
Product events в Mongo → ETL копирует в Postgres / BigQuery → аналитик SQL-итСам Mongo аналитик редко query-ит.
Redis для real-time
Counters доступны через Redis commands, не SQL.
ClickHouse — столбцовая (не строго NoSQL)
ClickHouse — гибрид: SQL syntax, но columnar storage. Для аналитики — must-have в 2026.
SQL vs NoSQL для analytics
Для аналитики почти всегда SQL:
Плюсы SQL
- Стандарт индустрии
- JOIN, aggregations, window functions
- BI-инструменты (Tableau, Metabase) работают с SQL
- dbt, SQLMesh для transformations
NoSQL ограничения для analytics
- MongoDB aggregation pipeline — сложнее SQL
- Нет JOIN (в классическом понимании)
- Специальные скиллы для query
Поэтому обычно:
Source (любой) → ETL → SQL DWH → AnalyticsСовременный стек
В 2026 типичная архитектура:
- OLTP: PostgreSQL / MySQL (SQL)
- Events / logs: Kafka / MongoDB (NoSQL)
- Caching: Redis (NoSQL)
- DWH / Analytics: Snowflake / BigQuery / ClickHouse (SQL)
- Search: Elasticsearch (NoSQL)
Аналитик работает с DWH (всегда SQL) и иногда с events.
Что учить аналитику
Обязательно (100%)
- SQL (Postgres дialect + ClickHouse / BigQuery specifics)
- Оконные функции
- JOIN все типы
- JSON в SQL (для event data)
Желательно (50%)
- Общая идея MongoDB aggregation
- Redis concepts
- ClickHouse / Snowflake optimizations
Опционально (20%)
- Cassandra, Neo4j, HBase
На собесе
«Разница?» SQL — табличный ACID. NoSQL — гибкая schema, BASE.
«Когда NoSQL?» Logs (Mongo), cache (Redis), search (Elastic), graph (Neo4j).
«Что важнее для аналитика?» SQL. NoSQL встречается в edge cases.
«NoSQL = нет SQL?» Нет, «Not Only SQL». Некоторые NoSQL имеют SQL-подобные языки.
Связанные темы
FAQ
ClickHouse — NoSQL?
Нет. Columnar SQL-based. Но не traditional relational.
MongoDB аналитику нужен?
Зависит от компании. Events часто лежат в Mongo. Базовые знания полезны.
PostgreSQL vs NoSQL для startup?
95% стартапов — Postgres (SQL) + потом добавляют специализированные NoSQL.
Могу ли устроиться только зная SQL?
Да. Большинство аналитических вакансий требуют SQL primarily.
Тренируйте SQL — откройте тренажёр с 1500+ вопросами для собесов.