Предположим, мне нужно создать таблицу для Spotify, в которой мне нужно быстро получить, какие элементы (песня или альбом) уже приобрел пользователь, чтобы она могла воспроизводиться для пользователя. Сценарий прост: когда пользователи нажимают, чтобы купить песню, базе данных необходимо быстро обновить конкретную купленную песню в учетной записи пользователя. экспоненциально, с другой стороны, формат доступа довольно прост и исправен, нереляционная база данных предназначена для этого варианта использования. Вот почему я думаю об использовании HBase, Cassandra или MongoDB.
Я хотел бы использовать UserId в качестве первичного ключа для этой таблицы покупок, будут ли магазины с широкими столбцами, такие как (HBase или Cassandra), или базы данных документов, такие как MongoDB работать лучше для этого сценария?
Входные данные - это просто user_id и ответ таблицы базы данных со всеми доступными приобретенными элементами. Какова лучшая стратегия создания таблиц базы данных?
{user_id:int
{purchased_item: item1
item2
item3
}
}
Вторая таблица будет использоваться для поиска определенных c исполнителей, альбомов, жанров и песен, доступных для покупки.
Будем признательны, если вы можете поделиться примерами передовой практики из реального приложения. Или любую хорошую статью / документ / блоги, которые я могу прочитать.