MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Melhor esquema MongoDB para clone do twitter?


Este não é um esquema ideal para um clone do Twitter. O principal problema é que "posts" é uma matriz cada vez maior, o que significa que o mongo terá que mover seu documento enorme a cada poucos posts porque ficou sem preenchimento de documento. Além disso, há um limite de tamanho rígido (16 MB) para documentos que torna esse esquema restritivo na melhor das hipóteses.

O esquema ideal depende se você espera ou não a carga do Twitter. O esquema mongodb "perfeito" em termos de manutenção e facilidade de uso não é o mesmo que eu usaria para algo com a taxa de transferência do Twitter. Por exemplo, no primeiro caso eu usaria uma coleção de posts com um documento por post. No cenário de alta taxa de transferência, eu começaria a criar documentos de bucket para pequenos grupos de postagens (digamos, um por página "obter mais"). Além disso, no cenário de alta taxa de transferência, você teria que manter a linha do tempo do seguidor atualizada em documentos separados da linha do tempo do usuário, enquanto em cenários de baixa taxa de transferência você pode simplesmente consultá-los.