我们有 1000 万用户,可以与 150 万种产品进行交互。
在 dynamodb(NoSQL 数据库)中,我们有这样存储的用户友谊:
朋友桌
user_id | friends
1 | [2, 3, 4]
2 | [1,5]
3 | [1, 4]
4 | [1, 3, 5]
5 | [2, 4]
在 Amazon RDS(SQL 数据库)中,我们有交互:
交互表
row | user_id | product_id
1 | 1 | 1
2 | 1 | 2
3 | 3 | 3
4 | 4 | 3
到目前为止,当用户访问产品页面时,他们可以看到与该产品进行过交互的朋友。这很容易计算!
但是,如果我们也想向他们的朋友展示朋友怎么办?
对数据库进行建模以实现这一目标的最佳方法是什么?我们可以完全改变数据库结构,做一些数据预处理等。
提前致谢。