Я пытаюсь вычислить эквивалент внешних ключей и индексов в базах данных NoSQL KVP или Document. Поскольку нет сводных таблиц (для добавления ключей, обозначающих связь между двумя объектами), я действительно озадачен тем, как вы могли бы извлекать данные таким образом, чтобы это было полезно для обычных веб-страниц.
Допустим, у меня есть пользователь, и этот пользователь оставляет много комментариев по всему сайту. Единственный способ, который я могу придумать для отслеживания комментариев пользователей, - это
user_id: comments
, которое содержит список ключей каждого комментария [комментарий: 34, комментарий: 197 и т. д.], чтобы я мог получить их по мере необходимости. Однако, взяв второй пример, вы скоро столкнетесь с кирпичной стеной, когда будете использовать его для отслеживания других вещей, таких как ключ под названием «active_comments», который может содержать 30 миллионов идентификаторов, что стоит ТОНН для запроса каждой страницы, чтобы узнать несколько последних активных комментариев. Он также будет очень подвержен гоночным условиям , так как многие страницы могут попытаться обновить его одновременно.
Как я могу отслеживать отношения, подобные приведенным ниже, в базе данных NoSQL?
Или я думаю об этом неправильно?