Cassandra 二级索引如何在内部工作?文档声明它是某种哈希索引:
鉴于我在 CF 中有username="foobar"
列(列用户名将是次要索引)User
RandomOrderingPartitioner
- 我的假设是否正确,cassandra 使用“分布式哈希索引”(=所以索引不在一个节点上=索引被拆分)?
- 索引部分保存在多少个节点上(与复制因子相同)?
索引部分保存在哪些节点上(Cassandra 是否通过与具有 RandomOrderingPartitioner 的键相同的逻辑来拆分索引)?
如果索引仅保留在一个节点上(当然是复制的),cassandra 如何“确定”负责索引的节点(通过散列列名,然后使用 randompartitioner logik 来确定节点)?
这个索引针对低基数进行了优化,这是真的吗?如果是,那么粗略估计(是否有一个我可以用来判断的具体数字),我不应该使用二级索引(而是使用单独的 CF 作为索引)?或者换一种说法,如何计算基数并做出正确的决定?
我试图理解这一点。