Como você controla as relações de registro no NoSQL?

Estou tentando descobrir o equivalente a chaves estrangeiras e índices nos bancos de dados NoSQL KVP ou Document. Como não há tabelas dinâmicas (para adicionar chaves que marcam uma relação entre dois objetos), estou realmente confuso sobre como você seria capaz de recuperar dados de uma maneira que seria útil para páginas da Web normais.

Digamos que eu tenha um usuário e esse usuário deixe muitos comentários em todo o site. A única maneira de pensar em acompanhar os comentários dos usuários é

Incorpore-os no objeto de usuário (o que parece bastante inútil)Crie e mantenha umuser_id:comments valor que contém uma lista da chave de cada comentário [comment: 34, comment: 197, etc ...] para que eu possa buscá-los conforme necessário.

No entanto, tomando o segundo exemplo, em breve você atingirá uma parede de tijolos ao usá-la para rastrear outras coisas, como uma chave chamada "active_comments", que pode conter 30 milhões de IDs.custa um TON para consultar cada página apenas para conhecer alguns comentários ativos recentes. Também seria muito propenso acondições da corrida tantas páginas podem tentar atualizá-lo ao mesmo tempo.

Como posso rastrear relações como as seguintes em um banco de dados NoSQL?

Todos os comentários de um usuárioTodos os comentários ativosTodas as postagens marcadas com [keyword]Todos os alunos de um clube - ou todos os clubes em que um aluno está

Ou estou pensando nisso incorretamente?

questionAnswers(4)

yourAnswerToTheQuestion