大数据架构系列:如何理解湖仓一体?

腾讯云开发者 腾讯云开发者     2022-12-01     494

关键词:

导语 | 本文推选自腾讯云开发者社区-【技思广益 · 腾讯技术人原创集】专栏。该专栏是腾讯云开发者社区为腾讯技术人与广泛开发者打造的分享交流窗口。栏目邀约腾讯技术人分享原创的技术积淀,与广泛开发者互启迪共成长。本文作者是腾讯后台开发工程师叶强盛。

引言

这十多年大数据技术蓬勃发展,从市场的表现来看基于大数据的数据存储和计算是非常有价值的,其中以云数据仓库为主打业务的公司Snowflake市值最高(截止当前449亿美元),另一家以湖仓一体为方向公司Databricks估值或达380亿美元;各大伺机而动的云厂商也纷纷推出自己的数据湖、云数据仓库、湖仓一体产品。

大数据领域概念(术语)还是非常多的,大多数时候都是先射箭再画靶,先有的需求大家搞了一段时间,然后由一些权威人士提出一些概念(术语)用于描述,所以不能严格用数学的定义方式去框定这些概念(术语)的边界;且很多时候一个术语“形象”比“准确”更易传播,形象意味着易懂,准确意味着信息量巨大(参考数学定义)。建议可以从需求的角度去切入理解这些大数据概念和技术,不要过于追求准确的定义。

无论是数据湖还是数据仓库最后还是面向于解决用户的问题,用户要的其实是数据里的信息,依赖于湖和仓的数据摄取、存储、计算能力主要是因为海量多元的数据,如果用户数据小业务简单完全可以用本地Excel导入数据进行各种有效分析。以下讨论数据湖、数据仓库、湖仓一体都是基于用户的数据是海量且复杂多元的。

数据流程

如上图,在一个复杂场景里,数据分析人员需要进行业务建模、数据建模;技术人员需要进行数据架构的设计、开发、维护;用户可以使用业务模型、数据模型后产生业务价值;App根据算法、模型、用户画像等提供功能和推荐。

What: 什么是数据湖、数据仓库?

说明一下,当前主流的数据湖技术对二进制数据(图片、音频等)不友好,文章上下文说的都是分析型(结构化、半结构化)数据。

只要业务场景复杂数据多元化,无论是你基于任何一个存储框架也得存储各种各样的数据,然后你得有计算引擎可以计算这些数据;同时由于业务要求,你需要对数据进行实时分析。数据湖技术把上述的过程集成化、标准化了;在数据入湖一开始就对数据按照指定标准进行组织,支持流批一体,不同框架有不同的组织方式(对特定场景有优化),但是目的都差不多;入湖后,提供标准化的数据读取方式,支持各种MPP引擎的计算;因为数据提前组织过,所以写入性能下降,查询性能提升。所以你可能之前一直在用数据湖,只是没用到数据湖技术。

数据仓库在入库之前,一般需要进行数据建模;接着按照表的格式对数据进行标准化和表指定的存储引擎进行数据组织,此时可能会损失掉一些信息;计算层通常都会对存储引擎的数据结构进行优化,以此来获得极致的查询体验。日常我们在进行大数据架构的设计实现时,一般会做的比数据仓库限定的范围多,但是我们还是称为数据仓库,所以还是再次提一下,不要太追求准确的定义。

湖仓对比

(以上图片来自阿里云)

Why:业界为什么要做湖仓一体?

我来形象地描述一下:集合两者的优势,像数据仓库一样管理的数据湖,像数据湖一样开放的数据仓库。

从What描述中数据湖和数据仓库的描述可以看出,业内常用的大数据架构基本上就是湖仓一体,即拓宽的数据仓库的功能,也会主动的规范数据的存储和使用。业内目前分享出来的信息来看,主要还是为了替换掉老的Lambda和Kappa架构,想通过一个相对简单的架构进行降本提效。

湖仓价值的交点

(以上图片来自阿里云)

How:业界怎么做湖仓一体?

目前业内的湖仓一体的架构一般都叫基于某某数据仓库的湖仓一体架构,用户会把热数据(频繁查询)放在数据仓库中,无论在存储和计算上都有大量的优化,计算速度快、成本高;冷数据放在数据湖中,计算慢、成本低,当用户要查询时,直接通过数据仓库的计算层来远程访问数据湖格式的数据,许多架构中还会来临时扩容弹性计算节点来计算冷数据,避免热数据的高效查询受影响。

湖仓一体冷热存储架构

