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: ''})

听起来不是这样使用的,但这也是可以接受的选择。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top