1
如果我在STATUS列上有二级索引,我想获得STATUS ='processed'的所有密钥(在一定范围内)。我怎么能不读任何列?我只需要键列表,因此只需要访问索引(每个节点一个磁盘搜索而不是2个)。获取列等于某个值的关键字列表?
如果我在STATUS列上有二级索引,我想获得STATUS ='processed'的所有密钥(在一定范围内)。我怎么能不读任何列?我只需要键列表,因此只需要访问索引(每个节点一个磁盘搜索而不是2个)。获取列等于某个值的关键字列表?
二级索引不能直接被用户访问,因此您需要针对您编制索引的CF运行索引查询并获取密钥。如果您希望只保证一次磁盘寻道,您需要创建自己的索引(即包含所有“已处理”密钥的CF),以便您可以直接查询它。
这是一个无赖。创建我自己的索引是不一样的,因为它不是分布式的,它创建了热点。 你知道吗,卡桑德拉有关于这个问题吗?它可以加速很多事情(这不仅仅是一次额外的磁盘寻道,因为密钥遍布整个地方并且有许多不同的状态,所以可以有更多的磁盘寻道)。 – user1944408
你自己的索引将被分发,没有任何理由会产生热点。我认为你使用的是RandomPartitioner(如果不是你应该的话),在这种情况下,你创建的任何CF将会均匀分布。 –
我不知道JIRA,因为我认为这是设计。 –