跳转到主要内容
Chinese, Simplified

SnapLogic的一项研究惊人地揭示了数据管理中的一个关键挑战:IT部门和数据团队平均每名员工每周损失4个工作小时,这完全是由于解决了数据准备问题。这种低效率随着组织的发展而升级。最成功的数据驱动组织在数据准备和分析方面有什么共同点可以建立信任?我最近的Databricks Data和AI World Tour体验提供了一个令人惊讶的启示。我已经开始看到,从最成功的组织中出现的一种模式是将流行模式和实践的一些最佳部分融合在一起。规模较小的组织可以用更少的结构和更简单的方法逃脱惩罚,但大多数领导者都着眼于未来和可扩展性,担心他们的数据平台在经历时间和增长考验后会出现混乱和简陋的开端。大多数大型组织已经意识到,Data Mesh解决了提供解决方案的重大瓶颈。Medallion架构模式从Hadoop读取模式尝试的缺点中脱颖而出,提供了一种替代方案。与传统ETL实践中的Raw、Staging和Presentation层类似,这种模式不会让用户对其数据进行解密,而是确保数据组织整齐并可供使用。虽然许多人认为Medallion模式是集中的,但事实上,它是一个具有各种实现的灵活概念。让我们从数据网格开始,看看这些单独的模式,以及它们是如何合并成新的模式的。

https://www.datamesh-architecture.com/

由Zhamak Dehghani创建的Data Mesh是一个去中心化的数据管理框架,围绕以去中心化方式创建数据产品(按域和联邦计算资源分组),培养自助服务文化。大多数组织领导层都意识到瓶颈正摆在他们面前,启用数据网格正在兴起。虽然Data Mesh解决了困扰大型组织的主要瓶颈,但它们仍在与具有孤立数据湖和数据仓库的lambda架构作斗争。现在,让我们探讨一下Delta Lake是如何使用Medallion架构将数据沼泽转化为结构化存储库的。

https://www.databricks.com/glossary/medallion-architecture

Medallion架构是随着Delta Lake的流行而出现的,Delta Lake是一种开源数据Lake表格式,它构成了Lakehouse模式的基础,该模式统一了Lake和仓库存储格式。Medallion体系结构由数据的三个主要阶段组成,青铜表示原始数据,白银表示结构化为表的净化数据,黄金表示聚合表、维度模型和特征表等衍生数据产品。在数据仓库中,Raw、Staging和Presentation层也有类似的方法,尽管假设Raw由结构化数据组成。虽然Medallion模式为我们的数据层提供了一个很好的概念组织,但我们仍然需要管理用户编写的管道的软件最佳实践。这就是dbt的用武之地。

getdbt.com

Dbt(数据构建工具),一个命令行工具,专注于ELT(提取、加载、转换)中的“T”,专门处理这些管道中的转换。这是通过用SQL select语句定义模型,然后将它们转换为表、视图或其他构造来实现的。Dbt的核心功能是模型、测试、快照和文档,通过使用SQL和Jinja2模板在现代云数据仓库中启用版本控制的动态SQL。

Thanks to Bernhard Walter for his excellent architecture diagrams

Medallion Mesh模式允许采用去中心化的方法在云中灵活地生产数据产品。数据被静态存储在丰富而廉价的数据湖中,而联邦即时无服务器计算为分析师、科学家和工程师提供了可构建的自助消费层。这种架构与FinOps很好地结合在一起,在FinOps中,计算和资产可以被标记并适当分配成本。每个团队都负责接收和准备其数据以供使用,应用数据治理最佳实践以提供对数据的访问,并适当地标记资产。这通常被称为青铜到白银。构建衍生数据产品的消费者将进行从银到金的处理,应用业务规则和逻辑,并创建聚合表等性能对象。无论你把创建类似立方体的结构称为白金还是钻石,这些都是衍生数据产品的形式。

Thanks to Bernhard Walter for his excellent architecture diagrams

通过概述的模式,让我们讨论一些进一步协同不同人物角色的特定工具,以及它们如何与架构模式交互。通常,我们看到核心IT团队、数据工程师或数据生产者更喜欢使用从青铜到白银的德尔塔实时表,其中流式表和将更改应用到的简单接收提供了一个灵活的框架,用于将更改数据增量接收到支持SCD类型1和2的德尔塔湖表中。这种模式非常普遍,以至于有一个开源回购专门用于构建元数据驱动的Delta Live Tables管道,并实现自动化,称为DLT Meta。

https://github.com/databrickslabs/dlt-meta

对于Silver to Gold,我们看到分析工程师使用dbt来生产用于分析消费的衍生数据产品。Dbt有大量的包,可以轻松地将原始数据转换为有价值的可消费对象。通过Databricks SQL上的dbt,流式表和物化视图是一种受支持的物化,它扩展了DLT的增量功能。最终,这种组合为数据消费者提供了访问接近实时数据的有效增量处理,所有这些都使用了分析工程师在仓库中熟悉的相同工具。使用Unity Catalog,可以在Databricks中的所有计算上自动跟踪沿袭,因此当所有这些操作发生时,您将拥有一个统一的窗格来查看所有数据的沿袭。虽然dbt确实提供了表级沿袭,但它只是在其步骤的范围内。Unity Catalog沿袭是列级的,包括表达式,所以您可以毫不费力地确切地知道为什么数据看起来是特定的。让我们深入了解像Unity Catalog这样的统一治理层是如何实现去中心化自助服务治理的。

在data Mesh之前的传统数据治理中,类似于核心IT数据团队是管道瓶颈,核心数据治理团队成为确保正确访问和控制数据的瓶颈。这种方法往往是僵化的,不能促进数据民主化。在数据网格中,一个关键方面是可发现性和可访问性,同时确保法规遵从性和安全性。虽然去中心化治理的规模要大得多,但仍然需要一个集中的政策框架来确保数据的隐私、安全和合规性,而每个域都必须遵守这一点。采用像Unity这样的统一目录可以确保数据端到端的管理和安全,同时使其可访问和可发现,并全程跟踪沿袭。Unity Catalog提供了一个灵活的治理框架,使组织能够适应提供安全且治理良好的数据和人工智能解决方案的不断挑战的世界。当您的数据生产者能够通过DLT和dbt,通过Unity Catalog的联合治理,跟踪所有谱系并审计您的网格,来制作和发布他们的数据产品时,您的生态系统将蓬勃发展。

 

我认为Medallion mesh的核心解决的不仅仅是技术架构,它在一个统一的平台上民主化了对数据和工具的访问,使任何类型的用户都能使用他们选择的工具来完成任务。请记住,尽管这些模式和实践在各种规模的组织中都取得了成功,但并没有一个一刀切的解决方案。您应该批判性地考虑这些模式,采用有意义的模式,并将那些可能给您的组织带来摩擦的模式放在桌面上。你有什么想法?我们正在见证#meshdallion的崛起吗?

原文地址
https://medium.com/dbsql-sme-engineering/the-emergence-of-the-medallion-mesh-a2bba72aa988
本文地址
Article

微信

知识星球

微信公众号

视频号