理解和定义Cassandra中的主键
在Cassandra中,假设我有一个名为理解和定义Cassandra中的主键,cassandra,cassandra-3.0,Cassandra,Cassandra 3.0,在Cassandra中,假设我有一个名为cats 在猫表中,让我们假设一只猫只能根据猫的颜色和猫的名字来唯一识别,例如 color: blue, name: henry 然而,可能有许多猫是蓝色的。类似地,可能会有很多猫叫亨利。然而,只有一只猫名叫亨利,它的颜色是蓝色的 我的问题是,我应该将什么定义为主键以及如何定义。例如,我应该将名称作为分区键,还是将颜色作为分区键,还是将这两个字段都作为分区键的一部分?添加颜色和/或名称作为聚类键是否有益?我也读过关于散列值作为分区键的内容;使用一个单独的
cats
在猫表中,让我们假设一只猫只能根据猫的颜色和猫的名字来唯一识别,例如
color: blue, name: henry
然而,可能有许多猫是蓝色的。类似地,可能会有很多猫叫亨利。然而,只有一只猫名叫亨利,它的颜色是蓝色的
我的问题是,我应该将什么定义为主键以及如何定义。例如,我应该将名称作为分区键,还是将颜色作为分区键,还是将这两个字段都作为分区键的一部分?添加颜色和/或名称作为聚类键是否有益?我也读过关于散列值作为分区键的内容;使用一个单独的散列值作为分区键,并将名称和颜色添加为二级索引,这会有什么好处吗
这里的性能影响是什么?哪种表格设置最有效
用户将按名称和颜色或仅按颜色进行搜索,但绝不只按名称进行搜索
提前谢谢 要从表中检索数据,必须提供分区键中定义的所有列的值。因为在你的情况下,用户 可以只按颜色查询,也可以按颜色和名称查询,您需要以下定义 主键(颜色、名称) 有了它,您可以只使用颜色进行查询,因为它是一个分区键,还可以同时使用这两个键进行查询