引言
这十多年大数据技术蓬勃发展,从市场的表现来看基于大数据的数据存储和计算是非常有价值的,其中以云数据仓库为主打业务的公司Snowflake市值最高(截止当前449亿美元),另一家以湖仓一体为方向公司Databricks估值或达380亿美元;各大伺机而动的云厂商也纷纷推出自己的数据湖、云数据仓库、湖仓一体产品。
(以上图片来自阿里云)
Why:业界为什么要做湖仓一体?
我来形象地描述一下:集合两者的优势,像数据仓库一样管理的数据湖,像数据湖一样开放的数据仓库。
从What描述中数据湖和数据仓库的描述可以看出,业内常用的大数据架构基本上就是湖仓一体,即拓宽的数据仓库的功能,也会主动的规范数据的存储和使用。业内目前分享出来的信息来看,主要还是为了替换掉老的Lambda和Kappa架构,想通过一个相对简单的架构进行降本提效。
(以上图片来自阿里云)
How:业界怎么做湖仓一体?
湖仓一体冷热存储架构
如上图,所有数据异步入湖,数据仓库的元数据会更新,用户查询时会缓存需要扫描的原始数据,通过缓存淘汰机制清理计算频率较低的数据。
真实业务场景可能是同一套架构里面会支持上述两种实现。也有一些湖仓一体的架构中没有数据仓库产品,仅用了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的湖仓一体,查询的效率会低于上述两种,但是可以作为补足上述的部分场景。
作者简介
叶强盛
腾讯云开发者社区【技思广益·腾讯技术人原创集】作者
推荐阅读
👇点击「阅读原文」,注册成为社区创作者,认识大咖,打造你的技术影响力!
本文来自微信公众号“腾讯云开发者”(ID:QcloudCommunity)。大作社经授权转载,该文观点仅代表作者本人,大作社平台仅提供信息存储空间服务。