region 与 sst 文件有关系吗?

【 TiDB 使用环境】测试
【 TiDB 版本】6.5.0
【复现路径】/data1/tikv-20160/db
【遇到的问题:问题现象及影响】
1)region 与 sst 文件有关系吗?
2)sst 文件与表有关系吗?比如是否一个 sst 文件中仅对应一张表
3)表数据与索引数据都保存在 sst 文件中吗?
【资源配置】
【附件:截图/日志/监控】

  1. 有一点点关系,tikv有个compaction_guard 会尽量保证一定大小的region和sst边界对齐。可以使用tikv-ctl region properties查看region下的sst文件,可能会包含其他region的sst

2、sst是rocksdb的东西,不和上层tidb的表对应。
3、tidb使用rocksdb作为存储引擎,所有表 索引数据都在rocksdb的sst

sst 是rocksdb的概念。
region是逻辑的概念。tikv把一段key域分成几个范围。
表是tidb的概念。

tidb的任何表最终都会转换成kv存储在tikv中,tikv的任何数据最终都会通过rocksdb以sst的形式存储在磁盘上。
进一步:你也可以说sst文件是一个个的文件块存储在文件系统中,然后0、1的形式存储在磁盘中。

他们是从上到下的一个关系。

可以简单的把region理解成oracle的tablespace(这个可能不是太贴切)
sst 理解成oracle中的datafile
再去对应region和sst的关系,表索引数据的存储跟sst的关系,就比较好理解了

:+1: :+1: :+1:

谢谢大佬

好的,谢谢大佬

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