博客 实时湖仓技术选型,企业如何借实时湖仓赢在“数据驱动”时代——下

实时湖仓技术选型,企业如何借实时湖仓赢在“数据驱动”时代——下

   数栈君   发表于 2023-12-20 12:00  127  0

实时湖仓生态选型


在介绍实时湖仓生态选型之前,先看看流计算 + 湖存储的历史和发展。

· Storm : 流计算 += 不准确的实时预处理

· Spark : 流计算 += Mini-Batch 预处理

· Flink + HBase/Redis/Mysql : 流计算 += 准确的实时预处理

· Flink + OLAP : 流计算 += 实时数仓,预处理和成本的权衡,高性能 OLAP 带来了一定的灵活度

· Flink + 数据湖 : 流计算 += 离线数仓部分实时化

· Flink + 流式数据湖 : 流计算 += CDC 流式增量计算,解决更多痛点

· 未来 : Streaming Lakehouse,通用的 Lakehouse 架构


计算

● Spark(Structured Streaming)、Flink

Spark 流计算国外用的比较多,Spark RDD/Dataset 相关 API;Flink 流计算国内生态社区比较完善,绝大部分需求可以直接使用 SQL 完成。


●Trino、Doris、StarRocks

· Trino 

1)优点:纯 Java 项目;代码质量较好;Hive 优化细节处理比较完善

2)缺点:执行性能比向量化引擎低;联邦查询较慢(缺少自己的元数据管理)


· Doris/StarRocks

1)优点:向量化引擎执行效率高;国内社区活跃;功能迭代快

2)缺点:C++ 门槛较高,遇到问题难排查

http://dtstack-static.oss-cn-hangzhou.aliyuncs.com/2021bbs/files_user166259/article/a67051c1ebb91d3b39e6877d2dd3bd86..png


存储

根据计算选择存储,有如下推荐:


● Flink + Paimon/Iceberg

Paimon 早期是 Flink 内部存储,叫作 Table Store,后来进入Apache 孵化,改名为 Paimon。


● Spark + Hudi

Hudi 是从 Spark 解耦出来的,很多功能是和 Spark 绑定的,Spark 支持的最好,有很多存储过程


● Doris/StarRocks 自带的存储

http://dtstack-static.oss-cn-hangzhou.aliyuncs.com/2021bbs/files_user166259/article/abaedb4b1d5a43adde06f5ed22af4529..png


元数据

● Hive MetaStore

· 传统数仓,用户非常多

· 存储有局限性:不同计算引擎的逻辑类型和 Hive 不一致,例如 timestamp 类型属性只能以 key value 的形式存储到 Hive 表的 Properties 里面

· Hive metastore 瓶颈:高并发请求元数据时,经常 CPU 打满

http://dtstack-static.oss-cn-hangzhou.aliyuncs.com/2021bbs/files_user166259/article/b165bc88b0e1d5d766f2de612e8cd01f..png


● Hudi MetaServer

Hudi 里面开发了一个可以存储 Hudi 元数据的服务,服务主要基于 Thrift 协议去开发,通过 MyBatis 保存元数据到 MySQL 中。

http://dtstack-static.oss-cn-hangzhou.aliyuncs.com/2021bbs/files_user166259/article/7e8ca1ec332f25dd93e513f5d44d74dc..png


● HDFS/OSS

元数据存储在 HDFS 或者在对象存储上面:.hoodie / .iceberg(metadata) / .paimon(metadata)


● 二次开发

基于 Spring 生态去开发 Web 服务,元数据存储在 MySQL 中。


湖仓治理


EasyLake

袋鼠云 EasyLake 湖表治理功能支持数据文件治理,支持快照文件治理,支持 Hudi MOR 增量文件合并,将小文件数量控制在一定的范围内,提升治理效率。

http://dtstack-static.oss-cn-hangzhou.aliyuncs.com/2021bbs/files_user166259/article/bf30c49b0ccda29b070625ff0214ddf7..png


具体实践请点击该链接:《如何构建新一代实时湖仓?袋鼠云基于数据湖的探索升级之路》

https://mp.weixin.qq.com/s/V5CTGJOkeZFuYPJhMk4o_Q


Amoro

Amoro 为用户、平台和产品构建湖原生数据仓库和架构。

http://dtstack-static.oss-cn-hangzhou.aliyuncs.com/2021bbs/files_user166259/article/427cf8a65df4f710117a05aa76d1f182..png


Dremio

基于 Apache Parquet、Apache Iceberg 和 Apache Arrow 等社区驱动标准的开放数据湖仓一体,使组织能够使用一流的处理引擎并消除供应商锁定。

http://dtstack-static.oss-cn-hangzhou.aliyuncs.com/2021bbs/files_user166259/article/b33d84c349271d1bc1961ab23e1a31d9..png


本文根据《实时湖仓实践五讲第四期》直播内容总结而来,感兴趣的朋友们可点击链接观看直播回放视频及免费获取直播课件。

直播课件(点击文末阅读原文可直接跳转):

https://www.dtstack.com/resources/1055?src=bbs


《数据治理行业实践白皮书》下载地址:https://fs80.cn/4w2atu

《数栈V6.0产品白皮书》下载地址:
https://fs80.cn/cw0iw1

想了解或咨询更多有关袋鼠云大数据产品、行业解决方案、客户案例的朋友,浏览袋鼠云官网:
https://www.dtstack.com/?src=bbs

同时,欢迎对大数据开源项目有兴趣的同学加入「袋鼠云开源框架钉钉技术群」,交流最新开源技术信息,群号码:30537511,项目地址:
https://github.com/DTStack    

0条评论
社区公告
  • 大数据领域最专业的产品&技术交流社区,专注于探讨与分享大数据领域有趣又火热的信息,专业又专注的数据人园地

最新活动更多
微信扫码获取数字化转型资料
钉钉扫码加入技术交流群