跳转到主要内容

什么是Medallion 架构?

Medallion 架构是一种数据设计模式,用于逻辑地组织lakehouse中的数据,其目标是在数据流经体系结构的每一层时逐步改进数据的结构和质量(来自Bronze⇒银⇒金表)。Medallion体系结构有时也称为“多跳”体系结构。

 

使用medallion 结构构建数据管道

Databricks提供了像DeltaLiveTables(DLT)这样的工具,允许用户只需几行代码就可以立即使用Bronze、Silver和Gold表构建数据管道。而且,通过流表和物化视图,用户可以创建基于Apache Spark的流DLT管道™️增量刷新和更新的结构化流。有关更多详细信息,请参阅关于在单个管道中组合流式表和物化视图的Databricks文档。

青铜层(原始数据)

青铜层是我们从外部源系统获取所有数据的地方。该层中的表结构“原样”对应于源系统表结构,以及捕获加载日期/时间、进程ID等的任何其他元数据列。该层的重点是快速更改数据捕获,以及提供源(冷存储)、数据沿袭、可审核性的历史存档的能力,如果需要的话进行再处理,而无需从源系统重新读取数据。

银层(净化和合格数据)

在lakehouse的银层中,来自青铜层的数据被匹配、合并、整合和净化(“刚好”),以便银层可以提供其所有关键业务实体、概念和交易的“企业视图”。(例如主客户、商店、不重复交易和交叉参考表)。

银层将来自不同来源的数据带入企业视图,并为特别报告、高级分析和ML提供自助分析。它是部门分析师、数据工程师和数据科学家的来源,可以通过金层中的企业和部门数据项目进一步创建项目和分析,以解决业务问题。

在lakehouse数据工程范式中,通常遵循ELT方法而不是ETL——这意味着在加载Silver层时只应用最小或“刚好足够”的转换和数据清理规则。优先考虑在数据湖中获取和交付数据的速度和灵活性,并在从银层到金层加载数据时应用许多特定于项目的复杂转换和业务规则。从数据建模的角度来看,Silver Layer有更多类似于第三范式的数据模型。类似于Data Vault的写性能数据模型可以在该层中使用。

黄金层(精心策划的业务级表格)

lakehouse的黄金层中的数据通常组织在可供消费的“特定项目”数据库中。黄金层用于报告,使用更多的去规范化和读取优化数据模型,连接更少。这里应用了数据转换和数据质量规则的最后一层。项目的最终展示层,如客户分析、产品质量分析、库存分析、客户细分、产品建议、标记/销售分析等,都适合这一层。我们看到很多基于Kimball风格的星模式数据模型或Inmon风格的数据集市都适合这个湖屋的黄金层。

所以你可以看到,当数据在湖屋的不同层中移动时,数据是经过精心策划的。在某些情况下,我们还看到传统RDBMS技术堆栈中的许多数据集市和EDW被吸收到lakehouse中,因此企业首次可以进行“泛EDW”高级分析和ML——这在传统堆栈上是不可能的,或者成本太高。(例如,物联网/制造数据与缺陷分析或医疗保健基因组学的销售和营销数据挂钩,EMR/HL7临床数据市场与财务索赔数据挂钩,以创建医疗保健数据湖,及时改进患者护理分析。)

湖屋建筑的好处

  • 简单的数据模型
  • 易于理解和实施
  • 启用增量ETL
  • 可以随时从原始数据重新创建表
  • ACID事务,时间旅行

湖屋快速入门

lakehouse是一种数据平台架构范式,它结合了数据湖和数据仓库的最佳功能。现代lakehouse是一个高度可扩展和高性能的数据平台,承载原始和准备好的数据集,用于快速业务消费,并推动高级业务见解和决策。它打破了数据孤岛,允许企业内的授权用户在一个平台上无缝、安全地访问数据。

 

Medallion架构和数据网格

Medallion体系结构与数据网格的概念兼容。青铜表和银表可以以“一对多”的方式连接在一起,这意味着单个上游表中的数据可以用于生成多个下游表。

 

其他资源

本文地址

知识星球

微信公众号

视频号