一文了解 Data Lakehouse 的演变

数据仓库之父BillInmon和MaryLevins探讨了数据仓库和数据湖的演变。数据仓库解决了数据一致性问题,而数据湖提供了低成本存储。然而,两者都存在局限性,如数据湖的性能和质量问题。为了解决这些问题,出现了数据湖屋(datalakehouse)架构,它结合了数据仓库的结构和管理功能以及数据湖的低成本存储,支持开放访问、机器学习和高性能分析,旨在克服现有数据架构的挑战。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文是 Forest Rim Technology 数据团队撰写的,作者 Bill Inmon 和 Mary Levins,其中 Bill Inmon 被称为是数据仓库之父,最早的数据仓库概念提出者,被《计算机世界》评为计算机行业历史上最具影响力的十大人物之一。

原始数据的挑战

随着大量应用程序的出现,产生了相同的数据在不同地方出现不同值的情况。为了做出决定,用户必须找到在众多应用程序中使用哪个版本的数据才是正确的。如果用户没有找到并使用正确的数据,则可能做出错误的决定。

人们发现他们需要一种不同的架构方法来找到用于决策的正确数据。因此,数据仓库诞生了。

数据仓库

数据仓库导致不同的应用程序数据被放置在单独的地方。设计者必须围绕数据仓库建立一个全新的基础设施。

围绕数据仓库的分析基础设施包含以下内容:

元数据(Metadata)– 一个关于数据位于何处的指南;•数据模型(A data model)– 数据仓库中数据的抽象;•数据血缘(Data lineage)– 数据仓库中数据的起源和转换;•摘要(Summarization)– 用于创建数据的算法工作的描述;•KPIs – 关键绩效指标在哪里;•ETL – 允许将应用程序数据转换为公司数据。

随着企业中数据(文本、物联网、图像、音频、视频等)的多样性增加,数据仓库的局限性变得明显。此外,机器学习(ML)和人工智能的兴起引入了迭代算法,这些算法需要直接访问数据,而不是基于 SQL。

公司的所有数据

一般情况下,数据仓库里面的数据是结构化的数据。但是现在公司中有许多其他的数据类型,包括结构化(Structured data)、文本数据(Textual data)以及非结构化(unstructured data)的数据。

结构化数据通常是组织为执行日常业务活动而生成的基于事务(transaction-based)的数据。文本数据是由公司内部发生的信件、电子邮件和对话生成的数据。非结构化数据是其他来源的数据,如物联网数据、图像、视频和基于模拟的数据。

数据湖

数据湖是企业中所有不同类型数据的集合。它已经成为企业存放所有数据的地方,因为它的低成本存储系统拥有一个文件 API,以通用和开放的文件格式保存数据,如 Apache Parquet 和 ORC。开放格式的使用也使得数据湖中的数据可以被其他分析引擎访问到,如机器学习系统。

最初构思数据湖时,人们认为只需要提取数据并将其放入数据湖即可。一旦进入数据湖,终端用户就可以一头扎进去,找到数据并进行分析。然而,企业很快发现,使用数据湖中的数据与仅仅将数据放入湖中完全是两码事。

由于缺乏一些关键特性,数据湖的许多承诺都没有实现:不支持事务,不保证数据质量,以及性能优化不佳。因此,企业中的大部分数据湖变成了数据沼泽(data swamps)。

当前数据架构面临的挑战

由于数据湖和数据仓库的局限性,常见的方法是使用多个系统——一个数据湖、几个数据仓库和其他专门的系统,这导致三个常见问题:

缺乏开放性:数据仓库将数据转换为专有格式,这增加了将数据或工作负载迁移到其他系统的成本。由于数据仓库主要提供仅 SQL 的访问模式,因此很难运行其他分析引擎,如机器学习系统。此外,使用 SQL 直接访问数据仓库中的数据非常昂贵和缓慢,这使得与其他技术的集成变得非常困难。•对机器学习的支持有限:尽管有很多关于 ML 和数据管理融合的研究,但没有一个领先的机器学习系统,如 TensorFlow、PyTorch 和 XGBoost,能够很好地在仓库之上工作。与提取少量数据的 BI 系统不同,ML 系统使用复杂的非 SQL 代码处理大型数据集。对于这些用例,仓库供应商建议将数据导出到文件中,这进一步增加了系统的复杂性。•数据湖和数据仓库之间的强制权衡:超过90%的企业数据存储在数据湖中,这是因为数据湖使用廉价存储,从开放直接访问文件到低成本的灵活性。为了克服数据湖缺乏性能和质量的问题,企业将数据湖中的一小部分数据 ETL 到下游数据仓库,用于最重要的决策支持和 BI 应用。这种双系统架构需要对数据湖和数据仓库之间的 ETL 数据进行持续的工程处理。每个 ETL 步骤都有可能导致失败或引入 bug,从而降低数据质量,同时保持数据湖和数据仓库的一致性是非常困难和昂贵的。除了需要为持续的 ETL 支付费用外,用户还要为复制到仓库的数据支付两倍的存储成本。

