gpt4 book ai didi

cassandra - 为什么我们在cassandra中需要二级索引,它们实际上如何工作?

转载 作者:行者123 更新时间:2023-12-01 23:58:15 28 4
gpt4 key购买 nike

我试图理解为什么在Cassandra上甚至需要二级索引。

我知道使用二级索引是因为:

“二级索引允许使用相等谓词(其中列x =值y)按特定值进行有效查询。此外,对索引值的查询可以应用其他过滤器来执行诸如范围查询之类的操作。”

来自:http://www.datastax.com/docs/0.7/data_model/secondary_indexes

但是我不明白的是为什么这样的查询:

get users where birth_date = 1973;

要求birth_date具有二级索引。为什么二级索引甚至必须存在? Cassandra不能只通过表然后在受约束条件匹配时返回值吗?为什么我们需要以任何特殊方式对待我们可能想要以这种方式查询的事物?

我假设由于每个行键都分配给不同的节点,使得cassandra分发并遍历整个表的事实可能并不容易,因此有点复杂。但是我真的不了解如何使它分发使问题变得复杂以及二级索引如何解决它(即cassandra如何解决此问题?)。

与此问题相关,是否真的可以在 SELECT * FROM column_family_table WHERE col_x = constraint的for中查询二级索引和主键?为什么主键很特殊?

最佳答案

由于这些Nosql数据库要处理的数据量很大,因此无法进行表扫描或区域扫描。这就是Cassandra限制并允许仅在启用辅助索引的情况下对非行键列进行查询的原因。这样,这些索引和数据将位于同一数据节点上。

希望能帮助到你。

-维维克

关于cassandra - 为什么我们在cassandra中需要二级索引,它们实际上如何工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22650126/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com