TiDB插入的数据存到了哪里?

为提高效率,请提供以下信息,问题描述清晰能够更快得到解决:
【 TiDB 使用环境】

【概述】 场景 + 问题概述
通过SQL插入了11亿行数据,但是磁盘存储增长有限,而同等数据,在mySQl下增长为1T,而在TiDB下只增长了189G的大小。
【背景】 做过哪些操作
插入数据
【现象】 业务和数据库现象
磁盘增长有限
【问题】 当前遇到的问题
1)数据是否都存储在tikv-20160/db目录下?
2)存储下的sst文件后存在压缩吗?为什么比mysql占用更少的磁盘空间?能否告知存储的原理?
【业务影响】

【TiDB 版本】
v5.3.0
【应用软件及版本】

【附件】 相关日志及配置信息

  • TiUP Cluster Display 信息
  • TiUP CLuster Edit config 信息

监控(https://metricstool.pingcap.com/)

  • TiDB-Overview Grafana监控
  • TiDB Grafana 监控
  • TiKV Grafana 监控
  • PD Grafana 监控
  • 对应模块日志(包含问题前后 1 小时日志)

若提问为性能优化、故障排查类问题,请下载脚本运行。终端输出的打印结果,请务必全选并复制粘贴上传。

1 个赞

集群的拓扑是什么样的,几个tikv节点,189G是几个tikv节点的和吗?

1 个赞

sst文件内容有压缩,可以通过参数控制 每层的压缩算法

1 个赞

三个kv节点,是3个kv的和。

1 个赞

189GB 这个大小 是所有节点的总大小 还是单台的

1 个赞

所有,三个kv

1 个赞

这是很正常的,TiDB只是兼容mysql,而不是mysql,不能把过去玩儿mysql的东西来看TiDB。TiDB底层存储引擎用的是TiKV,而TiKV中让数据落盘的是rocksDB, 存储 kv型数据 时会采用压缩算法。

TiDB 数据库的存储 | PingCAP Docs

3 个赞

tiup cluster edit-config <cluster-name>
看下tikv的data_dir,这里是数据路径,你的数据路径应该是没有问题的,sst文件是物理文件,数据文件是有压缩的。存储原理可以参考高级管理课程中Lesson 03 TiKV 这一节,有董菲老师非常详细的讲解。https://learn.pingcap.com/learner/course/120005

4 个赞

看下tidb内数据和mysql内数据量有差异没,没有的话可以宣传一波tidb的高压缩比了

1 个赞

可以考虑下这几点:
1、MySQL的1T,你是否包含了binlog的内容
2、可以查看下MySQL表数据情况,是否存在page分裂太多导致文件过大问题。

2 个赞

只统计对应表的ibd文件

1 个赞

压缩后的数据肯定小得多,idb文件,不准确

1 个赞

ibd只能做估算

此话题已在最后回复的 1 分钟后被自动关闭。不再允许新回复。