gpt4 book ai didi

indexing - cassandra中分区摘要的内部结构

转载 作者:行者123 更新时间:2023-12-05 00:41:36 25 4
gpt4 key购买 nike

我在看: https://academy.datastax.com/courses/learning-cassandra-read-path/understanding-partition-summaries-and-indexes我对此演示文稿有疑问。

分区摘要实际上代表什么? :)

我的第一个想法是它只是一个保存 x% 键位置的缓存。这意味着大约一个 126 请求可以直接获取 key ,而其他 125 必须遍历整个表。但我认为这是非常无效的。

我的第二个想法是分区摘要能够以某种方式为指定的键提供一系列索引,其中给定键的行应该存在。但我无法想象这如何实现?特别是如果这个表应该是大小 |分区索引|/index_interval

我想到的另一个问题是 SSTable 是否可以为特定键保留许多条目?

谢谢,克日楚桑

最佳答案

分区摘要是分区索引的抽样。分区摘要是一种内存结构,可减少在索引中查找分区键所需的扫描时间。

一个非常简单的例子将有助于解释这个概念。

假设分区索引文件中有 100 个分区键:pk001 到 pk100。分区键按排序顺序存储,因此我们知道 pk027 在 pk025 之后。

在这个过于简化的示例中,如果将分区摘要设置为每 10 个分区键采样一次,那么它将包含一个映射到 10 个分区键及其在磁盘上的分区索引中的位置。例如,pk001 -> 文件开头,pk010 -> pk010 在索引文件中的位置,等等。

现在,当 C* 收到对 pk027 的请求时,它知道 pk027 位于 pk020 之后。此外,摘要(每 10 个分区键采样一次)知道 pk020 的确切位置。

因此,C* 根据摘要提供的信息在索引文件中查找 pk020 的位置。然后它执行从 pk020 到 pk027 的非常短的扫描。

总之,分区摘要是分区索引文件的内存采样,允许 Cassandra 在索引文件中执行查找分区的大致位置,然后进行非常短的扫描。

关于indexing - cassandra中分区摘要的内部结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26244456/

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