tidb的数据压缩比例

【 TiDB 使用环境】
【概述】:场景 + 问题概述
【背景】:做过哪些操作
【现象】:业务和数据库现象
【问题】:mysql数据大小有100gb,迁移到tidb后只有50gb,默认三副本,这个情况正常吗?
【业务影响】:
【TiDB 版本】:5.3
【附件】:

1 Like

你这50G是从哪看的

正常,京东物流测试压缩比到3.4:1

3 Likes

mysql的100G是一个主库的吗,包括binlog不,tidb的50G是多个节点加起来的总和吗,另外你看下mysql的表碎片多不多。

100gb是表的大小,不包含日志,tidb方向是5个节点加上一共占用50gb

哦,好的

我再补充一个每层数据的默认压缩配置,看看能不能帮上:

compression-per-level

  • 每一层默认压缩算法。
  • defaultcf 的默认值:[“no”, “no”, “lz4”, “lz4”, “lz4”, “zstd”, “zstd”]
  • writecf 的默认值:[“no”, “no”, “lz4”, “lz4”, “lz4”, “zstd”, “zstd”]
  • lockcf 的默认值:[“no”, “no”, “no”, “no”, “no”, “no”, “no”]
2 Likes

兄台这篇文章能发个链接嘛

底层的rocksdb是有压缩机制的

MySQL 100gb也不包含索引吧?TiDB三副本50gb,每个kv大概16.7gb,压缩率很高了

其实我在想这100g是怎么算出来的,如果是根据information_schema.tables算出来的,那有可能不准,如果是根据表空间文件.ibd 算出来也有可能不准,tidb这么高的压缩率第一次见

谢谢大佬