帮助我更好地了解Digg的Cassandra数据模型
题
http://about.digg.com/blog/looking-future-cassandra
我发现了有关Digg转移到Cassandra的文章。但是我没有得到作者对配对(用户,项目)的存储桶的想法。关于这个想法的更多细节对我有助于更好地理解解决方案。
谢谢
解决方案
听起来他们在每个用户中使用超级列家族中的一行,每项超级列;项目超级列的子列代表一个笨蛋的朋友。至少在pycassa,这使得插入文字一样简单:
column_family.insert(user, {item: {friend: ''}})
他们还可以做其他几种方法,我不确定他们选择了哪种方法。
一种是使用标准的列族,使用(用户,项目)组合对行键,并使用每位朋友的一个列来使用该项目:
column_family.insert(user + item, {friend: ''})
另一个是使用标准列家族,仅将(用户)用于行键,然后使用(项目,朋友)组合作为列名:
column_family.insert(user, {item + friend: ''})
听起来不是这样使用的,但这也是可以接受的选择。
不隶属于 StackOverflow