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