TiDB 中如何查询一张表在操作系统里的空间占用?

【 TiDB 使用环境】生产环境
【 TiDB 版本】v6.1.2

有个项目需要部署一套 TiDB 集群,将 ES 中 30T 的存量数据迁移到 TiDB 中。需要预估各组件节点数量。

若按照 TiDB 的 3 副本,单个 TiKV 不超 2T。那 90T 数据需要 45 个 TiKV。但是,TiKV 存储数据时,会对数据进行压缩。
问题:

  1. 不知道这个压缩比大概是多少?

  2. 如何获取一张数据表在 TiKV 中的空间占用量?

  3. 业务场景为 OLAP,若仅从存储角度考虑,建议部署多少个 TiKV 节点?

1.压缩比,目前来说都是一些预估值,预估可以到9倍,建议可以先从es当中迁移部分数据到tikv当中,看看压缩比有多少
2.首先把这张表的region得出来,show table tablename regions,然后tikv-ctl size -r region id ,看下真正占用了多少空间
3.如果场景是olap,按照你说的需要45个tikv,应该是可以单机多实例部署tikv