如上图,近N天的热数据在常驻MPP计算层进行查询,数据变冷后转成数据湖存储格式入湖,后续由弹性MPP计算层对数据进行计算,一般冷数据次数频率较低。

湖仓一体存算分离架构

如上图,所有数据异步入湖,数据仓库的元数据会更新,用户查询时会缓存需要扫描的原始数据,通过缓存淘汰机制清理计算频率较低的数据。

真实业务场景可能是同一套架构里面会支持上述两种实现。也有一些湖仓一体的架构中没有数据仓库产品,仅用了Presto作为查询加速(火山引擎、Bilibili),不过整体架构大致也差不多。

以下列举了业界实现的方案:

阿里云 MaxCompute+Hologres

阿里云 EMR+Sarrocks

华为云 湖仓一体

字节跳动 基于Doris的湖仓一体探索

字节跳动-火山引擎 湖仓一体云服务

bilibili 湖仓一体架构

Google BigLake

Amazon Lake House

Azure Lake House

SnowFlake Data Lake

总结

当前湖仓一体主要面向于解决用户数据量特别大且多元化的场景,仓的作用在于提速,湖的作用在支持海量的数据并发写入和海量存储;且设计者希望尽量降低架构的复杂度,提高效率。

以下个人评估,仅供参考:

  • SnowFlake在分析型数据场景下基本上就是天生的湖仓一体,优势巨大。

  • Doris/Starrocks的架构也会往Snowflake方向改进,潜力满满。

  • 基于Spark/Presto的湖仓一体,查询的效率会低于上述两种,但是可以作为补足上述的部分场景。

参考资料:

1.多角度解析:数据湖VS数据仓库的根本区别

2.深度对比Delta、Iceberg和Hudi三大开源数据湖方案

3.2万字详解数据湖:概念、特征、架构与案例

4.详解数据湖,概念、特征、架构、方案、场景以及建湖全过程

5.4万字全面掌握数据库、数据仓库、数据集市、数据湖、数据中台

6.大数据发展20年,“仓湖一体”是终局?

7.B站基于Iceberg的湖仓一体架构实践

8.亚马逊湖仓一体

9.构建切实有效的湖仓一体架构

 作者简介

叶强盛

腾讯云开发者社区【技思广益·腾讯技术人原创集】作者

腾讯后台开发工程师,目前负责腾讯天穹大数据OLAP引擎相关研发工作,有着丰富的大数据框架研发经验。

 推荐阅读

揭秘前端眼中的Rust!

如何基于标准化的OpenTelemetry构建APM探针能力

DevOps难以落地之谜,揭开DevOps的神秘面纱!

看完这篇,轻松get限流!

👇点击「阅读原文」,注册成为社区创作者,认识大咖,打造你的技术影响力!

偶数科技:深入理解“湖仓一体”,避免错过最佳转型战略时机

参考技术A本月,阿里云在北京举办了“2022年阿里云数据存储生态发布会”,偶数科技作为目前国内云原生数据仓库技术领域的开拓者受邀参加了本次大会。偶数科技首席架构师陶征霖作为演讲嘉宾,在会上与行技术仁共同回顾... 查看详情

湖仓一体电商项目:项目背景和架构介绍

...​​​​​​​项目架构1、实时数仓现状2、项目架构及数据分层3、​​​​​​​​​​​​​​项目可视化效果项目背景和架构介绍一、​​​​​​​项目背景介绍湖仓一体实时电商项目是基于某宝商城电商项目的电商数... 查看详情

指数级暴增场景复杂下,揭秘百度云原生湖仓架构等系列数据产品

9月28日,百度智能云2021“云智技术论坛”智能大数据专场在上海举办。本次会议以“云智一体,让大数据发挥大价值”为主题,百度副总裁谢广军携百度多位资深技术专家与行业伙伴出席会议,共同探讨了大数据... 查看详情

湖仓一体数据平台架构

随着数字化技术的更新迭代,数据库、数据仓库、数据湖等各种概念层出不穷,MPP数据库、Hadoop、对象存储、Hudi等各种数据技术不断涌现,湖仓一体概念逐步被人们所关注,在国际知名机构Gartner发布的《HypeCyclefo... 查看详情

b站基于iceberg的湖仓一体架构实践

背景在B站,每天都有PB级的数据注入到大数据平台,经过离线或实时的ETL建模后,提供给下游的分析、推荐及预测等场景使用。面对如此大规模的数据,如何高效低成本地满足下游数据的分析需求,一直是我们重点的工作方向。... 查看详情

