首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从多个平台保存社交媒体帖子的最佳方法

从多个平台保存社交媒体帖子的最佳方法
EN

Database Administration用户
提问于 2018-10-11 09:06:20
回答 2查看 244关注 0票数 1

我正在一个平台上工作,它收集来自多个来源(Facebook、Twitter等)的帖子,并将它们保存到数据库中。计划是创建一个名为posts的表,其中包含所有平台的所有必要字段,甚至是特定于平台的字段。因此,保存下来的Facebook帖子可能包含一个名为retweets(Twitter专用)的空列。

另一个解决方案是创建一个Supertype帖子,它将包含所有的一般信息和类型(facebook、twitter),并与所有平台特定的表建立关系。

第三种选择是通用和平台特定的表,它们之间没有任何关系,Posts包含所有通用数据,平台特定(Facebook_posts)表包含通用数据和平台特定数据,它们仅与用户无关。

你认为性能和未来打样的最佳选择是什么?我们可能需要添加更多的平台,并可能删除\更改令人兴奋的平台。将来的某个时候,数据库可能包含10秒的数千个帖子。

备选案文1:一个表中的所有信息

代码语言:javascript
复制
Table name: Posts
id
title
facebook_id
retweets

选项2:具有多个关系的超级类型

代码语言:javascript
复制
Table name: SuperPosts
id
type
title

Table name: facebook_posts
id
facebook_id
shares

Table name: twitter_posts
id
twitter_id
retweets

备选案文3:一般和具体平台之间没有关系

代码语言:javascript
复制
Table name: Posts
id
platform_id
text

Table name: facebook_posts
id
facebook_id
facebook_text
shares

Table name: twitter_posts
id
twitter_id
twitter_text
retweets
EN

回答 2

Database Administration用户

回答已采纳

发布于 2018-10-11 21:10:55

您正在询问如何在关系数据库上实现继承,您提到的3种方法基本上是3种最常见/最基本的方法。有关它们的一些讨论,请参见https://stackoverflow.com/questions/3579079/how-can-you-represent-inheritance-in-a-database

没有“最佳”的方法可以做到这一点--这完全取决于您打算如何使用您的模式,因此它可以方便您以后的查询。

票数 1
EN

Database Administration用户

发布于 2018-10-18 17:38:38

对于混合列,尤其是那些可选的列,将它们抛到JSON列中。不要计划对Json列中的任何内容进行筛选或排序。

票数 0
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/219835

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档