http://about.digg.com/blog/looking-future-cassandra
我找到了这篇关于 Digg 迁移到 Cassandra 的文章。但是我没有得到作者对 Bucket for pair (user,item) 的想法。关于这个想法的更多细节将有助于我更好地理解解决方案。
谢谢
http://about.digg.com/blog/looking-future-cassandra
我找到了这篇关于 Digg 迁移到 Cassandra 的文章。但是我没有得到作者对 Bucket for pair (user,item) 的想法。关于这个想法的更多细节将有助于我更好地理解解决方案。
谢谢
听起来他们在每个用户使用一个超级列族中的一行,每个项目一个超级列;项目超列的子列代表挖该项目的朋友。至少在 pycassa 中,这使得插入变得如此简单:
column_family.insert(user, {item: {friend: ''}})
他们也可以通过其他几种方式做到这一点,我不确定他们选择了哪种方式。
一种是使用标准列族,使用 (user,item) 组合作为行键,并且每个挖掘项目的朋友使用一列:
column_family.insert(user + item, {friend: ''})
另一种是使用标准列族,仅使用 (user) 作为行键,并使用 (item,friend) 组合作为列名:
column_family.insert(user, {item + friend: ''})
听起来这不是他们使用的,但它也是一个可以接受的选择。