【数据架构】数据网格架构模式

简介: 【数据架构】数据网格架构模式

数据网格模式

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

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

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

数据网格架构回顾

企业数据网格由许多组件组成(更多详细信息可在此处、此处和此处获得)。数据产品是数据网格中的主要构建块,包含使用企业的数据网格在整个组织中同步的运营、分析和/或参与数据。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

结论性想法

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

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

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
1月前
|
存储 SQL 关系型数据库
ClickHouse(02)ClickHouse架构设计介绍概述与ClickHouse数据分片设计
ClickHouse的核心架构包括执行过程和数据存储两部分。执行过程涉及Parser与Interpreter解析SQL,通过Column、DataType、Block、Functions和Storage模块处理数据。Column是内存中列的表示,Field处理单个值,DataType负责序列化和反序列化,Block是内存中表的子集,Block Streams处理数据流。Storage代表表,使用不同的引擎如StorageMergeTree。数据存储基于分片和副本,1个分片由多个副本组成,每个节点只能拥有1个分片。
164 0
ClickHouse(02)ClickHouse架构设计介绍概述与ClickHouse数据分片设计
|
9月前
|
存储 SQL 关系型数据库
TiDB亿级数据亚秒响应查询整体架构
TiDB亿级数据亚秒响应查询整体架构
673 0
|
1月前
|
缓存 安全 API
【亿级数据专题】「高并发架构」盘点本年度探索对外服务的百万请求量的API网关设计实现
公司对外开放的OpenAPI-Server服务,作为核心内部系统与外部系统之间的重要通讯枢纽,每天处理数百万次的API调用、亿级别的消息推送以及TB/PB级别的数据同步。经过多年流量的持续增长,该服务体系依然稳固可靠,展现出强大的负载能力。
91 9
【亿级数据专题】「高并发架构」盘点本年度探索对外服务的百万请求量的API网关设计实现
|
9月前
|
供应链 架构师 数据库
架构师带你搞明白微服务进阶场景实战:服务之间的数据依赖问题
数据同步 上面讲解了数据一致性的解决方案,这一篇来讲讲服务之间的数据依赖问题,还是先来说说具体的业务场景。 业务场景:如何解决微服务之间的数据依赖问题 在某个供应链系统中,存在商品、订单、采购这3个服务,它们的主数据部分结构表如下。
架构师带你搞明白微服务进阶场景实战:服务之间的数据依赖问题
|
3天前
|
存储 关系型数据库 数据库
数据的反规范化架构
【6月更文挑战第13天】 本文介绍数据库设计包括规范化和反规范化。优化设计和应用规范化规则确保高效且准确的数据存储。
29 2
数据的反规范化架构
|
9天前
网络编程中的互联网协议 , IP地址 , 域名 , 端口 , 架构 , 网页数据请求 , 响应码
网络编程中的互联网协议 , IP地址 , 域名 , 端口 , 架构 , 网页数据请求 , 响应码
|
10天前
|
存储 缓存 NoSQL
了解Redis,第一弹,什么是RedisRedis主要适用于分布式系统,用来用缓存,存储数据,在内存中存储那么为什么说是分布式呢?什么叫分布式什么是单机架构微服务架构微服务的本质
了解Redis,第一弹,什么是RedisRedis主要适用于分布式系统,用来用缓存,存储数据,在内存中存储那么为什么说是分布式呢?什么叫分布式什么是单机架构微服务架构微服务的本质
|
1月前
|
存储 设计模式 测试技术
了解三层架构:表示层、业务逻辑层、数据访问层
了解三层架构:表示层、业务逻辑层、数据访问层
700 0
|
1月前
|
机器学习/深度学习 语音技术 网络架构
【视频】LSTM神经网络架构和原理及其在Python中的预测应用|数据分享
【视频】LSTM神经网络架构和原理及其在Python中的预测应用|数据分享
|
8月前
|
SQL 监控 安全
架构设计第五讲:数据巡检系统的设计与应用
架构设计第五讲:数据巡检系统的设计与应用
172 0