Hii那里,
我的问题与论坛中的群组有关,与LinkedIn群组非常相似。
如何在论坛中存储组中所有用户的列表?...当组的大小非常大时,如组中的数万名成员?
另外,如何找到该组中用户的相互联系?
答案 0 :(得分:2)
我建议每组执行一行,每个成员都有一列。这适用于该组中的任何数量的用户。
关于查找“相互连接”,处理此问题的最简单方法是扫描第二个用户的连接并比较两者。
这是一个替代策略:假设我们想要找到组'G'中用户'A'的所有相互连接。如果A的连接行中的列使用连接的用户名(或用户ID)作为列名,则可以(使用pycassa语法):
group_members = GROUPS.get('G').keys()
group_members.remove('A')
user_connections = USERS.get('A').keys()
mutual_connections = USERS.multiget(group_members, columns=connections)
基本上,这将为组中的每个用户排成一行,并仅拉出与原始用户的连接对应的列。这会将工作从客户端转移到Cassandra,但如果没有性能测试,很难说这对Cassandra有多少额外的工作。