任何人都可以告诉我创建二级索引与在Cassandra中手动创建索引CF之间的差异
答案 0 :(得分:0)
Cassandra中的二级索引在每个节点上存储和维护。因此,当您通过二级索引进行筛选时,Cassandra将需要在每个节点上执行搜索,然后返回组合结果。因此,通过二级索引进行过滤可能比通过分区键过滤要慢得多(根据我的测试,它可能慢10倍,具体取决于您的数据和拓扑)。
维护自己的索引表对于大多数用例来说效率更高,但您需要自己处理更新索引表。此外,您需要执行两个查询来检索数据:一个查询索引表,另一个查询实际数据。
另一个解决方案是完全复制数据,并创建两个具有相同结构但不同键的表。
如果性能是您关键的问题,那么请转到索引表或重复的表。如果您需要简单并且可以承受一些性能损失,请使用二级索引,但我建议事先进行一些性能测试。