Frage

Ich werde Microblogging Web-Dienst tun (für die Schule, so mich nicht aus Mangel an neuen Ideen sprengen) und ich mache mir Sorgen, dass die DB oft überlastet werden könnte (Benutzer andere Benutzer folgenden könnten oder sogar markieren, so suppouse ich, dass SELECT werden schwer sein - prüfen 20 neuesten Nachrichten, die alle beobachten Tags und Benutzer enthält).
Meine Idee ist eine andere Tabelle erstellen, und speichern Sie in nur StatusID und Benutzer-ID (die Nachricht abholen sollte). Gefahr das heißt, wenn einige Tag oder Benutzer viele Anhänger hat es mit diesem Status ID viel Rekord sein. So ist es gute Idee? Oder vielleicht besser ist M2M Beziehung verwendet? (Ein Status -> viele Empfänger)

War es hilfreich?

Lösung

Ich denke, die meisten Datenbanken problemlos große Datensätzen verarbeiten kann. Die Verantwortung, um es Vorform in Ihrem Design liegt bei richtig die Indizes einrichten. Wenn Sie die richtigen Indizes die Auswahlklauseln schaffen sollten wirklich gut durchführen.

Andere Tipps

ich gehen würde, mit einer Nutzer Tabelle, eine Tabelle, die die m2m Beziehung zwischen den Nutzern haben und Nachrichten Tabelle.

Sie können dann eine Auswahl alle Benutzer finden ein Benutzer folgt und dann eine zweite wählen in , um alle Nachrichten von Interesse zu erhalten (Sortieren und die Ergebnisse gegebenenfalls zu begrenzen). Die Ausweitung dieses zu Tagging sollte ziemlich einfach sein.

Dieser Entwurf sollte für eine große Anzahl von Benutzern und Nachrichten so lange in Ordnung, wie Sie Index die richtigen Spalten. Wenn Sie massive bekam dann könnten Sie auch die Benutzer Tabellen und Nachrichten Tabellen auf verschiedenen Servern laufen oder gelesen haben repliziert nur. Ich würde im Moment nicht einmal darum kümmern, dass für -. Sie müssen riesig sein

Bei der Umsetzung Collabinate ( http://www.collabinate.com ), eine Service-basierte Engine für Microblogging und gemeinsame Aktivität Ströme, verwendete ich eine graph-Datenbank. Die Tatsache, dass Menschen Beiträge und folgen anderen Menschen schaffen eignet sich für eine Graphenstruktur. Mit den richtigen Beziehungen und Algorithmen, kann dies eine sehr effiziente und performante Lösung.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top