数据架构之数据网格架构模式

开发 架构
换句话说,EDPC 包含企业数据网格中所有元素的数据沿袭。EDPC 使用此数据提供元数据的可搜索索引——其中明确包括对每个数据产品的不可变更改/审计日志的引用——允许轻松找到和确认数据沿袭。

数据网格模式

企业数据网格正在成为一种独特且引人注目的方式来管理企业内的数据。它将“产品思维”引入企业数据管理,同时在企业中实现更高水平的敏捷性和数据治理。它创造了一种“自助服务”能力,具有近乎实时的数据同步,从而为实时数字企业奠定了基础。

但是,唉,没有单一的产品可以为您带来数据网格。相反,企业的数据网格由许多常用组件组成(请参阅下一节数据网格架构回顾)。

但成功的关键是了解这些组件如何相互作用。在本文中,我将使用架构模式来描述这些交互。

数据网格架构回顾

企业数据网格由许多组件组成(更多详细信息可在此处、此处和此处获得)。数据产品是数据网格中的主要构建块,包含使用企业的数据网格在整个组织中同步的运营、分析和/或参与数据。API 用于访问数据产品中的数据。为了支持联合治理,每个数据产品都包含一个记录数据更改的审计日志和一个它管理的数据目录。

一个企业的数据网格有很多数据产品。数据产品订阅彼此的数据,这样当一个数据产品更改其数据时,此更改会使用更改数据捕获和事件流主干传达给其他数据产品。

最后,企业数据目录(所有数据产品目录和数据更改的同步聚合)用于使任何用户或开发人员轻松查找、使用和管理整个企业的任何数据,同时也为理解提供了基础整个企业的数据沿袭。

  • Figure 1, Enterprise Data Mesh Architecture

我们将在本文中描述以下架构模式:

  • 变更数据捕获 (CDC)
  • 事件流主干(Event Streaming Backbone)
  • 数据产品目录 (Data Product Catalog )
  • 企业数据产品目录 (Enterprise Data Product Catalog )
  • 不可变的变更/审计日志 (Immutable Change / Audit Log )

数据网格模式:变更数据捕获

如今,很难在服务和应用程序边界之间安全、可靠和一致地交付数据。有两种方法可以应对这一挑战。首先,可以使用“两阶段提交”(2PC) 等协议跨多个数据库同步更新数据,但这种方法通常复杂且成本高,并且通常保留用于保持多个数据源同步绝对关键的情况.

第二种方法是立即更新主数据库,同时在将来更新辅助数据库(但不在事务范围内)。当更新主数据库和辅助数据库之间的时间跨度超过预期时,就会出现问题。

变更数据捕获 (CDC) 是企业数据网格用来应对这一挑战的基础组件。CDC 通过在数据库的事务日志中捕获和发布条目来工作,但最重要的是,它在原始事务之外不显眼地执行此操作。这意味着 CDC 透明地捕获操作(或分析)数据的变化,而不会影响原始应用程序或事务流。

(注意:这里有更多详细信息供那些寻找有关 CDC 如何在企业中工作的详细信息的人使用)

  • Figure 2, Data Mesh Pattern: Change Data Capture

但是 CDC 对捕获的“事件”做了什么。在 Enterprise Data Mesh 中,它将事件发布到 Event Streaming Backbone(下一个模式),以便在整个企业中分发。

数据网格模式:事件流主干

Event Streaming Backbone 在企业数据网格中分发事件。事件通常来自应用程序、API,在我们的例子中,也来自 CDC。然而,特别重要的是,任何已发布的事件都可以被任何其他订阅实体安全、可靠且近乎实时地使用。

  • Figure 3, Data Mesh Pattern: Event Streaming Backbone

Event Streaming Backbone 中有几个核心托管实体:

  • 由 JSON 模式定义的事件分布在企业数据网格中。
  • 主题用于在整个企业中排队和分发事件;企业数据网格通过允许许多实体发布和使用事件来使用类似于队列的众所周知的主题。
  • 生产者将事件发布到主题;企业数据网格中的生产者可能是 API、应用程序或 CDC。
  • 消费者消费来自主题的事件。企业数据网格中的消费者可以是订阅主题并在事件可用于处理时收到通知的任何实体或应用程序。
  • 事件流处理器可以按事件处理事件,也可以按时间窗口聚合事件,从而在企业数据网格中实现非常复杂和强大的分析技术。
  • 经纪人管理上述组件,以确保整个企业数据网格中安全可靠的事件通信。

数据网格模式:数据产品目录

