gpt4 book ai didi

cassandra - 读取路径和压缩偏移映射

转载 作者:行者123 更新时间:2023-12-01 11:16:18 25 4
gpt4 key购买 nike

我试图了解 Cassandra 的读取路径,但不明白为什么我们需要一个
压缩偏移映射。
https://docs.datastax.com/en/cassandra/3.0/cassandra/dml/dmlAboutReads.html
enter image description here

The partition index resides on disk and stores an index of all partition keys mapped to their offset.

The compression offset map stores pointers to the exact location on disk that the desired partition data will be found.


为什么我们需要两者?为什么分区索引不能存储指向磁盘上确切位置的指针?
我很抱歉一个愚蠢的标题,但这就是stackoverflow问我的,我不能使用“如果我们有分区索引,为什么我们需要压缩偏移映射?”

最佳答案

该文件被压缩成块。默认情况下,64k 的数据被压缩,然后是下一个 64k 等等。写入索引文件的偏移量是未压缩数据的偏移量。这是因为在写入时,它知道到目前为止已经写入了多少字节,因此在启动新分区时使用它来标记。压缩偏移映射压缩偏移及其未压缩位置,因此它知道要开始解压缩哪个块以到达索引的某个未压缩偏移处的分区。

如果分区存在于 64k 压缩块的中间,则需要解压缩整个块。由于压缩算法的工作方式,您无法在中间开始阅读。这就是为什么在某些情况下减小块大小是有意义的,因为它会减少读取小分区的开销。

关于cassandra - 读取路径和压缩偏移映射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50631365/

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