离线实时一体化数仓与湖仓一体—云原生大数据平台的持续演进

...进给我们带来了湖仓一体的思考,使得湖的灵活性、数据种类丰富与仓的可成长性和企业级管理得到有机融合,这是阿里巴巴最佳实践的宝贵资产,是大数据的新一代架构。林伟,阿里云智能研究员、阿里云智能... 查看详情

离线实时一体化数仓与湖仓一体—云原生大数据平台的持续演进

...进给我们带来了湖仓一体的思考,使得湖的灵活性、数据种类丰富与仓的可成长性和企业级管理得到有机融合,这是阿里巴巴最佳实践的宝贵资产,是大数据的新一代架构。林伟,阿里云智能研究员、阿里云智能... 查看详情

湖仓一体数据平台架构

随着数字化技术的更新迭代,数据库、数据仓库、数据湖等各种概念层出不穷,MPP数据库、Hadoop、对象存储、Hudi等各种数据技术不断涌现,湖仓一体概念逐步被人们所关注,在国际知名机构Gartner发布的《HypeCyclefo... 查看详情

基于iceberg的湖仓一体架构在b站的实践

背景在B站,每天都有PB级的数据注入到大数据平台,经过离线或实时的ETL建模后,提供给下游的分析、推荐及预测等场景使用。面对如此大规模的数据,如何高效低成本地满足下游数据的分析需求,一直是我... 查看详情

基于iceberg的湖仓一体架构在b站的实践

背景在B站,每天都有PB级的数据注入到大数据平台,经过离线或实时的ETL建模后,提供给下游的分析、推荐及预测等场景使用。面对如此大规模的数据,如何高效低成本地满足下游数据的分析需求,一直是我... 查看详情

湖上建仓全解析:如何打造湖仓一体数据平台|deepnova技术荟系列公开课第四期

...字化快速发展带来的挑战,现代化企业需要打破以往数据的孤岛,让数据从采集、加工、管理到应用,是统一的数据存储和数据处理,甚至是作为全栈式的湖仓一体数据平台,以支撑各类数据赋能业务,进... 查看详情

偶数科技:基于oushudb的新一代云原生湖仓一体为企业助力

实时性数据分析需求暴增,偶数湖仓一体为企业助力在愈发复杂的大数据场景下,数据仓库与数据湖各自的弊端开始显现,湖仓一体架构走向舞台中央。在国外有两种流行的实现数据湖仓的技术,他们分别是基于数据仓库和基于... 查看详情

maxcompute湖仓一体介绍

...享人:孟硕阿里云MaxCompute产品专家 视频链接:数据智能实战营-北京站专题回顾正文:本篇内容将通过两个部分来介绍MaxCompute湖仓一体。一、什么是MaxCompute湖仓一体二、湖仓一体成功案例介绍一、什么是MaxCompute湖... 查看详情

阿里云云原生一体化数仓—湖仓一体新能力解读

一、基于MaxCompute的湖仓一体架构更新基于MaxCompute云数据仓库的湖仓一体架构近期进行架构升级。了解MaxCompute的同学可能比较清楚,MaxCompute有两层结构,需要先创建Project,在Project里面创建表、资源等。传统数据库&#x... 查看详情

汽车之家基于flink+iceberg的湖仓一体架构实践

...于Flink+Iceberg的湖仓一体架构实践,内容包括:数据仓库架构升级的背景基于Iceberg的湖仓一体架构实践总结与收益后续规划Tips:点击文末「阅读原文」即可查看原文视频~一、数据仓库架构升级的背景1.基于Hive... 查看详情

如何进行湖仓一体架构设计

*本文为「码上观世界」原创内容 今日奇想:火星的现状被认为是未来地球的模样,目前世界主要国家相继探测火星生命存在的可能性,但是仍没有重要进展。假如火星在漫长的历史变迁的某一段时期存在高等生物&#x... 查看详情

湖仓一体架构:数字化的终局之选!

大家好,我是梦想家Alex~之前我已经分享过不少有关数据湖,数据仓库,数据中台的文章,但今天想为大家介绍的是被誉为“数字化终局之选”的湖仓一体架构,希望对大家有所启发,欢迎转发收藏!... 查看详情

湖仓一体架构:数字化的终局之选!

大家好,我是梦想家Alex~之前我已经分享过不少有关数据湖,数据仓库,数据中台的文章,但今天想为大家介绍的是被誉为“数字化终局之选”的湖仓一体架构,希望对大家有所启发,欢迎转发收藏!... 查看详情