天天看点

tidb中的key和MVCC value解析

作者:闫彬彬​

【正文】

**tidb中的key和MVCC value解析**

下面介绍下tidb中key和mvcc value的解析方式,供大家学习参考,不对之处还请指正,后续有其他信息会在此贴更新。

一、key解码

1、 直接使用TIDB_DECODE_KEY函数进行解析

tidb中的key和MVCC value解析

pd-ctl region查看的key信息是一串十六进制字符串

tidb中的key和MVCC value解析

TIDB_DECODE_KEY是5.0版本开始有的tidb内置函数可以将key解析为包含table_id/rowed的json格式

tidb中的key和MVCC value解析

2、 使用ctl工具转换

(1) 使用tikv-ctl --to-escaped将key转换为escaped raw格式

tidb中的key和MVCC value解析

解析处理的格式已经包含t_、_r

(2) 使用tikv-ctl --to-hex 将每组字符转换为十六进制

tidb中的key和MVCC value解析

使用转换后的十六进制进行替换

tidb中的key和MVCC value解析

(3) 使用tidb-ctl decoder进行解码

tidb中的key和MVCC value解析

二、 解析MVCC信息

1、 假设我们已经获得key的rowid

tidb中的key和MVCC value解析
tidb中的key和MVCC value解析

2、使用API接口查询相应rowid的MVCC版本信息

curl “​​http://tidb-server:10081/mvcc/key/db_name/table_name/row_id​​”

tidb中的key和MVCC value解析

可以看到该行数据已经有2个版本