假设我们有一个社交网络的朋友列表表。如何最好地结合键值存储和数据库的数据
大部分用例将需要的朋友名单表被加入到你持有的个人信息,比如另外一个表:姓名,年龄,市档案图片URL,上次登录时间等信息。
一旦好友列表在100M行范围内。查询这样的JOIN可能需要几秒钟的时间。如果您引入其他几个WHERE条件,它甚至可能会变慢。
一个键值存储系统可以很快引入朋友列表。
让我们假设我们想显示最近登录的10个用户的朋友。 计算此输出的最佳方法是什么?我一直在想的几个方法如下。它们中的任何一个都有意义吗?
- 我们应该保存键值存储环境中的所有数据吗?每次新登录更新 键值存储?
- 或者我们应该拉朋友列表ID的第一个。然后使用“IN()”等数据库命令并查询数据库?
- 合并客户端级别的数据?一个javascript解决方案?
我会在快速存储中的朋友列表部分,并使用'IN'查询而不是联接 – njzk2 2012-03-26 14:28:46