Data Fabric 通过融合现今已存在的许多大数据技术能力去解决用户的问题,虽然看上去没啥新东西,但是作为一个架构方法论去指导公司内的大数据架构演进还是一个不错的选择;就像很多公司没有根据维度建模理论去建设数据仓库,但是在实际过程中为了解决问题,也会朝着类似的架构演进,最后看似功能都有但是不成体系,会引发较多的问题;例如很多架构实践中会出现许多因为人的问题,如果不进行提前约束,后续的历史债就会非常重。
如何朝着 Data Fabric 架构进行演进呢?
上述我们讲了很多概念、问题和方法,接下来直接参考业界头部的产品的实践。
Denodo [3]
Denodo 是 Data Fabric 领域的领导者,它总部位于Palo Alto, California。它提供本地部署和公共云(AWS、Azure、GCP)上的Denodo平台。它的业务遍布全球,主要客户超过1000家,主要在金融服务、制造业和技术行业。
Informatica 也是 Data Fabric 领域的领导者,总部位于Redwood City, California。它提供了几种本地数据集成产品,包括PowerCenter、PowerExchange、Data Engineering Integration、Enterprise Data Preparation和Data Engineering Streaming。作为其智能数据管理云(IDMC)平台的一部分,它还提供了各种数据集成服务,包括Cloud Data Integration、Cloud Data Integration Elastic、Cloud Mass Ingestion、Cloud Integration Hub和Cloud B2B Gateway。Informatica在这些产品线上拥有超过5700个客户。它的业务地域多样化,其客户分布在多个行业,其中金融服务、医疗保健和公共部门是主要领域。
IBM 同样也是 Data Fabric 领域的领导者。IBM总部位于Armonk, New York。IBM Cloud Pak for Data(包括DataStage Enterprise Plus Cartridge)、IBM Cloud Pak for Integration(用于应用集成场景)、Cloud Pak for Data as a Service(包括DataStage as a Service、Watson Query as a Service和Watson Knowledge Catalog as a Service)和IBM Data Replication都针对各种数据集成用例场景。该产品系列的客户基础超过10,000个组织。其业务遍布全球,其客户主要是银行和金融服务、保险、医疗保健和制药行业的企业B2B和B2C组织。
图12 IBM(Cloud Pak for Data)Data Fabric 技术架构
如上图,IBM Cloud Pak for Data 平台的能力:支持 AI 开发和Data Fabric。
优势:
支持Data Fabric设计:IBM软件与IBM研究合作,在其Cloud Pak for Data(CPD)平台和服务中嵌入了增强数据集成的能力。通过在Watson Knowledge Catalog中捕获和激活元数据的能力,支持DataOps模式以改进编排和敏捷性,以及利用知识图谱支持语义建模和无结构内容的分类到本体映射,进一步提高了其对Data Fabric用例的支持。
全面的操作和分析用例支持组合:IBM在CPD中拥有一个全面的工具组合,包括DataStage(用于批量/批处理集成)、IBM Cloud Pak for Integration(用于应用集成和API管理)、Watson Query(用于数据虚拟化)、IBM Data Replication(用于数据复制和同步)和IBM Streams(用于流数据集成场景)。除了这些能力外,IBM CPD还与其他数据管理技术(包括数据质量、MDM和数据治理)紧密集成。
模块化架构和DataOps支持:IBM的数据集成工具以紧密集成但松散耦合的服务形式交付在基于Kubernetes的Red Hat OpenShift平台上。客户赞赏IBM的远程运行时能力,通过允许开发人员构建一次流水线并将工作负载推送到他们选择的执行环境中,降低了出口成本。IBM对CI/CD的支持以及与Git(用于版本控制)、Jenkins(用于任务调度)和其他第三方任务和工作流管理器的集成受到高度评价。
不足:
数据复制产品成熟度:IBM通过目前支持的IBM Data Replication软件包提供变更数据捕获(CDC)技术。然而,一些客户仍在使用其传统的CDC工具。IBM的参考客户报告称,该产品系列的用户界面不够出色。一些客户强调了工作负载监控、性能优化和高可用性方面的挑战。IBM应加快将客户迁移到IBM Cloud Pak for Data上的IBM Data Replication服务(从传统的IBM CDC产品)并改进其流数据集成支持能力,以确保现有客户不必评估第三方数据复制解决方案。
迁移和升级缺乏明确性:尽管IBM正在积极努力将传统的IBM Infosphere Information Server客户迁移到IBM Cloud Pak for Data,但一些客户报告称缺乏关于最佳实践和许可证可移植性的明确性,并指出缺乏良好结构的迁移和升级路线图。尽管IBM确实提供了嵌入式迁移工具来帮助进行迁移到CPD,但客户对这种能力了解甚少。
市场认知和收入增长放缓:一些IBM的潜在客户(在Gartner的客户咨询服务中)仍然认为IBM的工具价格昂贵、实施复杂,并且针对具备强大数据工程技能的大型组织。Gartner对我们的提案审查数据的分析表明,除非他们是现有的IBM客户,否则很少有中小企业评估或考虑IBM的工具。IBM将Cloud Pak for Data定位为一套模块化服务(而不是端到端平台),并转向无服务器、按使用量计费的许可模式,这应该能缓解一些这些顾虑。
Tibco [7]
TIBCO Software是 Data Fabric 领域的挑战者。和Denodo一样TIBCO总部也位于Palo Alto, California 。其数据集成工具组合包括TIBCO数据虚拟化(TDV)、TIBCO云集成、TIBCO消息传递、TIBCO流处理和TIBCO OmniGen。该产品系列的客户基础超过7,500个组织。其业务地理分布广泛,其客户包括金融服务、电信和制造业等行业的公司。
看起来业界现在领先的 Data Fabric 产品和国内主流的大数据平台是非常类似的,技术上也没什么特别的,当然目前国内将这些技术融合的很好的产品基本没有。 Data Fabric 提供了一个比较体系化的架构方法论,而且确实在许多场景可以解决现在存在的一些问题,作为下一代大数据架构的选项是完全OK的。
图14 Trino(Presto) Data Fabric 技术架构具体实现
如图是 Trino(Presto) 的创业公司提出基于Trino的 Data Fabric 架构,看来很多主流的框架都会往这个概念上去靠。
接下来国内会有一批创业公司会基于 Data Fabric 这个概念进行创业,大家陆续会在各个行业分享会上看到Data Fabric这个概念,数据平台、数据中台等这些概念已经有些”老了“,没有新概念也很难忽悠到投资人的钱。
提一下 Data Mesh
图15
Data Mesh 这个术语是由Zhamak Dehghani在2019年提出的,基于四个基本原则:
数据作为产品原则(Data as a Product Principle)将产品思维的理念应用于分析数据。这个原则意味着除了领域之外,数据还有其他消费者。领域团队负责通过提供高质量的数据来满足其他领域的需求。基本上,领域数据应该像其他公共API一样对待。即数据需要进行共享才是释放最大的价值,但是最好不要直接共享数据(效率低成本高),而是将数据转化为数据资产、数据产品后通过API提供给其他用户。
自助式数据基础设施平台(Self-Serve Data Infrastructure Platform)的理念是将平台思维应用于数据基础设施。一个专门的数据平台团队提供与领域无关的功能、工具和系统,用于构建、执行和维护可互操作的数据产品。通过其平台,数据平台团队使领域团队能够无缝地使用和创建数据产品。即完善流程和工具,让用户可以做到自助使用。
区别于 Data Mesh 自底向上通过宽泛的标准进行整合,Data Fabric 是自顶向下进行强约束的架构,更适合在同一个组织内部进行实践。另外还是说明一下 Data Mesh、Data Fabric 这两个概念目前还不是很成熟,需要较长的时间进行演化、实践,最终达成业界共识。
综述
我们可以发现很多架构中,会通过流程把人“编程”到特定的逻辑中,但是人的稳定性比代码可差太多了,在公司发展的过程中,无论是组织架构、人员的变动、能力的差异等,都会导致“历史债”的产生。所以需要用发展的眼光看问题,大数据架构也是合久必分、分久必合;当前我们可以参考 Data Fabric 方法论,通过抽象一层虚拟化层,然后辅助AI等能力来演化出一个智能化、易用、高效的大数据架构。