Типы NoSQL баз данных на собеседовании Data Engineer

Прокачай SQL для собеса
500+ задач по SQL: оконные функции, JOIN, CTE — с разбором каждой
Тренировать SQL в Telegram

Карьерник — Duolingo для аналитиков: 10 минут в день тренируй SQL, Python, A/B, статистику, метрики и ещё 3 темы собеса. 1500+ вопросов в Telegram-боте. Бесплатно.

Зачем спрашивают на собесе DE

NoSQL — обзорное знание для DE. На собесе: «зачем NoSQL», «отличие KV и document», «Cassandra для чего». Senior — нюансы CAP, consistency models.

Key-Value

Простейшая модель: key → value.

Redis. In-memory. Используется как:

  • Cache.
  • Session store.
  • Rate limiter.
  • Pub/Sub.
  • Очередь (Streams).
  • Counter (атомарные INCR).

DynamoDB (AWS). Managed KV/document. Sub-10ms latency, авто-scale.

Применение:

  • Cache layer перед SQL.
  • Sessions / tokens.
  • Real-time counters / leaderboards.

НЕ для: аналитики, complex queries, joins.

Document

Хранит JSON-документы. Schema flexible (no migrations).

MongoDB. Топ document БД. Поддержка:

  • Nested documents.
  • Aggregation framework.
  • Indexes (включая text, geo).
  • Transactions (с 4.0+).
  • Replica sets, sharding.

Применение:

  • Product catalog (полу-структурированные товары).
  • User profiles с гибкими атрибутами.
  • CMS контент.
  • Event logs (хотя есть лучшие варианты).

НЕ для: строгие связи (joins дорогие), bulk-аналитика.

Wide-column

Cassandra, ScyllaDB. Распределённая, eventually consistent.

Модель — таблица с partition key + clustering keys + columns. Похоже на SQL, но distributed-first.

Свойства:

  • Линейная масштабируемость на write.
  • Multi-DC репликация.
  • AP в CAP (доступность важнее consistency).
  • Tunable consistency (per-query).

Применение:

  • Time-series данные (события, метрики).
  • IoT.
  • Messaging (история чатов).
  • High-write OLTP.

НЕ для: ad-hoc analytics, complex queries.

Graph

Neo4j, Amazon Neptune. Хранят nodes и edges с properties.

Cypher query language:

MATCH (u:User)-[:FRIEND]->(f:User)-[:FRIEND]->(fof:User)
WHERE u.id = 42
RETURN fof

Применение:

  • Social networks.
  • Fraud detection (graph patterns).
  • Recommendation (graph traversal).
  • Knowledge graphs.

НЕ для: простой OLTP, аналитика.

Прокачай SQL для собеса
500+ задач по SQL: оконные функции, JOIN, CTE — с разбором каждой
Тренировать SQL в Telegram

Time-series

InfluxDB, TimescaleDB, ClickHouse, Prometheus.

Оптимизированы под:

  • High write throughput.
  • Сжатие по времени.
  • Window aggregations.
  • Retention policies.

TimescaleDB — расширение Postgres, лучшее из обоих миров. CH — strong для analytics.

Применение:

  • Metrics / monitoring.
  • IoT sensor data.
  • Financial ticks.

Когда NoSQL, когда SQL

SQL (Postgres, MySQL):

  • Транзакции, ACID.
  • Известная схема.
  • Joins, complex queries.
  • < TB-scale (или scale через шардинг).

NoSQL:

  • High-write throughput (>50k/s).
  • Schema flexibility.
  • Гео-распределение.
  • Specific access pattern (KV, graph traversal).

Hybrid (часто):

  • Postgres для core OLTP.
  • Redis для cache.
  • ClickHouse для analytics.
  • ElasticSearch для search.

Частые ошибки

MongoDB как primary OLTP. Без транзакций (до 4.0) — eventual consistency. Постгрес безопаснее для финансов.

Cassandra без partition key planning. Hot partition (один partition с миллиардами записей) убивает производительность.

Redis без persistence. RDB / AOF — обязательны если нужна durability.

NoSQL для всего. «Schema flexible» = «никто не знает, что в БД». Через год — chaos.

Joins в MongoDB через $lookup. Можно, но медленно. Если нужны joins — это SQL-задача.

Графовые алгоритмы на Postgres. Можно через recursive CTE, но Neo4j быстрее на сложных traversal.

Связанные темы

FAQ

MongoDB поддерживает транзакции?

С 4.0 — multi-document transactions внутри replica set. С 4.2 — distributed transactions. Дорогие, использовать осторожно.

Cassandra vs ScyllaDB?

ScyllaDB — переписанная Cassandra на C++. Сильно быстрее на том же hardware. Полностью совместима с Cassandra protocol.

Это официальная информация?

Нет. Статья основана на документации MongoDB, Cassandra, Redis, Neo4j.


Тренируйте Data Engineering — откройте тренажёр с 1500+ вопросами для собесов.