如何巧用Flink+ClickHouse构建高性能实时数仓?
创作时间:
作者:
@小白创作中心
如何巧用Flink+ClickHouse构建高性能实时数仓?
引用
CSDN
1.
https://blog.csdn.net/SelectDB_Fly/article/details/137966658
Flink和ClickHouse都是用于构建实时数据仓库的优秀工具。Flink是一个用于流处理的开源框架,而ClickHouse则是一个用于实时数据仓库的高性能列存储数据库。Flink是ClickHouse的最佳搭档,为什么这么说呢?
ClickHouse的特点
ClickHouse是一个用于联机分析(OLAP)的列式数据库管理系统(DBMS),它采用了列式存储、数据压缩、多核并行、向量引擎、分布式处理等技术,性能遥遥领先竞品。
在1亿条数据量级下,ClickHouse与多种常见数据处理系统的查询速度对比图(数字越小代表耗时越短,性能越好),可以看到ClickHouse的性能数据遥遥领先。
图1:ClickHouse与多种常见数据处理系统的查询速度对比
ClickHouse的局限性
尽管ClickHouse的数据分析能力非常高效,但它也有自己的局限性:
- 不适合大量单条数据的写请求,因为写入过快时后台合并不过来,会报Too many parts等错误;
- 不适合频繁的数据更新和删除操作,因为变更数据的聚合处理需要时间,短期内可能出现数据不准的现象;
- 不擅长做多张表的关联(尤其是不同数据库引擎的源表之间JOIN);
- 生态支持弱,不适合多种不同数据源(特别是流式数据源)的接入;
Flink的优势
而这些ClickHouse不擅长做的事情,刚好是Flink最适合的领域:
- Flink流处理模型,天然适合处理大量单条的流数据,吞吐量高,延迟低;
- Flink的流-动态表映射模型(如下图,来自Flink官网文档),可以很好地应对频繁更新和删除等记录。还可以通过Mini-Batch、Window等优化手段,极大地降低下游ClickHouse的处理压力;
- Flink支持多种流和流的JOIN,还支持流和维度表的JOIN操作。借助强大的状态管理能力,可以做到精确的关联语义;
- Flink的生态支持很丰富,常见的各类系统基本都有Connector;而且通过标准化Source和Sink API,也可以轻松实现自己的Connector。
图2:Flink的流-动态表映射模型
综上所述,Flink和ClickHouse的组合可以充分发挥各自的优势,构建出高性能的实时数仓系统。
热门推荐
岁末年初 筑牢金融防线 防范非法金融活动指南
资金核实的重要性及其在企业管理中的应用
智齿动不动就发炎怎么办?5大方法帮你轻松应对智齿发炎问题
失眠患者必知:这五件事千万别做!
度我至军中,公乃入。
用了30年空调,才知道空调“这样开”才最省电,看完涨知识了
打响指的原理是什么?为什么看似简单却总打不响?
世界经济论坛发布《2024年十大新兴技术》
广东工业大学控制工程考研全攻略
村上春树跑步42 年:全马330,自律源于知所求!
睡觉前肚子饿怎么办
村上春树8条“ 跑步哲学 ”,不想跑步的时候看看这段话!
CT引导下肺射频消融术,老年患者的福音
金庸作品时间顺序口诀(金庸小说的年代先后顺序是什么?)
金庸作品时间顺序口诀(金庸小说的年代先后顺序是什么?)
南向资金“扫货”方向有何变化?
2024龙年女宝宝名字大全 2024龙年女宝宝名字怎么取
手残党福音来了,深扒鱼豆腐的自制手法,软嫩解馋,营养下饭
“夏”一站,22度的通化!解锁夏日清凉,一起“森”呼吸
太平山国家森林游乐区:四季变换的自然美景
未成年人帮助诈骗行为的法律处理方式
水瓶座女生的性格分析
世界杯历届最佳门将:十大传奇门神的辉煌瞬间
OpenAI 放开成人内容?
西电集成电路硕士:迈向国际化视野与实践能力
婴幼儿营养与喂养全攻略:从母乳到辅食的科学指南
章鱼 鱿鱼 墨鱼“软氏三兄弟”怎么区分
近四成年轻人有痤疮!中国首个痤疮外用药治疗规范科普白皮书发布
大撕裂理论:220亿年后宇宙终结,地球将在终结前几分钟毁灭
“痒得不行!”武汉一女子在美发店护理后头痒、掉发,想退费遭拒……