什么是数据湖屋?

数据湖屋是一个数据管理系统,它结合了数据湖和数据仓库的优势。 本文介绍湖屋的体系结构模式及其在 Azure Databricks 上的用途。

A diagram of the lakehouse architecture using Unity Catalog and delta tables.

数据湖屋的用途是什么?

数据湖屋为希望避免独立系统处理机器学习 (ML) 和商业智能 (BI) 等不同工作负载的现代组织提供可缩放的存储和处理功能。 数据湖屋可以帮助建立单一事实来源,消除冗余成本,并确保数据新鲜度。

数据湖屋通常使用的数据设计模式可以在数据流经暂存层和转换层时以增量方式改进、扩充和优化数据。 湖屋的每一层可以包含一层或多层。 此模式通常称为奖牌体系结构。 有关详细信息,请参阅什么是奖牌湖屋体系结构?

Databricks 湖屋的工作原理是什么?

Databricks 是基于 Apache Spark 构建的。 Apache Spark 实现了一个可大规模扩展的引擎,该引擎在与存储分离的计算资源上运行。 有关详细信息,请参阅 Azure Databricks 上的 Apache Spark

Databricks Lakehouse 使用另外两项关键技术:

  • Delta Lake:支持 ACID 事务和架构实施的优化存储层。
  • Unity Catalog:针对数据和 AI 的统一精细治理解决方案。

数据引入

来自各种源的、采用各种格式的批处理数据或流式处理数据进入引入层。 第一个逻辑层提供一个位置,数据以其原始格式进入该位置。 将这些文件转换为 Delta 表时,可以使用 Delta Lake 的架构实施功能来检查丢失或意外的数据。 可以使用 Unity Catalog 根据数据治理模型和所需的数据隔离边界来注册表。 Unity Catalog 支持你在转换和优化数据时跟踪数据的世系,并应用统一的治理模型来保持敏感数据的私密性和安全性。

数据处理、管护和集成

验证后,可以开始管护和细化数据。 在此阶段,数据科学家和机器学习从业者经常使用数据来开始组合或创建新功能并完成数据清理。 彻底清理数据后,可将其集成并重新组织成符合特定业务需求的表。

将写时架构方法与 Delta 架构演变功能相结合,可以对此层进行更改,而无需重新编写为最终用户提供数据的下游逻辑。

数据服务

最后一层为最终用户提供干净且经过扩充的数据。 最终的表应设计为针对所有用例提供数据。 统一治理模型意味着可以将数据世系追溯到单一事实来源。 针对不同任务进行优化的数据布局允许最终用户访问机器学习应用程序、数据工程以及商业智能和报告的数据。

若要详细了解 Delta Lake,请参阅什么是 Delta Lake?若要详细了解 Unity Catalog,请参阅什么是 Unity Catalog?

Databricks 湖屋的功能

基于 Databricks 的数据湖屋消除了现代数据公司目前对数据湖和数据仓库的依赖。 可以执行的一些关键任务包括:

  • 实时数据处理:实时处理流数据以立即进行分析和操作。
  • 数据集成:在单个系统中统一数据,以实现协作并为组织建立单一事实来源。
  • 架构演变:随时修改数据架构以适应不断变化的业务需求,而不会中断现有的数据管道。
  • 数据转换:使用 Apache Spark 和 Delta Lake 为数据带来速度、可伸缩性和可靠性优势。
  • 数据分析和报告:使用针对数据仓库工作负载进行优化的引擎来运行复杂分析查询。
  • 机器学习和 AI:将高级分析技术应用于所有数据。 使用 ML 扩充数据并支持其他工作负载。
  • 数据版本控制和世系:维护数据集的版本历史记录并跟踪世系,以确保数据来源有据可查且可追溯。
  • 数据治理:使用单个统一系统来控制对数据的访问并执行审核。
  • 数据共享:允许跨团队共享特选数据集、报告和见解,以促进协作。
  • 运营分析:通过将机器学习应用于湖屋监视数据来监视数据质量指标、模型质量指标和偏差。

湖屋、数据湖与数据仓库的比较

大约 30 年以来,数据仓库一直在驱动商业智能 (BI) 决策,现已发展成为数据流控制系统的一套设计准则。 企业数据仓库可以优化 BI 报表的查询,但可能需要几分钟甚至数小时才能生成结果。 数据仓库专为不太可能频繁更改的数据而设计,旨在防止并发运行的查询之间发生冲突。 许多数据仓库依赖于专有格式,这些格式通常限制了对机器学习的支持。 Azure Databricks 上的数据仓库利用 Databricks 湖屋和 Databricks SQL 的功能。 有关详细信息,请参阅什么是 Azure Databricks 上的数据仓库?

得益于数据存储方面的技术进步以及数据类型和数量呈指数级的增长,数据湖在过去十年中已广泛使用。 数据湖存储高效且廉价地存储和处理数据。 数据湖通常是相对于数据仓库来定义的:数据仓库为 BI 分析提供干净的结构化数据,而数据湖永久且廉价地以任何格式存储任何性质的数据。 许多组织将数据湖用于数据科学和机器学习,但由于其未经验证的性质而无法用于 BI 报告。

数据湖屋结合了数据湖和数据仓库的优势,此外还提供以下优势:

  • 对以标准数据格式存储的数据的开放且直接的访问。
  • 已针对机器学习和数据科学进行了优化的索引协议。
  • BI 和高级分析的低查询延迟和高可靠性。

通过将优化的元数据层与以标准格式存储在云对象存储中的经验证数据相结合,数据湖屋允许数据科学家和机器学习工程师从相同的数据驱动的 BI 报告生成模型。

下一步

若要详细了解有关使用 Databricks 实施和运营湖屋的原则和最佳做法,请参阅架构良好的数据湖屋简介