【问题标题】:Implementing newsfeed using data from different social networks使用来自不同社交网络的数据实施新闻提要
【发布时间】:2016-04-24 09:47:41
【问题描述】:

我正在尝试使用来自不同社交网络(Twitter、Facebook、Linkedin 等)的数据来实现统一的新闻源。每个网络也有不同类型的数据,例如,我需要在新闻源中显示 twitter 提及、转发,甚至直接消息。

我创建了一个posts 表,对于每种类型,我都有一个不同的表(例如twitter_mentionsretweets)。现在,我有一个名为post_typepost_id 的列,基于post_type 我可以查询相应的表。现在由于这种策略,我必须为每种类型运行不同的查询。

有没有更好的方法来实现这种统一的新闻源?

【问题讨论】:

    标签: mysql database


    【解决方案1】:

    你的方法还不错。关系数据库和 3NF 的标准。您当然可以只有一个表(又名posts)并继续添加更多对每个post_type 唯一的列,如果相关,它们会在其中填写。这样做的问题是,在传统的关系数据库中,列数不会经常变化。虽然使用像 TokuDB 这样的 MySQL 数据库引擎(使用分形树而不是 B-树),但根据需要添加新列(和索引)并不是一种压力。

    我想为这种类型的设置推荐一个 No-SQL 数据库。在 No-SQL 数据库中,模式旨在经常更改,或者至少表(或表等价物)不绑定到给定的模式。您可以在 MongoDB 中看到这一点,它将其数据存储为 JSON 或 BSON。在 MongoDB 中,将不同帖子类型的所有帖子存储到一个集合中是非常好的。将有所有帖子类型通用的字段,并且某些字段对于某些帖子类型是唯一的,MongoDB 是可以的。您可以搜索公共字段或唯一字段。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-10-18
      • 1970-01-01
      • 1970-01-01
      • 2016-09-20
      • 1970-01-01
      • 2013-11-05
      • 1970-01-01
      • 2012-11-13
      相关资源
      最近更新 更多