我的社交网站
我想创造一个“流”的活动。它将以朋友关系或订阅为基础。一旦你是另一个会员的朋友,或者你订阅了他们的帐户,这个成员的所有活动都会出现在你的流中。
这有几个问题。我想这也是一个很常见的问题,虽然大多数应用程序只处理一种类型的数据(图片,论坛帖子,.)。
发布于 2015-01-28 15:21:16
这方面的数据。您必须决定是否使用关系数据库?其他一些数据库变体可能更适合。
如果选择使用关系数据库,则可以使用以下表:
<activity_id, user_id, timestamp><activity_id, mime_type, summary_blob> mime类型用于解释和呈现summary_blob。它允许支持大型和可扩展的活动类型集,并将所有活动存储在同一个表中。<activity_id, mime_type, full_blob>可提供下列考虑和备选办法:
或者,您可以为每种类型的活动使用一个活动流表,其中包含单独的表,这些表引用到活动流键。这可能类似于您当前没有在需求解决方案中执行,具体取决于当前的实现。同样,您也可以使用摘要来加速加载。检查堆栈溢出上的问题oop -设计表示OO类层次结构的SQL数据库。例如:
Activitystream table: <activity_id, activity_type, user_id, timestamp>
Image uploads table: <activity_id, image_data>
Text posts table: <activity_id, post>在这里,您仍然必须搜索所有表来创建活动流,但只有在activitystream表中,您必须通过时间戳搜索,在其他表中,您可以通过键选择相关记录。不要尝试合并所有表,而是让图像呈现路由使用图像上传表,让文本post显示器使用文本post表等等。
https://softwareengineering.stackexchange.com/questions/271397
复制相似问题