【数据网格架构】数据网格架构详解

这篇具有很好参考价值的文章主要介绍了【数据网格架构】数据网格架构详解。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

“我想指出,所提供的链接都不是附属的,我从本文中提到的公司中没有任何收获。我做这一切是因为直到最近我才听说过数据网格,我很期待这次活动,并希望在此之前深入了解一下。我还认为这可能会让其他人感兴趣,并付出了额外的努力以清晰简洁的方式分享我的笔记。”


本文/报告的目的是根据 Zhamak Dehghani 在即将举行的 Datanova — 数据网格峰会之前关于 Martin Fowler 的前两篇文章,分享和解释我对数据网格的理解。许多句子直接取自扎马克的文章。


Dahghani 女士最近出版了一本关于该主题的书。我还没有读过它,但我毫不怀疑它会澄清这篇文章的一些内容。


作为图表的忠实粉丝,我尝试制作一些图表来解释一些概念。
在接下来的文章中,我首先简要介绍 Zhamak Dehghani。我继续解释什么是数据网格以及为什么它很重要。我简要总结一下它是如何工作的。最后,分享几个我自己的问题。
在本文末尾,您将找到数据网格技术术语表和本文使用的或您可能感兴趣的资源列表。

扎马克·德加尼是谁?

【数据网格架构】数据网格架构详解,架构,数据网格架构,数据架构

Zhamak Dehghani — source ThoughtWorks

Zhamak 拥有计算机科学专业的工程学士学位和信息技术管理硕士学位。她做了几年软件工程师。今天,她是 ThoughtWorks 的新兴技术总监,过去 10 年她一直在该公司工作。

“她在 2018 年创立了 Data Mesh 的概念,这是大数据管理向数据去中心化的范式转变,此后一直在向更广泛的行业宣传这一概念。
Zhamak 是 ThoughtWorks 技术顾问委员会的成员,并为创建 ThoughtWorks 技术雷达做出了贡献。她作为技术专家工作了 20 多年,并为分布式计算通信以及嵌入式设备技术方面的多项专利做出了贡献。” — 思想工场

什么是数据网格,为什么它很重要?


尽管我们仍然在通过科学方法发现或重新发现早已超越直觉的智慧,但在许多领域,人类已经对自己感兴趣的主题产生了透彻的理解:意识、生活、冲突、教与学等。, 21 世纪的特点是两个尚未彻底分析的概念:敏捷方法和数据的力量。


数据和敏捷性可能早在我们开始创造特定术语来描述它们之前就已经存在,但只是“最近”,这要归功于我们新发现的计算能力,我们才真正了解它们的重要性。


数据网格是敏捷思维和对数据的透彻理解的结果。数据网格最简单的形式是处理数据的敏捷框架。
目前,数据湖是大型刚性结构。数据从这些刚性结构中提取、处理并作为一个单一的超级强大的数据平台提供服务。然而,数据湖存在一些“可扩展性”缺陷:

  • 由于数据在一个地方全部处理,因此它们通常不利于轻松添加新的数据源,这在数据是黄金且高效处理是关键的世界中至关重要。

  • 他们冒着负责摄取、处理或提供数据的专业团队之间沟通问题的风险。与中国耳语游戏类似,最终用户的需求很容易被那些摄取和处理数据的人误解。

  • 它们不利于可互换的用例和实验。

【数据网格架构】数据网格架构详解,架构,数据网格架构,数据架构

(Simplified diagram of a data lake)

上图可能显示了添加新数据源将如何需要更新整个数据湖,这涉及各种流程和多个独立团队。每个新客户或新来源都意味着修改复杂性不断增加的结构。


刚性总比没有好,因此数据湖曾经是必要的。然而,敏捷总是比刚性好,数据网格是刚性数据湖的敏捷改进。

数据网格如何工作?


[ 重要的!] 这可能只是我遇到的一个问题。我认为数据产品是核心功能基于数据的产品。


数据产品是“通过使用数据促进最终目标的产品”——DJ Patil,Data Jujitsu。


汽车不是数据产品,但 GPS 是。在线流媒体服务是一种数据产品,但视频商店不是。但是,对于 Zhamak Dehghani 来说,由于产品就是数据本身,因此术语数据产品用于将特定数据域定义为产品。重要的是要理解,在这种情况下,数据产品是一个有据可查、高质量的特定领域数据集,数据消费者(数据科学家、分析师等)可以通过 API 使用它。数据网格的目标是为公司的最终数据产品(它向消费者提供的产品)提供服务。我将通过将 Dehghani 女士的“数据产品”称为“领域数据产品”来尝试澄清这一点。


