Ответ вслух Middle NoSQL и выбор хранилища спрашивают часто обновлено

SQL или NoSQL

Вопрос

Когда ты выберешь NoSQL вместо PostgreSQL? Приведи примеры задач.

Попробуйте сами

Ответьте вслух за 2 минуты, как на собесе. Потом сверьтесь с тезисами: что прозвучало, а что нет.

Показать ответ и разбор

Коротко

Начинаю с вопросов: какие данные и связи, какие запросы, соотношение чтения и записи, объёмы, какая нужна консистентность и что команда умеет эксплуатировать. По умолчанию беру PostgreSQL: транзакции, JOIN, ограничения, а jsonb закрывает большинство историй про гибкую схему.

Что должно прозвучать в ответе

  • Выбор от модели доступа, объёма, консистентности и опыта команды, а не от моды

  • PostgreSQL по умолчанию: транзакции, JOIN, ограничения, jsonb

  • Redis: кеш, сессии, счётчики, rate limiting

  • Cassandra: огромный поток записи с запросами по ключу партиции

  • ClickHouse: аналитика, Elasticsearch: полнотекстовый поиск

  • Цена NoSQL: денормализация, слабее консистентность, сложно менять запросы

Что могут спросить следом

  • Почему «MongoDB быстрее PostgreSQL» некорректное утверждение?
  • Как синхронизировать данные между PostgreSQL и Elasticsearch?

Разбор

Начинаю с вопросов: какие данные и связи, какие запросы, соотношение чтения и записи, объёмы, какая нужна консистентность и что команда умеет эксплуатировать. По умолчанию беру PostgreSQL: транзакции, JOIN, ограничения, а jsonb закрывает большинство историй про гибкую схему. NoSQL беру под конкретную задачу. Redis рядом с основной базой для кеша, сессий, счётчиков и ограничения частоты запросов. Cassandra или ScyllaDB, если поток записи огромный, а читаем по известному ключу, например лента событий пользователя. ClickHouse для аналитики по миллиардам событий. Elasticsearch для полнотекстового поиска с морфологией. Платить за это придётся: нет JOIN и данные дублируются, консистентность чаще итоговая, а новый вид запроса может потребовать новую таблицу. Поэтому «MongoDB быстрее» это не аргумент: быстрее на чём, при какой модели данных.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.