2016-04-24 13 views
0

Ich versuche, einen einheitlichen Newsfeed mit Daten aus verschiedenen sozialen Netzwerken (Twitter, Facebook, Linkedin, etc.) zu implementieren. Jedes Netzwerk hat wieder verschiedene Arten von Daten, zum Beispiel muss ich Twitter-Erwähnungen, Retweets und sogar direkte Nachrichten im Newsfeed anzeigen.Implementieren von Newsfeed mit Daten aus verschiedenen sozialen Netzwerken

Ich habe eine posts Tabelle erstellt und für jeden Typ habe ich eine andere Tabelle (z. B. twitter_mentions, retweets). Im Moment habe ich eine Spalte namens post_type und post_id und basierend auf post_type kann ich die entsprechende Tabelle abfragen. Jetzt muss ich wegen dieser Strategie verschiedene Abfragen für jeden Typ ausführen.

Gibt es eine bessere Möglichkeit, einen solchen einheitlichen Newsfeed zu implementieren?

Antwort

1

Ihr Ansatz ist nicht schlecht. Ziemlich Standard für relationale Datenbank und 3NF. Sie können natürlich nur eine Tabelle haben (auch bekannt als posts) und weitere Spalten hinzufügen, die für jede post_type eindeutig sind, wo sie bei Bedarf ausgefüllt werden. Das Problem dabei ist, dass sich in traditionellen relationalen Datenbanken die Anzahl der Spalten nicht häufig ändert. Obwohl mit DB-Engines für MySQL wie TokuDB (die Fraktalstruktur anstelle von B-Struktur verwendet), ist es keine Belastung, neue Spalten (und Indizes) nach Bedarf hinzuzufügen.

Ich möchte eine No-SQL DB für diese Art von Setup empfehlen. In No-SQL-Datenbanken soll sich das Schema häufig ändern, oder zumindest die Tabellen (oder Tabellenäquivalente) sind nicht an ein bestimmtes Schema gebunden. Sie können dies in MongoDB sehen, die ihre Daten als JSON oder BSON speichert. In MongoDB ist es völlig in Ordnung, alle Posts über verschiedene Post-Typen in einer Sammlung zu speichern. Es gibt Felder, die allen Post-Typen gemeinsam sind, und einige Felder sind für bestimmte Post-Typen eindeutig, und MongoDB ist damit einverstanden. Sie können nach den allgemeinen Feldern oder den eindeutigen Feldern suchen.

Verwandte Themen