数据网格是一个框架。虽然只有某些技术可能允许其实施,但并不限于特定技术。因此,Zhamak Dehghani 仅提供原理和逻辑架构来解释如何实现它。

数据网格基于四个原则:


面向领域的去中心化数据所有权和架构


数据网格是特定领域数据产品的网络。它比数据湖具有更好的扩展性,因为新的数据源或新的数据消费者只意味着添加一个新的域(数据产品),而不是重新访问整个数据湖。


数据作为产品


每个域都像消费者一样为数据工程师服务,并具有以下属性。

  • 可发现:所有可用数据域的注册表(或市场)。

  • 可寻址:允许数据消费者以编程方式访问的唯一地址。

  • 值得信赖:域“所有者”提供数据的质量保险以及数据出处和数据沿袭作为与域数据产品相关的元数据。

  • 自我描述的语义和语法:域元数据应该足够清晰,任何人都可以自己开始使用数据。

  • 可互操作并受全球标准监管:得益于全球质量和识别标准,数据可以跨域处理。

  • 安全并受全球标准监管:使用企业身份管理系统 (SSO) 和基于角色的访问控制。

  • 领域数据跨职能团队:领域特定的产品所有者和数据工程师,能够处理从源到数据消费者的整个领域数据。


作为平台的自助数据基础设施


每个域的数据集都需要可供任何希望使用它们的人使用。访问数据集的数据消费者需要通过上一个原理中的属性描述找到一个完善的数据产品。


联合计算治理


数据湖的优势在于,如果不遵循数据湖标准,则没有任何效果。因此,保证整个数据网格的功能至少与数据湖一样的唯一方法是实施全局治理。全局治理意味着两套标准:全球标准和领域特定标准。其中包括与数据产品属性相关的标准,例如数据质量、数据集之间的交叉引用、命名约定、元数据语法等。

数据网格可以很容易地与 Python 进行比较。Python 的强大之处不仅在于它是一种简单的编码语言,还在于任何遵循全球库标准的开发人员都可以构建一个新的 Python 库(一种代码产品)并使其在官方 Python 库的全球市场上可用。每个开发人员还可以自由设置自己的附加库标准。
在她的文章中,Zhamak 将数据产品显示为属于域,但没有没有数据产品的域,所以在我的情况下,它们是相同的。
单个数据域(数据产品)可以表示如下:

【数据网格架构】数据网格架构详解,架构,数据网格架构,数据架构

(A single data domain and its components)

使用六边形表示单个数据域,我们可以像这样表示数据网格:

【数据网格架构】数据网格架构详解,架构,数据网格架构,数据架构

(A simple data mesh diagram with five data domains)

域 4 和域 5 使用来自其他域的数据,但它们也可能从自己的来源获取自己的数据。
Zhamak 还谈到了多平面数据平台。 (请参阅数据网格原理和逻辑架构)老实说,虽然她将平面定义为“代表一个存在层次——既集成又分离”,但我不确定平面是什么意思。😅
我的理解是,数据网格需要多个接口,以便使用它的任何人都可以轻松访问其不同的组件。例如,数据消费者需要访问数据产品(数据集和相关元数据)的完整注册表。其他用户可能需要访问治理标准,并且能够轻松了解它们是全局的还是特定于某些域的。其他用户可能需要访问数据网格本身的可视化表示、访问其基础架构等。
下图试图在单个图像中解释数据网格:

【数据网格架构】数据网格架构详解,架构,数据网格架构,数据架构

(The full data mesh as I understand it)

作为去中心化领域特定数据产品的网络,对于需要管理许多数据源和数据消费者的企业而言,数据网格有可能成为一个非常强大的解决方案,但对于数据网格的构建和工作方式没有清晰的界面在公司内部,扩展和维护结果可能比数据湖更加混乱和耗时。

结论和问题


我很高兴发现了数据网格,并期待了解更多信息并澄清一些混乱的元素。我期待着这次会议,阅读这本书,如果可能的话,我会更新这篇文章或写另一篇文章。
每个数据域都应该由一个独立的团队管理。这是否意味着公司需要为每个新领域雇佣一个全新的团队?这不违背域的可扩展性吗?
每个数据域的管道都必须遵循全局数据治理规则,那么治理规则的变化不会导致每个管道的变化吗?
除了上一个问题,每个域的域数据管道是否应该在一个公共基础设施中注册并独立地为每个域提供服务,类似于开源 Python 库?下图可以阐明我的意思:

【数据网格架构】数据网格架构详解,架构,数据网格架构,数据架构

(Data mesh code Registry concept)

