You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何计算Cassandra分区大小?(含指定表结构与数据场景)

Cassandra分区大小计算(100万行无普通列)

给定表结构:

CREATE TABLE IF NOT EXISTS video (key int, value int, PRIMARY KEY (key, value));

其中分区键为key,聚类键为value,无常规列,分区内包含1000000行数据,以下是分区大小的近似计算:

未压缩大小(近似值)

Cassandra的分区存储包含两部分核心开销:分区级元数据、每行的聚类键及行元数据。

  • 分区级固定开销:
    • 分区键(key为int类型):4字节
    • 分区头元数据(包括索引标记、分区摘要等):约32字节
    • 合计:36字节(相对于百万行数据可忽略)
  • 单条聚类行的开销:
    • 聚类键(value为int类型):4字节
    • 时间戳(Cassandra默认自动添加):8字节
    • 行控制元数据(无删除/TTL时的标记位、列计数标记):约2字节
    • 单条行合计:14字节
  • 总未压缩大小:
    1000000行 × 14字节/行 + 36字节 ≈ 14MB

压缩后大小(近似值)

Cassandra默认使用LZ4压缩算法,针对这类重复度较高的整数数据,压缩比通常在2~4倍之间,因此压缩后的分区大小约为3.5MB ~ 7MB。

注:实际大小可能因Cassandra版本、存储引擎配置(如是否启用行缓存、索引策略)略有差异,但以上为通用场景下的合理估算。

内容的提问来源于stack exchange,提问作者Sahil Ummer

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 01:31:22