云上 Lakehouse 基础架构

1、Lakehouse 之我见

对于 Lakehouse,可能大家最直观的理解就是数据湖仓一体,到底什么是湖仓一体,Lakehouse 到底要解决什么样的问题,到目前为止没有统一的标准。我理解的 Lakehouse 是基于现代化云上存储计算分离架构,解决了如下问题:

1. 数据重复。尽可能解决维护多套数据分析系统,比如湖和仓的数据重复。去除数据重复性,真正做到 Single source of truth。

2. 低廉存储成本。在数据分析领域中,一般计算和存储都是不对等的。云上的对象存储大大降低了数据分析的存储成本和运维成本。

3. 在技术形态上有统一的架构。在现阶段数据分析场景中,面向不同的场景及不同的时延需求所需要的技术架构也不尽相同,造成系统复杂、运维成本高昂的问题。

4. 有效地降低数据分析的计算和 IO 成本。现在的数据分析系统大多是基于 Apache Hadoop(以下简称 Hadoop)生态技术栈构建,数据更新和删除需要通过 ETL 来进行,会造成大量的重复计算,从而导致计算和 IO 成本上升。

要解决如上问题,Lakehouse 从技术上要具备什么样的核心能力呢?

1. 事务支持和多版本控制。Lakehouse 需要处理多条不同的数据管道,需要在不破坏数据完整性的前提下支持并发读写事务。

2. 高效的更新。基于数据合规和数据更新是业务客观存在的需求。如何高效对数据更新是 Lakehouse 核心能力之一。

3. 高效数据消费。数据分析场景查询是非常复杂的,Lakehouse 需要具有面对复杂业务高效响应的能力。

4. 便捷的数据管理能力。数据管理在 Lakehouse 里面至关重要。数据管理不仅仅是业务数据上质量管理、数据关系的管理,还包含底层数据的索引、元数据版本管理等。

基于以上分析得出,Lakehouse 需要如下四个技术基础组件:

1. 统一的数据格式。基于这个数据格式,可以完成事务管理、高效更新等。

2. 统一的执行引擎。通过统一的执行引擎完成 ETL 类分析和机器查询类分析。

3. 统一的数据管理。提供完善的数据质量、数据分析、数据科学、数据格式等管理能力。

4. 统一的存储。价格低廉、高稳定性、高可靠性的统一存储。

2、Lakehouse 基础技术架构

基于这四个核心技术条件,在云基础平台上,如何一步一步去构建云上 Lakehouse 呢?首先从技术架构上拆解云上 Lakehouse。从技术角度看,可以分为如下五层:

1. 计算资源层。云上的云服务器、裸金属以及容器可以为 Lakehouse 提供海量的计算资源,同时还可以通过弹性实现资源随负载的变化而变化。

2. 云上的存储层。云上的对象存储、云 HDFS 、文件存储提供了面向不同业务场景的低成本、高可靠性、高稳定性的存储解决方案。而且云上存储是使用按量计费,成本更加低廉。

3. Data Lake Storage 层(表格式层)。本层使用开源的技术解决方案比如 Apache Iceberg(以下简称 Iceberg)、Apache Hudi(以下简称 Hudi)。同时云上的 Iceberg 和 Hudi 也针对云存储和计算做过大量的优化和扩展。基于开源的表格式的优势是开源开放、格式透明。

4. 统一的计算引擎层。统一计算引擎需要具备 ETL 和继续查询快速响应的能力。现阶段都是通过 Apache Spark(以下简称 Spark)来做 ETL,通过 StarRocks 做机器分析。

5. 统一的数据管理层。本层需提供完善的数据治理。数据管理可以通过 Wedata 来实现数据质量、血缘、数据科学等基础管理,通过 EMR、Lake Service 可以实现更底层的表格式的快照事务效文件以及索引管理的能力,降低 Lakehouse 使用的门槛。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值