什么是 Data Mesh ?

2021-03-16 14:36:18 浏览数 (1)

材料主要来源于How to Move Beyond a Monolithic Data Lake to a Distributed Data MeshData Mesh Principles and Logical Architecture

起源

Data Mesh 的概念起源于 ThoughtWorks 的首席技术顾问 Zhamak Dehghani 发表在 martinfowler 官网上的两篇文章How to Move Beyond a Monolithic Data Lake to a Distributed Data MeshData Mesh Principles and Logical Architecture

martinfowler 官网也是软件行业中微服务概念和服务网格概念的诞生地,因此 Data Mesh 概念的提出也吸引了不少人的关注,有很多公司尝试去实践了这个概念,包括JPMorgan Chase、Intuit、Netflix等公司。

诞生的缘由

没有一个概念是无缘无故提出来的,Data Mesh 的诞生也是基于某些现状而提出来的。Zhamak Dehghani 认为对于很多公司的数据平台而言,面临着下面的问题:

第一代:专有的企业数据仓库和商业智能平台; 价格高昂的解决方案给公司留下了同样大量的技术债务; 数以千计的 ETL 作业、表和报告中的技术债务,只有少数专业人员了解这些工作、表和报告,导致对业务的积极影响没有得到充分认识。 第二代:以数据湖为银弹的大数据生态系统; 复杂的大数据生态系统和由高度专业化数据工程师组成的集中团队操作的长时间运行的批处理任务,创造出了数据湖怪物,最多只能使大量的研发分析成为可能; 承诺过多,实现不足。

即使是后面的第三代平台,也依然存在着不少的问题

第三代和当前一代数据平台都或多或少类似于上一代, 虽然有些现代的转变:(a) 实时数据流可用性架构如 Kappa,(b) 统一的批处理和流处理数据转换框架 如 Apache Beam,(c) 完全采用 基于云的存储管理服务, 数据流水线执行引擎和机器学习平台。很明显,第三代数据平台正在解决一些前几代的一些空白,如实时数据分析,以及降低管理大数据基础设施的成本。然而,它仍然具有许多导致上一代失败的潜在特征。

上面的话,总结而言就是:企业想要去查一本字典,但是这本字典没有任何索引,并且这本字典的词汇是随机排列的,因此需要雇佣一群数据工程师和分析师去帮助解读这本字典。这里的字典就是所谓的数据。

因此 Data Mesh 试图解决这些问题。

番外:数据湖的缺点

在文章中,还特意点出了数据湖的核心缺点:

  1. 随着数据量的增加导致的数据管理的复杂性
  2. 数据使用者和生产者的隔离导致的两者互相的不了解带来的复杂性。

于是,某种程度上数据湖变成了技术债务。

概念解释

数据网格是一种应用在企业内部的数据平台原则,其融合了分布式领域驱动的架构(Distributed Domain Driven Architecture),自助平台设计(Self-serve Platform Design)以及将数据视为产品(Thinking Data as a Product)的思维。

数据网格专注于将数据视为产品,产品团队了解自己所使用的数据的方方面面(也就是所有的域)。并且 Data Mesh 将数据所有权上移给了负责某一项功能的团队,让他们按照他们更好使用的方式去创建,接触元数据,对数据进行分类和存储。

数据创建阶段时的数据管理和数据分类会让数据更为透明,更易于使用,从而消除了团队与团队之间的知识孤岛,并使数据真正民主化。从而帮助数据的使用方不必纠结于如何发现想要的数据,使其更加专注于如何从数据中产生价值。

存在的问题

目前而言没有一款合适的工具可以帮助我们应用 Data Mesh 这个原则,而在没有工具的情况下,Data Mesh 最后也会陷入到之前那种数据孤岛的问题。

总结

Data Mesh 不像之前的数据湖等概念是有着很实际的应用场景的,有着S3之类的存储和技术工具,Data Mesh 单纯的只是一些原则,准确而言,是用来帮助企业简化数据管理的一组原则。

它的提出应该是借鉴了马丁提出的单体应用向微服务架构转变的理念,试图把微服务的概念融入到数据应用的场景中去。但是随着微服务架构应用的深入,其也面临着不少的问题,比如复杂度高、运维复杂等问题。

因此,我的看法是可以暂且观望 Data Mesh 概念的发展,如果自己企业在面临着上文所提到的数据湖的难题时,可以尝试应用 Data Mesh ,也许有着意想不到的效果。

参考链接:
  1. https://martinfowler.com/articles/data-mesh-principles.html
  2. https://martinfowler.com/articles/data-monolith-to-mesh.html
  3. https://www.youtube.com/watch?v=TO_IiN06jJ4&ab_channel=FlinkForward
  4. https://medium.com/intuit-engineering/intuits-data-mesh-strategy-778e3edaa017
  5. https://www.dremio.com/subsurface/implementing-a-data-mesh-architecture-at-jpmc

0 人点赞