学习的原文:Flink + TiDB,体验实时数仓之美
实时数仓演进图:
storm架构:
spout负责数据传递,输出tuples元组,Bolt负责数据转换
storm的不足:无法支持时间窗口
lambda架构:
batch layer:全量离线数据,输出batch view
real time layer/speed layer: 实时增量数据,输出 realtime view
serving layer:将batch view和realtime view进行合并
kappa架构:
数据通过实时流处理并输出
如果需要重算,则重头将数据流通过实时程序再算一遍
强依赖于mq
flink架构:
结果输出到olap引擎中
每个计算输出1个olap表
不足:数据孤岛,导致数据耦合
以上实时架构的对比:
未来展望
HTAP——基于oltp数据库每增加分析类的引擎,使之支持olap,存储上,olap和oltp分离互不干扰。
TiDB有适用于在线系统的行存TiKV引擎,也有适用于分析计算的列存TiFlash引擎,还有TiCDC将数据流出到外部应用中。
TiDB
左侧TiDB层负责接受客户端的消息,转化为分布式执行计划,下推到存储层。
TiKv负责oltp,TiFlash负责olap。
TiDB兼容Myql5.7协议,用户像使用mysql一样使用TiDB。TiDB通过PD Server存储元数据。
学习收获:
1、storem架构中的两个概念spout,bolt对我来说是新的,storm我本身也没怎么关注过
2、flink架构对olap的强依赖比我想象的深,这个概念我之前没有
3、htap,hsap两个概念,对我来说是全新的
4、TiDB的两个引擎