问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

一文详解湖仓一体的技术架构及实践路径

创作时间:
作者:
@小白创作中心

一文详解湖仓一体的技术架构及实践路径

引用
CSDN
1.
https://blog.csdn.net/oOBubbleX/article/details/140680114

湖仓一体(Data Lakehouse)是一种新兴的数据管理和分析架构,它结合了数据仓库和数据湖的优点,旨在提供一个统一、灵活且高性能的数据存储和处理平台。本文将详细介绍湖仓一体的概念、优点、技术架构及实践路径。

一、什么是湖仓一体

湖仓一体(Data Lakehouse)是一种新兴的数据管理和分析架构,它结合了数据仓库和数据湖的优点,旨在提供一个统一、灵活且高性能的数据存储和处理平台。在传统的数据处理架构中,数据仓库通常用于存储结构化数据,以便进行快速查询和分析,而数据湖则用于存储大量原始的、非结构化的或半结构化的数据。在湖仓一体模式中,数据被原样加载到数据湖中,同时进行一定程度的模式定义和质量控制,以便更好地支持企业的数据分析和决策。湖仓一体的模式适用于数据量较大、多种数据类型混合存储的场景,提供了更好的查询性能和数据探索能力。

二、湖仓一体有什么优点

  1. 存储与计算分离:湖仓一体架构采取存储计算分离的设计,这种设计使得存储和计算可以分别根据业务的需求进行独立扩展,无需两者同步增加或减少。这种设计有助于节省资源,并降低了系统的总成本。

  2. 成本效益:利用低成本的对象存储实现高效益的数据存储,降低了存储成本,并避免了维护多个数据存储系统的成本。

  3. 数据一致性:提供ACID(原子性、一致性、隔离性、持久性)保证,确保数据写入的一致性,这对于金融、电商等需要高并发、高一致性的场景尤为重要。

  4. 多种数据源支持:支持多种数据源,包括多个数据湖和多级数据湖的联邦查询能力,能够打破数据孤岛,减少数据搬迁和数据一致性问题。

  5. 统一元数据管理:支持异构数据的统一元数据管理,实现端到端的数据链路的自动化元数据采集,支持全链路血缘,一键式分析技术、业务、操作元数据详情。

  6. 高可用性:湖仓一体架构使用云对象存储,具有高可用性和高耐用性。

三、湖仓一体的技术架构

湖仓一体的架构,最终想要实现的,就是通过把数据湖作为中央存储库,围绕数据湖建立各种提供服务的站点,比如数据仓库,供业务分析和接入B使用;再比如供机器学习用的站点;供大数据处理的站点等等,最终实现随心所欲地使用数据湖中的数据。

湖仓一体的架构由存储层和计算层组成,计算层的数据来源于存储层。

1.存储层

存储层主要由三个组件组成——云存储、开放的文件格式(open file format)和开放的表格式(open table format)。

  • 云存储

云存储是一种提供实施数据湖和 Lakehouse 平台所需的高可用性、持久性和可扩展性的服务,可以使用亚马逊的 S3 存储或者阿里云的 OSS 对象存储等云服务商提供的对象存储。

公司也可以使用本地 HDFS 存储来实施 Lakehouse,仅使用云对象存储来实现 Lakehouse 是没有必要的。但考虑到成本低、计算与存储分离、易于扩展等特点,建议使用云对象存储作为实现 Lakehouse 的底层基础设施。

  • 元数据层

基于数据湖构建统一的数据平台,提供了统一的元数据管理和数据权限管理。

原来分集群建设,导致元数据和用户账号不统一,在数据和权限管理上也带来很大麻烦。如果统一元数据和账号体系的管理,就能更方便的做统一的数据管理和权限管理。

用于管理数据湖中的表格信息和元数据,它跟踪每个表格的名称、模式和其他相关信息,提供了数据发现和搜索的功能。

  • 开放的文件格式

数据平台可以将不同文件格式的数据存储在云存储中,CSV、JSON 和 XML 等文件格式是最流行的。对于分析平台,最广泛采用的三种文件格式是:Apache Parquet、Apache ORC、Apache AVRO。这几种都是开源的列式存储格式,很多存储和处理应引擎都会兼容这几种存储格式。

  • 开放的表格式

湖仓 Lakehouse 支持多种表存储格式,目前开源社区比较流行的是下边三种:

(1)Apache Iceberg: 是一种开放表格式,可与基于云的数据湖和 Apache Parquet、Apache AVRO 和 Apache Optimized Row Columnar (ORC) 等开放文件格式一起使用,以实现 Lakehouse 架构。它支持时间回溯、schema 推演和 SQL 查询等功能,使 Lakehouse 的构建更快、更容易。

(2)Apache Hudi:有助于实现事务数据湖,并可用于为数据湖带来类似数据仓库的功能。它提供 ACID 事务保证、时间回溯和回滚能力以及schema 推演功能。

(3) Linux 基金会的 Delta Lake:Databricks 将 Delta Lake 作为一个内部项目启动,后来在 Linux 基金会下将其开源。它通常被称为用于构建 Lakehouse 架构的开源存储框架。Delta Lake 为数据湖提供元数据层和 ACID 功能。它还提供时间回溯、schema 推演以及审计跟踪记录等功能。

2.计算层

Lakehouse 架构的主要优点之一是其开放性以及可由任何兼容处理引擎直接访问或查询的能力。它不需要任何特定的专有引擎来运行 BI 工作负载或交互式分析。这些计算引擎可以是开源的,也可以是专为 Lakehouse 架构设计的专用商业查询引擎。

  • 计算引擎

可以通过Apache Spark、Presto、Trino 和 Hive 等开源计算引擎,进行数据湖数据查询分析。

四、湖仓一体的实践路径

  1. 湖上建仓

定义:基于云存储或第三方对象存储的云数据湖架构,或以开源Hadoop生态体系为基础,引入数据仓库的数据治理能力,实现数据湖到湖仓一体的进化。

实现方案:通过统一调用接口方式调用计算引擎,实现数据的统一存储和管理。

  1. 仓外挂湖

定义:以MPP数据库为基础,使用可插拔架构,通过开放接口对接外部存储实现统一存储。

实现方案:在存储底层共享一份数据,计算、存储完全分离,实现从强管理到兼容开放存储和多引擎的过渡。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号