云存储与推荐系统的数据管理与应用
1. 数据存储表设计
在处理大规模结构化数据推荐时,涉及到几个关键的表设计,以满足不同的查询需求。主要有三个表:
- 用户关注表(Users) :用于记录用户之间的关注关系,可查询“用户 X 关注了谁”以及“谁关注了用户 X”。
- 推荐结果表(Recommendations) :存储机器学习作业的输出,用于在用户关注新用户时提供推荐。
2. 用户关注表的设计方案
2.1 高表设计
高表通过在行键中添加信息来表示数据,有很多行。例如,用户 - 1 关注用户 - 2 的行键为 crc32c(user - 1) + crc32c(user - 2)。以下是示例表:
| Row key | Follows (column family) | Username |
| ---- | ---- | ---- |
| 14ccc4ac79c3758 | | user - 2 |
| 79c3758f5f7b45b | | user - 3 |
| f5f7b45b14ccc4ac | | user - 1 |
| f5f7b45b79c3758 | | user - 2 |
这种设计便于查询“用户 - 1 是否关注用户 - 2”,只需计算哈希并检索行。也可通过前缀扫描获取用户关注的所有人,但难以查询某个用户的所有关注者。为解决此问题,可存储双向关系的两行,使用特殊令牌区分“关注”和“被关注”,如下表:
| Row key | Follows (co
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



