Flink + Hologres构建实时数仓
方案优势及核心能力
该方案有如下优势:
- 高效更新与即时查询:Hologres支持每一层数据的高效更新、修正和写入即可查,解决了传统实时数仓中间层数据难以查询、更新和修正的问题。
- 数据分层复用:Hologres的所有层级数据都可单独对外提供服务,实现高效复用,真正达成数仓分层复用的目标。
- 架构简化与效率提升:基于Flink SQL构建实时ETL链路,ODS层、DWD层和DWS层的数据统一存储在Hologres,从而降低架构复杂度并提升数据处理效率。
该方案依赖于Hologres的3个核心能力,详情如下表所示。
Hologres核心能力 | 详情 |
---|---|
Binlog | Hologres提供Binlog能力,用于驱动Flink进行实时计算,以此作为流式计算的上游。 |
行列共存 | Hologres支持行列共存的存储格式。一张表同时存储行存数据和列存数据,并且两份数据强一致。该特性保证中间层表既能作为Flink的源表,也能作为Flink的维表进行主键点查与维表Join,还能供其他应用(OLAP、线上服务等)查询。 |
资源强隔离 | Hologres实例的负载较高时,可能影响中间层的点查性能。Hologres支持通过主从实例读写分离部署(共享存储)或计算组实例架构实现资源强隔离,从而保证Flink对Hologres Binlog的数据拉取不影响线上服务。 |
基于Flink+Hologres搭建实时数仓