【发布时间】:2017-05-10 15:12:48
【问题描述】:
好的,我一直在寻找解释,但仍然找不到答案。
当我们谈到 Cassandra 索引时,我得到了要点,其中是:
- 不要用于高基数或非常低基数的数据
在低基数上我明白了 - 搜索时我们会得到非常宽的行。
但是对于高基数数据,幕后会发生什么?所有书籍和博客似乎都复制了 datastax 示例,它没有解释为什么,只是告诉你不要这样做。
假设,我想在用户电子邮件上创建一个索引。如果我理解正确,当我通过电子邮件搜索用户时,会发生两件事:
- 询问所有节点,哪个具有与此电子邮件相关的用户 ID
- 通过用户ID从正确的分区获取用户
如果我在用户国家创建索引(这似乎是更合适的字段),算法应该是相同的。
所以,请解释一下我在理解为什么对高基数数据使用索引不好时所缺少的内容。
另外,关于相关主题:是否存在索引比物化视图更受青睐的情况?
【问题讨论】:
标签: cassandra