TiFlash

目录

TiFlash架构 

TiFlash主要功能

 异步复制

 一致性读取

智能选择

例题


TiFlash架构 

TiFlash作为learner,即raft group的第三类角色接入raft Multi;TiFlash不参加TiKV的选举,投票和多数写入 

TiFlash主要功能

ps:由于TiFlash承载低并发的OLAP,使HTAP不适用于高并发场景,同时异步复制使HTAP无法保证强一致性

 异步复制

 一致性读取

T0时刻,写入两条数据分别为(key=1,value=100)和(key=999,value=7)至两个TiKV node上的不同region上;此时,根据TiFlash中raft log的内容,TiFlash同步到idx=95和idx=18的操作

T1时刻,尝试从TiFlash读取key=1和key=999的数据;此时,TiFlash同步到idx=108和idx=20的操作;则T0时刻写入的数据只有(key=1,value=100)同步至TiFlash,而(key=999,value=7)还未同步至TiFlash

T2时刻,写入一条数据(key=1,value=200),此时,TiFlash同步到idx=115和idx=21的操作;

新写入的数据(key=1,value=200)和之前的数据(key=999,value)仍未同步到TiFlash

T3时刻,TiFlash向两个TiKV node(leader)发起进度校验

TiKV node分别放回执行进度为idx=125和idx=31;TiFlash进行异步复制,同步至TiKV的执行进度

 TiFlash不同raft group的raft log先后同步至进度校验的进度点,按次序放回T1时刻查询的数据

 ps:由于TiFlash也有snapshot机制,所以T1时刻的读取,只能读取至T1时刻之前的写入(如T0时刻)

 总结:异步写入,同步读取

智能选择

TiDB Server作为协调者,根据SQL语句的执行代价,决定TiKV和TiFlash的负责的部分

如图中的SQL中,连接条件“product.pid=sales.pid”需要进行TableScan,故下推至TiFlash;而过滤条件“product.batch_id='B1328'”需进行IndexScan,故下推至TiKV

例题

1.下面属于TiFlash核心特性的是?(请选择3项)

A.采用行存+列存的混合存储方式

B.region支持raft投票和选举

C.TiFlash采用异步复制来保证和TiKV一致

D.在TiKV上写入数据成功后,在TiFlash上可以一致性读取

E.CBO基于成本选择在TiFlash或者TiKV上执行SQL

答案:C,D,E 

解析:A:TiFlash负责列存,TiKV负责行存;B:TiFlash不参加TiKV的选举,投票 

2.关于TiFlash的使用,描述不正确的是?

A.TiFlash不善于处理高并发,QPS一般不应过高

B.SQL语句执行中,要不然数据完全从TiKV中读取,要不然完全从TiFlash中读取

C.MPP中表连接前的过滤和交换完全是在TiFlash节点上完成的

D.在读取TiFlash 中数据的时候,我们需要通过TiKV中的数据确认一致性

答案:B

解析:A:TiFlash承载低并发的OLAP,且QPS<50;B:根据执行代价,SQL语句部分由TiKV执行,部分由TiFlash执行;C:MP在TiFlash上的聚合和连接操作的加速,此前的过滤和数据交互同样在TiFlash执行;D:读取TiFlash中的数据,TiFlash向TiKV发起进度校验

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值