SQL или NoSQL
Вопрос
Как вы решаете, брать реляционную БД или NoSQL?
Попробуйте сами
Ответьте вслух за 2 минуты, как на собесе. Потом сверьтесь с тезисами: что прозвучало, а что нет.
Показать ответ и разбор
Коротко
Что должно прозвучать в ответе
Смотрю на паттерны запросов, а не на моду
Связи, транзакции, сложные запросы: реляционная
Огромная запись и доступ по ключу: wide-column или key-value
Гибкая структура, документ читается целиком: документная
Учитываю объём, консистентность и опыт команды
Что могут спросить следом
- Почему NoSQL не означает «масштабируется само»?
- Можно ли в PostgreSQL хранить JSON?
Разбор
Начинаю с запросов: какие сущности, как связаны, какие операции и с какой частотой. Если есть связи, транзакции и разнообразные запросы, беру PostgreSQL: он закрывает большинство задач и держит большие нагрузки, а через jsonb даже частично гибкую схему. NoSQL беру под конкретную причину: Cassandra, если запись идёт сотнями тысяч в секунду и доступ по ключу партиции, Redis для кеша и счётчиков, документную БД, если сущность самодостаточная и разнородная. NoSQL не масштабируется сам: в Cassandra неудачный ключ партиции даёт горячие узлы так же, как в шардированном SQL. И учитываю опыт команды: незнакомая БД в проде это риск.
Ответьте сами, а не прочитайте
В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.