【发布时间】:2012-04-30 21:57:44
【问题描述】:
以下是我想要作为标准列族的 POJO 的一瞥 卡桑德拉:
class Person {
string key
string name
string dob
List<String> phones
List<String> ids }
显然我的键是我的主索引。
不知道如何做清单?必须为它们创建一个新的 CF,还是将它们全部添加为列?
好的,所以我也希望通过相等搜索所有内容。
获取电话= 1112223333的人
获取名字=Al 和 dob=yyyy-mm-dd 的人
我说的是 1 亿人,所有列大多是唯一的 那么这是否排除了内置的二级索引?
我“得到”了我自己的 CF 作为索引,其中主键是电话,列名是 Person CF 的主键。
但是如果我需要删除手机,给定 key=1234,我如何维护手机的 CF 索引。 TIA Jurgyman
【问题讨论】:
-
您每人侦察多少电话号码?电话号码和 Person 之间是否存在一对一的映射关系,或者电话号码是否属于多个人?
-
电话号码上的多对多...夫妻俩都与家庭号码相同。
-
一个想法是将电话号码作为 JSON 字符串存储在 Person CF 的电话列中。删除电话号码时,您使用给定键查询行,例如1234 删除phone列中的条目,并删除索引CF中的对应行。
-
为什么是 json?它只是一个列表。为什么不只使用 delim 和 split。此外,还有另一个从 1 到 10k 值的列表属性。但是 avg vals 只是 4。我看到其他人建议将它放在 col 名称中。电话:1115551212 - , ....
-
格式不重要,你当然可以用你选择的格式。如果您有一个可能包含 10k 个值的 List 属性,我想最好按照建议将值存储在列名中。