Day 9 - TiFlash架构(上)

TiDB能做到HTAP的另一块拼图,TiFlash,是以Column为储存模式的,适合用於一次读取少许栏位但大量行数资料。

https://ithelp.ithome.com.tw/upload/images/20210904/20113220JltMTVMtuH.png

由上图可看出TiKV与TiFlash的架构,相同的资料一样是同一个raft group。
但是在资料的同步上,不同於TiKV里头leader或者follower的角色,TiFlash是learner。

其实在TiKV里头也有learner,就是一个未完成体的follower,当一个region replica要移到另一个TiKV store的时候,会先在store上建立一个副本,也就是learner。等到资料跟上之後,就会转变成follower。

但是TiFlash永远是learner,这也表示TiFlash是异步复制,所有的资料都需要透过TiKV做同步,目前是不支援直接写入TiFlash的。但是好处是当TiFlash故障时也不会影响到TiKV的运行。

还有一个特色,我认为也是很大的优点就是TiDB可以智能选择要用哪一种架构下查询语法,甚至是小朋友才做选择,我全都要!对於查询速度的优化有很大的帮助。

另外TiFlash与TiKV一样,也有一个Coprocessor能够为TiDB分担计算的loading,但是不是每个语法都能够执行,在使用上也要多加留心。例如不会检查加减乘除overflow,或者要使用sum的时候要注意不能带字串,还有decimal的精准度差异等等。

接下来会细部介绍TiFlash的架构...


<<:  用React刻自己的投资Dashboard Day2 - 网站Wireframe设计

>>:  2021-Day12. ~Take a break~复习。

IT铁人DAY 13-Composite 组合模式

  今天要来介绍Composite Pattern,是属於Structural Design Pat...

Day 25 埠映射与记忆体映射

输出与输入设备是在嵌入式系统里面,占有一个很重要的位置,所有的输入输出系统都必须透过设备控制暂存器,...

[Day12] Git 学习总整理

今天把这几天学习的纪录做一个总整理,在指令或是GUI操作上的心得是 指令操作熟悉者可以带入各类参数灵...

Day 12 - Semigroup I

Definition of a Semigroup 一个集合(Set)或称型别(Type) 有 co...

EP 28: Shell Routing for TopStore App

Hello, 各位 iT邦帮忙 的粉丝们大家好~~~ 本篇是 Re: 从零开始用 Xamarin 技...