【问题标题】:Cassandra Compacted partition maximum byte size is higher than total space used for the tableCassandra 压缩分区最大字节大小高于表使用的总空间
【发布时间】:2016-10-06 12:56:20
【问题描述】:

我正在开发 Cassandra 版本 2.1.13.1218 和 cqlsh 版本 5.0.1。

对于给定的表,当我运行cfstats 命令时,压缩分区最大字节数大于已用空间(总计)。例如:

Compacted partition maximum bytes: 4.64 MB

Space used (total): 2.28 MB.

表使用的总空间应始终较高,因为所有大/小分区大小都是给定表总空间的一部分。压缩分区最大字节大小如何高于表使用的总空间?

命令是:./cqlsh cfstats keyspace.columnfamilyname -H

有人可以帮我理解这一点吗? Space used (live) 和 Space used (total) 之间有什么区别?

【问题讨论】:

    标签: datastax cassandra-2.0 datastax-enterprise


    【解决方案1】:

    使用的空间表示磁盘上的表使用了多少空间。这取决于操作系统和压缩比。 而压缩分区最大字节数只是遇到的最大分区大小(压缩后)。这基于所使用的数据建模/模式和逻辑记录大小。例如,100kb 的记录大小乘以 40 条记录(每条记录进入同一个分区)将得到一个 4MB 的分区。

    当它位于磁盘上时,它可能会被进一步压缩,您可能会获得 2MB 的磁盘空间。你也可以分享其余的统计信息吗(ex、min 和 avg 大小的压缩信息、键的数量)?

    【讨论】:

    • 我找到了。这实际上是墓碑的问题。该特定表发生了许多删除,而 GC 尚未触发以收集它们。在压缩和 GC 触发之后。表使用的空间是有意义的。顺便说一句,非常感谢您的关注。
    • 太棒了!我没有指出那里也可能有墓碑,但我认为您可能已经考虑过了。
    猜你喜欢
    • 1970-01-01
    • 2019-03-02
    • 1970-01-01
    • 2021-11-15
    • 2017-10-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多