关于 TiFlash 我还没有实际使用,仅仅是看了些文档,很抱歉在此泛泛的问一下
https://docs.pingcap.com/zh/tidb/stable/tiflash-overview
关于一致性
文档提到 TiFlash 具有读取「一致性」,读取TiFlash 时会根据查询的时间戳来验证所需 region 是否复制完毕。
如果还没复制完毕,则会暂时不响应。
这是否意味着用 TiFlash 查询时,可能会有等待复制产生的阻塞和延迟?
关于 「智能选择」
不管是实例还是会话的设置, tidb_isolation_read_engines
如果包含了 tiflash 的话,查询分析器就可能会命中 TiFlash ,那么在上述情况下,是不是用 TiFlash 有可能不如只用 TiDB/TiKV 来得快?
在 OLTP 场景下
假设在高频读写的 OLTP 场景下,我们引入 TiFlash 想要隔离 AP 和 TP 的话,是否应该这样设置:
- tidb : 默认
tidb_isolation_read_engines=tidb,tikv
, 以避免 TP 受 TiFlash 的复制延迟的影响 ? - AP 下加特殊 session 设置,把
tidb_isolation_read_engines
设置成tidb,tiflash
?
以上只是看文档的感受,欢迎有实践经验的同学来指教。