目录
HTAP
HTAP 同时支持OLTP(在线事务性)OLAP(在线分析性)
OLTP:行存 如手机支付
OLAP:列存 如报表,分析
传统的OLTP和OLAP解决方案
高延迟,无法满足实时分析的需求
多副本,维护难度大
HTAP的要求:
ps:HTAP不适用于高并发的情况,且对大数据级的数据分析没有要求,其次无法保证数据的强一致性
TiDB的HTAP架构
TiDB的HTAP的特性:
MPP架构
MPP架构实现在TiFlash上对于聚合和连接操作的加速(只能在TiFlash,不能在TiKV)
MPP架构中,每个TiFlash作为MPP worker进行并行计算
过程实例:
如图执行如上SQL语句,该SQL涉及order表和product表且有连接,过滤,聚合操作
首先,进行过滤操作
对于连接操作,使用hash函数根据连接条件计算hash值,根据hash值将相关的数据进行数据交换,集中在一个TiFlash中
数据交换后,所有连接操作均在同一个TiFlash节点中
类似的,对于聚合操作,利用hash函数根据聚合条件计算hash值,根据hash值将相关的数据再次进行数据交换,集中在一个TiFlash节点中
根据各个TiFlash节点的计算结果进行聚合后返回TiDB Server
TiDB的工作负载场景与流式计算场景
混合工作负载场景
传统的流式计算场景
TiDB的流式计算场景
例题
1.下面属于HTAP场景特点的是?(请选择3项)
A.在故障恢复方面可以做到RPO=0
B.支持分区特性
C.支持在线业务高并发
D.同时支持OLTP和OLAP业务
E.能够读取到一致性的数据
答案:C,D,E
解析:HTAP的要求:
(1)可扩展(分布式事务&分布式存储)
(2)需同时满足OLTP和OLAP(支持行存&列存,业务隔离),即选项D,C
(3)实时性(行存与列存实时同步),即选项E
2关于MPP架构,下列说法不正确的是?
A.MPP架构的中间结果都在内存中
B.MPP架构可以作用于TiKV和TiFlash 上的数据
C.MPP架构目前不支持非等值join
D.MPP架构可以对聚合、JOIN等操作加速
答案:B
解析:MPP架构只能实现在TiFlash上对于聚合和连接操作的加速,而不能作用于TiKV