这引发了其他问题,例如数据团队之间的脚本所有权。此外,如果修改脚本 5 以适应仅适用于域 2 的修改而不是新脚本,则需要为域 3 和 4 创建旧脚本 5 的副本。(域拥有自己的域似乎更简单代码,也许我正在将这种敏捷性推到很远。😆)


今天可能没有任何现有的特定数据网格技术,但在我看来,作为域管道功能、域数据集和访问全球治理标准的注册表的单一平台将是这样一项技术。现有的任何其他东西都可以作为更完整解决方案的 MVP 方法。

数据网格词汇表

  • 数据网格:专注于去中心化数据管理的数据框架。

  • 数据产品:将数据用作其核心功能的一部分的产品。

  • 数据即产品:当数据是最终产品时。消费者是数据消费者:业务分析师、数据科学家、数据分析师、数据工程师等等。他们将“购买”数据并在自己的数据产品中使用。

  • 领域:计算机程序的目标主题领域。在这种情况下,数据的目标主体。如果数据用于分析“用户配置文件”,则域为“用户配置文件”,如果用于分析“歌曲”,则域为“歌曲”。

  • 域数据产品:特定于数据网格中唯一域的数据产品。

  • 源域数据集:一个数据集,它紧密地代表创建时的原始数据,并且没有为特定消费者拟合或建模。

  • 消费者对齐的域数据集:经过面向消费者的转换的源域数据集。

  • 域数据团队:负责专门管理数据网格内的数据域的数据团队。

  • 领域数据产品所有者:A P.O.负责将数据作为产品交付。

  • 领域驱动设计:将系统分解为围绕业务领域能力构建的分布式服务。

  • 架构量子:可以独立部署且具有高功能凝聚力的最小建筑单元,包括其功能所需的所有结构元素。

  • 联合计算治理:由域数据产品所有者和数据平台产品所有者联合领导的决策模型,具有自治和域本地决策权,同时创建并遵守一组全局规则——规则适用于所有数据产品及其接口——以确保一个健康且可互操作的生态系统。

本文 :https://architect.pub/data-mesh-explained
讨论:知识星球【首席架构师圈】或者加微信小号【ca_cto】或者加QQ群【792862318】
公众号
 
【jiagoushipro】
【超级架构师】
精彩图文详解架构方法论,架构实践,技术原理,技术趋势。
我们在等你,赶快扫描关注吧。
微信小号
 
【ca_cea】
50000人社区,讨论:企业架构,云计算,大数据,数据科学,物联网,人工智能,安全,全栈开发,DevOps,数字化.
 
QQ群
 
【285069459】深度交流企业架构,业务架构,应用架构,数据架构,技术架构,集成架构,安全架构。以及大数据,云计算,物联网,人工智能等各种新兴技术。
加QQ群,有珍贵的报告和干货资料分享。
视频号 【超级架构师】
1分钟快速了解架构相关的基本概念,模型,方法,经验。
每天1分钟,架构心中熟。
知识星球 【首席架构师圈】向大咖提问,近距离接触,或者获得私密资料分享。  
喜马拉雅 【超级架构师】路上或者车上了解最新黑科技资讯,架构心得。 【智能时刻,架构君和你聊黑科技】
知识星球 认识更多朋友,职场和技术闲聊。 知识星球【职场和技术】
领英 Harry https://www.linkedin.com/in/architect-harry/
领英群组 领英架构群组 https://www.linkedin.com/groups/14209750/
微博‍‍ 【超级架构师】 智能时刻‍
哔哩哔哩 【超级架构师】
抖音 【cea_cio】超级架构师
快手 【cea_cio_cto】超级架构师
小红书 【cea_csa_cto】超级架构师  
网站 CIO(首席信息官) https://cio.ceo
网站 CIO,CTO和CDO https://cioctocdo.com
网站 架构师实战分享 https://architect.pub   
网站 程序员云开发分享 https://pgmr.cloud
网站 首席架构师社区 https://jiagoushi.pro
网站 应用开发和开发平台 https://apaas.dev
网站 开发信息网 https://xinxi.dev
网站 超级架构师 https://jiagou.dev
网站 企业技术培训 https://peixun.dev
网站 程序员宝典 https://pgmr.pub    
网站 开发者闲谈 https://blog.developer.chat
网站 CPO宝典 https://cpo.work
网站 首席安全官 https://cso.pub    ‍
网站 CIO酷 https://cio.cool
网站 CDO信息 https://cdo.fyi
网站 CXO信息 https://cxo.pub

谢谢大家关注,转发,点赞和点在看。文章来源地址https://www.toymoban.com/news/detail-557759.html

