有人可以从数据模型的角度解释从用户跟踪到实时提要的流程吗?我的开发团队遇到了这个问题:
当用户执行一项活动时,足迹会记录到 user_activity 表中,该表是所有用户足迹的主表。这意味着需要跟踪的每个用户的每个操作都将写在这里。
问题:
1) 一个活动是 1:M。就像我可以在 1 张照片中标记 10 个人。所以显然我不会为此在活动表中写 10 个足迹。因此,我需要另一个表来存储活动详细信息吗?
2) 由于该表记录了所有对象上的所有活动,从该表将其馈送到活动馈送表以输出到活动馈送,因此馈送需要知道活动中涉及的所有对象,因此它可以说“X 标记蒂姆照片中的马克、约翰、莎拉。” 其中 Mark、John、Sarah 基本上是链接到他们的个人资料的用户对象。照片是链接到照片表的照片对象...
上面是一个例子,但是有很多很多对象,比如电影、音乐、品牌、城市等。所以系统需要如何从日志表到活动提要知道哪个对象是什么以及它在哪里,以便它可以拉将相关数据放入提要中。为此,我有 2 个列:object_id 和 object_type_id,其中 object_type 类似于“用户、照片、品牌等”,object_id 是对象的 ID。但是如何将其与实际表连接?
3)最后,这种设计是最好的方式来了解我如何让它从跟踪数据到提要,即记录到日志表。日志表可能有一个明细表和日志表与会话表连接。每 2 分钟安排一次玉米作业将这些数据拉入一个非规范化的活动提要表中,并从这些 + 对象表中提取数据以直接读取到实时提要中。
- 2 分钟的玉米作业也让我感到害怕,因为如果有很多记录,那么系统可能需要超过 2 分钟才能完成作业,然后就会出现积压。那么我可以使用其他任何方法吗?