Pergunta

Eu não microblogging serviço web (para a escola, então não explodi-me por falta de nova idéia) e eu me preocupo que DB poderia ser muitas vezes ser sobrecarregado (usuário poderia seguir outros utilizadores ou mesmo tag então eu suppouse que a vontade SELECT ser pesado - verifique últimas 20 mensagens que contém todas as tags de observação e de usuário).
Minha idéia é criar uma outra mesa, e armazenar em apenas StatusId e userID (que deve pegar mensagem). Perigo de isto é, se alguma tag ou usuário tem muitos seguidores, haverá um monte de registro com que ID status. Então, é boa ideia? Ou talvez melhor é a relação M2M usado? (Um estado -> muitos receptores)

Foi útil?

Solução

Eu acho que a maioria dos bancos de dados pode facilmente lidar com grandes conjuntos de registros. A responsabilidade de tê-lo pré-forma mentiras em seu projeto com corretamente configurar os índices. Se você criar os índices certas cláusulas selecione deve executar muito bem.

Outras dicas

Eu iria com um usuários mesa, uma mesa para ter a relação m2m entre usuários e mensagens mesa.

Você pode então fazer uma escolha para encontrar todos os usuários de um utilizador está a seguir e, em seguida, uma segunda selecione no para obter todas as mensagens de interesse (triagem e limitando os resultados conforme o caso). Estendendo isso a marcação deve ser bastante simples.

Este projeto deve ser bom para um grande número de usuários e mensagens enquanto você indexar as colunas da direita. Se você tem enorme, então você também pode executar as tabelas de usuários e mensagens tabelas para diferentes servidores ou ter lido apenas repetições. Eu não teria sequer se preocupar com isso no momento -. Você precisaria ser enorme

Ao implementar Collabinate ( http://www.collabinate.com ), um mecanismo baseado em serviço para microblogging e fluxos de atividade compartilhada, eu usei um banco de dados gráfico. O fato de que as pessoas criam mensagens e seguir outras pessoas se presta a uma estrutura gráfico. Com as relações corretas e algoritmos, esta pode ser uma solução muito eficiente e performance.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top