Tiflash 本身用于分析场景,有大量重复的一样的sql查询操作,特别BI场景,n个用户访问同一个页面进行了n次查询,这个查询能否缓存直接返回呢?
我的理解是这样的 查询都是tidb server 负责接收的
如果是一样的查询 第一次查询到tiflash 中有结果之后会存储到tidb server 中membuffer 里面
再次查询的时候应该可以直接从membuffer 调出结果
看完 TiDB 数据库核心原理与架构 [TiDB v6] 这个课之后 视频中好像也没有说到 Tiflash 和 tidb 有缓存查询结果的功能
tikv 的缓存其实是 region cache,缓存的是元信息和 SQL 结果信息。 TiFlash 确实还没有做类似的。
tidb server有coprocess cache缓存tikv的下推算子结果,适合于小表、不怎么变化的数据,要考虑内存和数据变化导致的失效,tiflash里一般都是比较大的表,应该会有较频繁的变化,貌似不同适合缓存结果
我搜了一下tiflash cache 关键词 还真出来了一个
感觉这个东西应该就是tiflash 用的了 但是文档中只有这一个相关词条 还是4.0.9的
我个人觉得要是不纠结的话 tidb server 里面的membuffer 的缓存应该就够用了
各位大佬研究的真仔细 tiflash基本用的是都是统计 一行就会变化真不适合缓存
TiFlash的使用场景的确不舍和缓存,可以参看下Oracle是将表转换为列格式,并使用合适的压缩算法存储到内存,加速分析查询
该主题在最后一个回复创建后60天后自动关闭。不再允许新的回复。