导读
作者:杨漆
16年关系型数据库管理,从oracle 9i 、10g、11g、12c到Mysql5.5、5.6、5.7、8.0 到TiDB获得3个OCP、2个OCM;运维路上不平坦,跌过不少坑、熬过许多夜。把工作笔记整理出来分享给大伙儿,希望帮到大家少走弯路、少熬夜。
从Tidb的架构图中,秒懂这种绝妙
OLTP + 实时OLAP两种Store并行,从客户端进来的请求智能选择,TiDB 可以自动选择使用 TiFlash 列存或 TiKV 行存,甚至在同一查询内混合使用提供最佳查询速度。(这个选择机制与 TiDB 选取不同索引提供查询类似:根据统计信息判断读取代价并作出合理选择)。
完成实时OLAP的TiFlash在提供了良好的隔离性的同时,也兼顾了强一致性。列存副本通过 Raft Learner协议异步复制,在读取的时候通过 Raft 校对索引配合 MVCC 的方式获得 Snapshot Isolation 的一致性隔离级别。很好地解决了 HTAP 场景的隔离性及列存同步的问题。
TiFlash是何神物 ?
TiFlash 提供列式存储,拥有借助 ClickHouse 高效实现的协处理器层。依赖Multi-Raft 体系以 Region 为单位进行数据复制和分散。
TiFlash 以低消耗不阻塞 TiKV 写入的方式,实时复制 TiKV 集群中的数据,同时提供与 TiKV 一样的一致性读取,可以保证读取到最新的数据。TiFlash 中的 Region 副本与