主要是想了解下一个tidb的key最终落到rocksdb是什么样子的。
比如说:key 查找region后,增加时间戳,变成 key+ts, 又有mvcc之类的。
看到tikv代码里面还有 DATA_PREFIX,这是给每个key都加上的吗?
有没有类似的文章介绍的?看代码也能找到,就是慢点。
主要是想了解下一个tidb的key最终落到rocksdb是什么样子的。
比如说:key 查找region后,增加时间戳,变成 key+ts, 又有mvcc之类的。
看到tikv代码里面还有 DATA_PREFIX,这是给每个key都加上的吗?
有没有类似的文章介绍的?看代码也能找到,就是慢点。
推荐看主篇文档,详细介绍了你想知道的部分:
https://docs.pingcap.com/zh/tidb/stable/tidb-best-practices
https://pingcap.com/zh/blog/tidb-internal-1
https://pingcap.com/zh/blog/tidb-internal-2
https://pingcap.com/zh/blog/tidb-internal-3
计算、存储、调度都是相关的,不能拆开看,否则会有遗漏的
以上最好参考代码来思考,希望对你有所帮助
internals.tidb.io上问了,有大佬回答了。搬过来答案供其他人参考。
https://github.com/facebook/mysql-5.6/wiki/MyRocks-record-format#memcomparable-format
https://github.com/facebook/mysql-5.6/wiki/MyRocks-record-format#memcomparable-format
推荐看主篇文档,详细介绍了你想知道的部分:
https://docs.pingcap.com/zh/tidb/stable/tidb-best-practices
[三篇文章了解 TiDB 技术内幕 - 说存储 | PingCAP
三篇文章了解 TiDB 技术内幕 - 说计算 | PingCAP
三篇文章了解 TiDB 技术内幕 - 谈调度 | PingCAP
我也学习学习
不同情况下,key的格式不一样,你可以先看看tidb的数据存储形式相关内容。
也学习了
此话题已在最后回复的 60 天后被自动关闭。不再允许新回复。