Domanda

Lo farò servizio web di microblogging (per la scuola, quindi non mi saltare per mancanza di nuove idee) e temo che DB potrebbe essere spesso un sovraccarico (utente può in seguito altri utenti o addirittura tag in modo ho suppouse che SELECT sarà essere pesante - controllare 20 messaggi più recenti, che contiene tutti i tag di osservazione e utente).
La mia idea è di creare un altro tavolo, e memorizzare in essa soltanto StatusId e userID (che dovrebbe raccogliere un messaggio). Pericolo di che, se alcuni tag o l'utente ha molti seguaci ci saranno un sacco di record con tale ID di stato. Quindi, è una buona idea? O forse meglio viene utilizzato M2M relazione? (Uno stato -> molti ricevitori)

È stato utile?

Soluzione

Credo che la maggior parte delle basi di dati possono facilmente gestire grandi set di record. La responsabilità di avere esso si trova preforme nella progettazione con impostando correttamente gli indici. Se si creano gli indici giusti Seleziona clausole devono svolgere davvero bene.

Altri suggerimenti

mi piacerebbe andare con un utenti tavolo, un tavolo per avere il rapporto tra utenti e m2m messaggi tavolo.

È possibile quindi effettuare una selezione per trovare tutti gli utenti un utente sta seguendo e poi una seconda selezionare in per ottenere tutti i messaggi di interesse (smistamento e limitando i risultati a seconda dei casi). Estendendo questo tag dovrebbe essere abbastanza semplice.

Questo progetto dovrebbe andare bene per un gran numero di utenti e messaggi fino a quando si indice le colonne di destra. Se hai massiccia allora si potrebbe anche correre le tabelle degli utenti e le tabelle messaggi a diversi server o avete letto replica solo. Non mi sarei nemmeno preoccuparsi che per il momento -. Avresti bisogno di essere enorme

Quando si implementa Collabinate ( http://www.collabinate.com ), un motore di servizio-based per microblogging e flussi di attività condivise, ho usato un database grafico. Il fatto che le persone a creare i messaggi e seguire le altre persone si presta ad una struttura di grafo. Con le giuste relazioni e algoritmi, questo può essere una soluzione molto efficiente e performante.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top