Для подписок нужна модель связей «пользователь — объект подписки», уникальность и удобный поиск в обе стороны. Хранилище выбирают по масштабу fan-out и характеру изменений.
Какую базу данных выбрать и как хранить данные подписок?
Для подписок нужна модель связей «пользователь — объект подписки», уникальность и удобный поиск в обе стороны. Хранилище выбирают по масштабу fan-out и характеру изменений.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Для подписок нужна модель связей «пользователь — объект подписки», уникальность и удобный поиск в обе стороны. Хранилище выбирают по масштабу fan-out и характеру изменений.
Начальный вариант — таблица subscriptions(user_id, item_id, scope, created_at) с уникальной парой или составным ключом по области подписки и индексом для поиска подписчиков товара. При большом объёме продумывают шардирование и горячие товары. MAU без числа активных подписок и частоты событий недостаточно для выбора БД.