一、概述
二、影响海量数据查询效率的因素
三、实时数仓如何解决困境、提升效率
四、Flink是ClickHouse的最佳搭档
SELECT Phone, Model, uniq(UID) AS u
FROM hits
WHERE Model != ''
GROUP BY Phone, Model
ORDER BY u DESC
LIMIT 10;
下图是1亿条数据量级下,ClickHouse与多种常见数据处理系统的查询速度对比图(数字越小代表耗时越短,性能越好),可以看到ClickHouse的性能数据遥遥领先:
-
不适合大量单条数据的写请求,因为写入过快时后台合并不过来,会报Too many parts等错误
-
不适合频繁的数据更新和删除操作,因为变更数据的聚合处理需要时间,短期内可能出现数据不准的现象
-
不擅长做多张表的关联(尤其是不同数据库引擎的源表之间JOIN)
-
生态支持弱,不适合多种不同数据源(特别是流式数据源)的接入
-
Flink流处理模型,天然适合处理大量单条的流数据,吞吐量高,延迟低。
-
Flink的流-动态表映射模型(如下图,来自Flink官网文档),可以很好地应对频繁更新和删除等记录。还可以通过Mini-Batch、Window等优化手段,极大地降低下游ClickHouse的处理压力。
-
Flink支持多种流和流的JOIN,还支持流和维度表的JOIN操作。借助强大的状态管理能力,可以做到精确的关联语义。
-
Flink的生态支持很丰富,常见的各类系统基本都有Connector;而且通过标准化Source和Sink API,也可以轻松实现自己的Connector。
腾讯云Oceanus
五、打造稳定可靠的实时数仓v1.0
问题解决
(一)如何将大量的流数据,从Flink高效地写入到ClickHouse
(二)如何评价数仓的质量
六、持续演进批流融合数仓v2.0
七、总结与展望
流计算Oceanus&ClickHouse服务组合套餐限时放价售卖中↓↓
👇戳「阅读原文」立即预约直播,了解更多信息~
本文来自微信公众号“腾讯云开发者”(ID:QcloudCommunity)。大作社经授权转载,该文观点仅代表作者本人,大作社平台仅提供信息存储空间服务。