他们说,数据是新的黄金和采矿,它将带来巨大的洞察力和财富。但在当今的大多数企业中,数据散布在组织中的许多组中。销售拥有客户数据,分销拥有供应链,财务拥有交易和账户。

不幸的是,这使得查找数据变得非常困难,而且一旦找到,就更难以将它们整合在一起以做出全面的业务决策。结果是:决策缓慢、代价高昂且不知情。

数据产品目录 (DPC) 包含有关数据产品的数据(“元数据”)的信息。DPC 提供的信息使任何授权人员或应用程序都可以轻松地在企业数据网格中查找、查看和使用数据产品。DPC 提供了几个好处:

  • 通过启用本地所有权和问责制,易于管理。
  • 通过允许本地化和更快的决策制定,易于更改和发展。
  • 易于查找、查看和使用数据,使任何(授权)实体都可以轻松查找、查看和使用数据(即“自助服务”)。

  • Figure 4, Data Mesh Pattern: Data Product Catalog

数据网格模式:企业数据产品目录

企业数据产品目录 (EDPC) 是一个从所有本地数据产品目录 (DPC) 聚合元数据的存储库。企业数据目录用于存储有关在企业数据网格中维护的所有数据的信息和统计数据(元数据),从而可以轻松查找、查看、使用和管理数据:

  • 数据科学家使用 EDPC 来查找企业中可用于训练模型的数据位置。
  • 业务用户使用 EDPC 来查找业务决策所需的信息。
  • 开发人员使用 EDPC 来了解其应用程序所需的数据结构。
  • Governance Professionals 使用 EDPC 来理解和监控整个企业的数据,从而在企业数据网格内实现联合计算治理。

  • Figure 5, Data Mesh Pattern: Enterprise Data Product Catalog

数据网格模式:不可变变更/审计日志

了解数据的沿袭——定义为数据经历的变化的汇总列表——对于治理和监管目的至关重要。为什么这很重要?考虑今天的一个常见情况:人工智能/机器学习的出现现在是企业必备的能力。数据科学家使用复杂的模型来支持和做出关键的业务决策。

然而,在许多企业中,尤其是医疗保健和金融企业,这些模型的实际可行性取决于满足监管机构对可重复性和可追溯性要求的能力(更多信息可在此处和此处获得)。不幸的是,大多数企业没有能力以审计人员或监管机构要求的方式跟踪数据沿袭。

企业数据网格的不可变变更/审计日志通过在企业数据网格中保留历史数据更改以供未来审计和治理之用,从而满足了这一需求。本地数据 产品更改/审核日志会在数据发生任何数据更改时自动更新。然后将这些日志传播到企业数据产品目录 (EDPC),以便整合企业中数据更改的历史记录。

换句话说,EDPC 包含企业数据网格中所有元素的数据沿袭。EDPC 使用此数据提供元数据的可搜索索引——其中明确包括对每个数据产品的不可变更改/审计日志的引用——允许轻松找到和确认数据沿袭。

  • Figure 6, Data Mesh Pattern: Immutable Change/Audit Log

结论性想法

企业数据网格正在成为实时数字企业的基础推动者。架构模式提供了一种既定的方式来描述数据网格交互。虽然没有现成的可用工具,但构建您自己的组织数据网格的第一步是了解启用数据网格的基础模式。

希望本文为您提供必要的洞察力来启动您自己的企业数据网格!

责任编辑:武晓燕 来源: 超级架构师
相关推荐

2021-07-02 06:54:45

软件架构模式

2023-06-16 13:34:00

软件架构模式

2012-10-08 11:16:36

企业应用架构标识映射

2012-10-08 11:18:38

企业应用架构工作单元模式

2012-01-13 10:45:56

企业应用架构

2024-02-05 08:11:30

架构模式单体

2020-12-29 19:15:04

架构模式代码分布式

2023-07-27 06:51:46

Android架构模式

2022-06-14 11:01:37

架构模式开发

2020-02-24 21:23:41

跨平台想法尝试

2018-05-24 11:38:17

2011-12-23 10:01:29

2010-04-06 12:59:18

MVC

2020-06-28 10:15:39

架构模式软件

2017-09-14 09:30:38

软件架构模式

2022-09-21 10:05:09

架构模式

2020-06-22 07:00:00

软件架构架构模式

2020-10-08 18:20:54

前端后端架构

2022-07-27 20:37:45

主流企业架构

2023-09-11 11:18:44

软件开发架构
点赞
收藏

51CTO技术栈公众号