rocksdb查询时TiKV的Block Cache和TiDB 的Membuffer的都缓存业务数据,有什么区别?

【 TiDB 使用环境】生产\测试环境\ POC
【 TiDB 版本】
【遇到的问题】
【复现路径】做过哪些操作出现的问题
【问题现象及影响】
【TiDB Operator 版本】:
【K8s 版本】:
【附件】:

Block cache主要用于读,类似于普通数据库的buffer cache但只能读,membuffer主要用于Lsm tree存储结构的写,增删改的数据都会写入mem,写满后会存入文件,也可以用于数据查询时的读,

好像课程讲到TiDB Server的membuffer会有缓存一些查询结果,当然还有统计信息之类的,Block cache好像是TiKV Server上的缓存,也是缓存一些最近查询的数据

blockcache缓存的从sst文件读取的数据块,writebuffer是rockksdb缓存写的地方,都是追加写。membuffer是缓存tidb的写入,所有应用写入的数据都先写到这,在commit时才写到tikv,即rocksdb的writebuffer

blockcache也是rocksdb的组件吗?也就是说TiKV节点主要是指rocksdb(2个实例)?rocksdb的架构是怎样的?

是的,tikv2个rocksdb ,一个存raftlog,一个存锁信息和具体数据,rocksdb结构可参考官方文档 https://github.com/facebook/rocksdb/wiki

谢谢,我看下