是否可以使用rockdb的工具来查看/监控TiKV存储创建的sst文件

【 TiDB 使用环境】实验
【 TiDB 版本】

【遇到的问题:问题现象及影响】 想对SST进行一些实验,对于数据的存储位置希望能够进行监控,是否可以用rocksdb提供的工具如sstdump等对tikv数据目录下的sst文件进行解析,并查看表数据的存储情况?(如表数据存在具体哪个SST文件里,大致的位置等)。是否有相关实践/案例?
【资源配置】
【附件:截图/日志/监控】

在rocksdb中,没有表的概念,只能看到key在哪里。
可以用ldb看看,但是和上面的表对应不上。
tikv-ctl 里面也潜入了ldb
大概用法就是 tikv-ctl ldb … 后面的参数就是ldb的参数,不清楚的话可以用 tikv-ctl ldb --help 查看。
建议加上 --hex,因为key、value都不保证是可打印的。

1 个赞

感谢,那请问是否有表中某一行数据-》key的对应方法?参考这篇文章,请问是否在实现中也可以这样对应呢?专栏 - TiDB 元信息管理方式 | TiDB 社区

原则上是能算出来,因为写入数据查询数据也得经过这个转换,但是有没有放出工具我不清楚。

编码规则是比较复杂的。可以参考一下这篇文章:[求助]Tikv client中v2版本的 raw kv的编码实现方式疑问

tidb 往 tikv 发的是raw key,这些raw key 经过了MVCC/TXN 层,会做 memcomparable 编码,编码后的 key 就是 encoded key。然后发往 rocksdb ,在增加z前缀,变成 data key

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