data lakehouse 的诞生

当前,业界出现了一种称为 data lakehouse 的新型数据架构,它通过一种新的开放和标准化的系统设计来实现:其实现与数据仓库中类似的数据结构和数据管理功能,并将数据存放在数据湖使用的低成本存储系统中

data lakehouse 架构解决了上一节讨论的当前数据架构的主要挑战:

•通过使用开放的数据存储格式(如 Apache Parquet)实现数据开放访问;•原生就支持数据科学和机器学习工作负载;•在低成本存储上提供一流的性能和可靠性。

以下是 data lakehouse 架构的主要优点:

开放性

使用开放文件格式:基于开放和标准化的文件格式,如 Apache Parquet 和 ORC;•开放的 API:提供可以直接有效访问数据的开放 API,而不需要专有引擎和被厂商锁定;•语言支持:不仅支持 SQL 访问,还支持各种其他工具和引擎,包括机器学习和 Python/R 库

支持机器学习

支持多种数据类型:为许多新的应用程序存储、精炼、分析和访问数据,包括图像、视频、音频、半结构化数据和文本;•高效的非 SQL 直接读取:使用 R 和 Python 库直接高效的访问大量数据,以运行机器学习实验;•对 DataFrame API 的支持:内置的声明式 DataFrame API 具有查询优化功能,可用于 ML 工作负载中的数据访问,因为诸如 TensorFlow,PyTorch 和XGBoost 的 ML 系统已采用 DataFrames 作为操作数据的主要抽象。•数据版本控制:提供数据快照,使数据科学和机器学习团队可以访问和还原到较早版本的数据,以进行审核和回滚或重现 ML 实验。

一流的性能和低成本的可靠性

性能优化:通过利用文件统计信息,来启用各种优化技术,例如缓存,多维 clustering 和跳过无用数据;•模式增强和管理:支持星型/雪花模型等数据仓库模式架构,并提供健壮的数据治理和审计机制;•事务支持:当多方并发地读写数据(通常使用SQL)时,利用 ACID 事务来确保数据一致性;•低成本存储:Lakehouse 架构使用了低成本的对象存储,如 Amazon S3、Azure Blob 存储或 Google Cloud Storage。。

数据仓库、数据湖以及 data lakehouse 比较

data lakehouse 的影响

我们相信,data lakehouse 架构提供的机会,可以与我们在数据仓库市场的早期相媲美。data lakehouse 在开放环境中管理数据的独特能力,融合了企业各个部门的各种数据,并将数据湖中数据科学焦点与数据仓库中终端用户分析相结合,将为组织释放难以置信的价值。

本文翻译自《Evolution to the Data Lakehouse》:https://databricks.com/blog/2021/05/19/evolution-to-the-data-lakehouse.html

Streaming Lakehouse是一种结合了数据湖(Data Lake)和数据仓库Data Warehouse)优点的数据架构模式,旨在处理大规模、实时的数据流,并支持复杂分析查询。 ### 数据湖 vs 数据仓库 - **数据湖**:存储大量的原始数据,包括结构化、半结构化和非结构化数据。它通常用于存档所有企业的数据,成本较低,适合大数据量的存储。 - **数据仓库**:主要用于存储经过清洗和转换后的结构化数据,优化用于快速查询和报告生成,性能较高,但灵活性较差。 ### Streaming Lakehouse 的特点 1. **统一的数据管理和治理**:Lakehouse 架构将数据湖的成本效益与事务一致性结合起来,同时提供高效的元数据管理功能,确保跨多个系统的一致性和安全性。 2. **支持批量及流式处理**:通过集成批处理引擎(如Apache Spark)和支持持续摄入的新框架(如Delta Lake),可以对静态历史数据以及流入系统的实时事件进行高效地处理。 3. **ACID 交易特性**:保证操作的原子性、一致性、隔离性和持久性,在高并发场景下仍能保持数据完整性。 4. **SQL 查询能力增强**:允许用户直接运行标准 SQL 查看最新的更新结果集;对于BI工具友好,易于构建可视化仪表板等应用。 5. **机器学习模型训练更便捷**:能够轻松访问最新版本特征值并将其应用于预测建模过程之中,加速从洞察到行动的速度。 总之,Streaming Lakehouse 提供了一种现代解决方案来应对日益增长的企业级数据分析需求,特别是在需要融合不同类型数据源的情况下尤为有用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值