到了这里,关于【数据网格架构】数据网格架构详解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Istio微服务治理网格基本使用以及与Kubernetes集成的架构(三)

    Istio在程序中注入Sidecar的方式有两种:分别是手动注入和自动注入。 手动注入是通过Istio命令将Sidecar Proxy程序注入到已经存在的资源编排YAML文件里,手动注入通常适用于程序已经在K8S集群中部署的环境,可以通过 istioctl kube-inject 命令将Proxy的YAML参数与程序的YAML进行结合,然

    2023年04月14日
    浏览(59)
  • 数据仓库架构详解

    数据仓库 ( Data Warehouse )是一个为数据分析而设计的企业级数据管理系统。数据仓库可集中、整合多个信息源的大量数据,借助数据仓库的分析能力, 为企业指定决策,帮助企业改进业务流程、提高产品数量 一般数仓分为离线数仓(spark)和实时数仓(flink) 数据采集 数据

    2024年02月16日
    浏览(24)
  • 【数据库】详解数据库架构优化思路(两主架构、主从复制、冷热分离)

    对数据库架构进行优化是为了提高数据库系统的性能、可扩展性、稳定性和可维护性。MySQL官方说:单表2000万数据,性能就达到瓶颈了,为了保证查询效率需要让每张表的大小得到控制。 再来说,为什么要提高查询效率呢? 除了普通的用户查询操作,增、删、改操作都包含

    2024年02月11日
    浏览(43)
  • 数据分析Lambda架构详解

      大家好,今天我们来介绍一个用于亿级实时数据分析架构Lambda架构。   Lambda架构(Lambda Architecture)是由Twitter工程师南森·马茨(Nathan Marz)提出的大数据处理架构。这一架构的提出基于马茨在BackType和Twitter上的分布式数据处理系统的经验。 Lambda架构使开发人员能够构建大

    2024年02月12日
    浏览(40)
  • 大数据处理架构详解:Lambda架构、Kappa架构、流批一体、Dataflow模型、实时数仓

    本文隶属于专栏《大数据理论体系》,该专栏为笔者原创,引用请注明来源,不足和错误之处请在评论区帮忙指出,谢谢! 本专栏目录结构和参考文献请见大数据理论体系 《分布式数据模型详解:OldSQL => NoSQL => NewSQL》 《分布式计算模型详解:MapReduce、数据流、P2P、RPC、

    2024年02月15日
    浏览(46)
  • 2、hive相关概念详解--架构、读写文件机制、数据存储

    1、apache-hive-3.1.2简介及部署(三种部署方式-内嵌模式、本地模式和远程模式)及验证详解 2、hive相关概念详解–架构、读写文件机制、数据存储 3、hive的使用示例详解-建表、数据类型详解、内部外部表、分区表、分桶表 4、hive的使用示例详解-事务表、视图、物化视图、DDL

    2024年02月09日
    浏览(47)
  • Android 基础知识4-2.10 GridLayout(网格布局)详解

    一、GridLayout(网格布局)概述         GridLayout 布局是 Android 4.0 以后引入的新布局,和 TableLayout(表格布局) 有点类似,不过它功能更多,也更加好用,最大的特点是放置的组件自动占据网格的整个区域,每个组件的 大小相同 , 不能改变组件大小 ,只能改变组件之间的水平

    2024年02月16日
    浏览(38)
  • 最强大的布局方案——网格Grid布局万字详解

    Grid 布局又称网格布局,是W3C提出的一个二维布局系统,它与 Flex 布局有一定的相似性,都可以指定容器内部多个项目的位置。但它们也存在重大区别。Flex 布局是轴线布局,只能指定\\\"项目\\\"针对轴线的位置,可以看作是一维布局。Grid 布局则是将容器划分成\\\"行\\\"和\\\"列\\\",产生单

    2024年02月08日
    浏览(53)
  • 【大数据-实时流计算】图文详解 Apache Flink 架构原理

    目录 Apache Flink架构介绍 一、Flink组件栈 二、Flink运行时架构 在Flink的整个

    2024年02月02日
    浏览(42)
  • Tecplot数据结构——结构数据(结构网格)与非结构数据(非结构网格)

    结构数据可以是一维、二维或三维的,下面以二维的数据格式为例。 在记事本中写入以下字符,并将文件以.plt或.dat为后缀命名。 其中数据总数为I*J=20,结构数据顺序为point格式,顺序为:(I,J)=(1,1), (I,J)=(2,1), … (I,J)=(Imax,1), (I,J)=(1,2), (I,J)=(2,2), (I,J)=(Imax,2), … (I,J)=(Imax,Jmax).

    2024年02月15日
    浏览(55)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包