本文有2.6W+字,阅读预计需要较长的时间,如果正在约会,建议之后再看。
数字化转型和升级已经是非常确定的发展趋势,十四五规划以及2035年远景目标纲要中针对数字化做了专篇论述,包括了数字经济、数字社会、数字政府和数字生态等部分。数字化趋势中,提升数据素养是基础,新技术的应用则是关键。数据素养意味着拥有有效单独和协作使用数据的能力,包括如数据分析、数据整理、数据可视化、数据生态、数据治理、组织建设等。随着数据工具的快速增长、数据与分析技术越来越深入的与业务交织在一起,业务的领导者与建设者都应该不断的提升自身的数据素养,从而能够就数据进行智能对话,推动产生更好的业务成果。
这个系列是数据领域实践的总结以及新技术趋势的学习,目的是不断的提升自身的数据素养,如果能给读者带来一些收益,甚至应用在自己的业务场景下,那也算是对大数据技术普及的一点点贡献了。正如前几年写的一篇文章中提到的,“数据的海洋浩瀚无边”,我们一起努力。
此篇为第一篇。
什么是数据素养以及如何培养?
Gartner 将数据素养定义为在上下文中读取、写入和交流数据的能力,包括理解数据源和结构、应用的分析方法和技术,以及描述场景、应用程序和产生的价值的能力[1]。提升数据素养的三个支柱:数据访问民主化、建设数据学院、始终如一的将数据应用于决策[2]。
Gartner发布的《2021年十大数据和分析技术趋势》中,加速变革被列在了首位(Accelerating Change),其中Data Fabric做为数据基础能力被再次强调。Data Fabric在2000年首次提出,Forrester开始撰写更通用的Data Fabric解决方案[3],2016 年Forrester 在 Forrester Wave 中增加了Big Data Fabric类别,2019年开始入选Gartner各年度的技术趋势,2020年出现在新兴技术成熟度曲线以及数据管理成熟度曲线中(并从创新萌芽期发展到了2021年的过高期望的峰值),Gartner公布的2022 年顶级战略技术趋势中,Date Fabric入选工程信任主题的关键技术趋势。
随着数字化的推进, Data Fabric作为一种全新的、囊括所有形式的数据架构,被越来越多的企业用于解决数据资产多样性、分散性、规模和复杂性不断增加带来的一系列问题。DataFabric被视为应对始终存在的数据管理挑战——如高成本&低价值的数据集成周期、频繁运维带来的不断攀升的运维成本、不断增长的实时数据需求、事件驱动的数据共享等——的强大解决方案[4]。其用于任何数据类型的分析,并为所有的数据使用者提供无缝的访问和共享[5]。K2View认为Data Fabric是提升数据素养必备的数据能力之一, Gartner甚至认为“Data Fabric是数据管理的未来”[6]。
国内对于Data Fabric介绍的文章较少,本文期望通过对Data Fabric概念、能力、与其他概念的区分以及在工业界实践方案的介绍,使得大家能对该技术框架有一定的了解,并可以结合各自的情况给出具体的、可落地的Data Fabric解决方案。
如果要理解Data Fabric的概念,核心是要先理解什么是Fabric。Fabric是一种架构方法,该方法在各个节点之间提供完整的点对点连接,这些节点可以是数据源、存储、内部/外部应用程序、用户等任何访问数据或与数据相关的信息,如下图:
Data Fabric将现有的数据管理系统和应用程序编织在一起,提供可重用的服务,涵盖数据集成、访问、转换、建模、可视化、治理和交付。为了在所有这些不同的服务之间提供连接,Data Fabric包括了连接到数据生态系统工具的连接器。
针对Data Fabric的定义,Forrester、Gartner以及数据解决方案TOP厂商等都给出了自己的定义和理解。
Forrester
Forrester提出了Big Data Fabric的概念,其建立在大数据分析、云计算以及Data Fabric等新技术之上,使用数据湖、Hadoop和Apache Spark等大数据技术自动、智能、安全地汇集不同的大数据源,并在大数据平台技术中进行处理,以提供统一、可信、全面的客户和业务数据视图。其目的不仅仅只是为了管理数据,更是为了从数据中提取有价值的信息,并将其转化成可用于实践的业务洞察[7]。
Forrester认为,Big Data Fabric的最佳之处在于它能够通过利用动态集成、分布式和多云架构、图形引擎、分布式和持久内存等方面的能力来快速交付应用,其专注于自动化流程集成、转换、准备、管理、安全、治理和编排,以快速启用分析和洞察力,实现业务成功[8]。
Gartner
Gartner将Data Fabric定义为包含数据和连接的集成层,通过对现有的、可发现和可推断的元数据资产进行持续分析,来支持数据系统跨平台的设计、部署和使用,从而实现灵活的的数据交付[9]。Gartner对Data Fabric的定义强调数据系统的设计、部署不应该受到平台选择的约束,散落各处的数据孤岛都能被统一发现和使用,并基于主动元数据进行建设和持续分析。
Data Fabric是数据管理(如DataOps)、集成技术、架构、跨平台部署、编排等能力的优化组合(包括不限于流数据集成、数据虚拟化、语义丰富、AI\ML辅助的主动元数据、知识图谱、图以及其他非关系数据存储等),来应对前面提到的数据管理的挑战。
Data Fabric通过人和机器的能力及时的对所需的数据进行访问(部分情况下实现完全自动化的数据访问和共享),同时在适当的情况下可以将数据进行整合。其不断的识别和连接来自不同应用程序的数据,以发现可用数据之间独特的、与业务相关的关系。与此同时,它还运用了AI算法对多个过程如异常数据清洗、任务调度等进行了全面的优化升级。
Gartner 在Data Fabric的概念介绍上,举了自动驾驶的例子,比较生动和形象。在驾驶汽车时有两种情况,一种是驾驶员主动、全神贯注于驾驶,汽车的自动干预功能较少或最少的介入,一种是驾驶员由于某些原因注意力不集中,有点儿走神,汽车则主动、及时的切换至半自动驾驶模式,进行必要的路线修正。这种场景形象的描述了Data Fabric的思想,首先以观察员的身份监控数据pipeline,并将监控的结果转化成效率更高的优化方案。当数据驱动和机器学习都能接受优化方案时,则会通过自动执行优化方案进行补充(而之前这部分功能消耗了太多的人工时间),从而让管理者可以专注于创新。即Data Fabric以最佳的方式将数据源头传送到目的地,其不断的监控数据pipeline,提出建议,并最终在速度更快、成本更低的情况下采用替代方案,就如自动驾驶汽车一样[9]。
TOP厂商
IBM认为,Data Fabric不是一个产品而是一种数据管理架构设计理念,是利用AI、机器学习和数据科学的功能,优化分布式数据的访问,并进行智能的管理和编排,向数据消费者提供自助服务,从而实现让用户及时的访问到正确的数据,提升数据的业务价值。
数据集成领域的领导者Talend认为,Data Fabric是由统一架构以及运行在其上服务或者技术而组成的、帮助企业管理数据的解决方案,其终极目标是极大化数据价值,加速数字变革。Talend对于Data Fabric的定义围绕最大化数据价值的思路,因此其认为Data Fabric除了集成能力之外,还需要建设数据质量管理、数据共享以及基于AI\ML的增强能力等,具备很强的科技性和前瞻性[11]。
集成分析领域的领导者TIBCO认为,Data Fabric是一种端到端数据集成和管理的解决方案,其由架构、数据管理和集成软件以及共享数据组成。Data Fabric通过管理数据来帮助组织解决复杂的数据问题和用例,为所有用户实时的提供统一、一致的用户体验和数据访问,在分布式数据环境中实现无摩擦的数据共享[12]。
Informatica认为,Data Fabric统一了跨环境的数据管理,依靠主动元数据、知识图谱、机器学习和其他元数据驱动功能(例如 Informatica 的CLAIRE AI 引擎支持的功能) 为数据集成、分析提出建议和智能决策。而且随着时间的推移,智能数据决策可以变得自主[13]。
在进行新技术架构进行推广应用时,相关领域的产品供应商会基于自己营销的目的,自行对该技术架构进行定义,并以此为卖点,推广自己的产品或者解决方案。这种情况在Data Fabric上也有明显的体现。从Google上搜索其定义时,可以看到各大供应商结合各自的产品特性对Data Fabric进行了不同的定义,且从Data Fabric带来收益的角度进行了讨论(如解决了集成复杂性、消除了数据孤岛、更容易从数据中获得洞察等)。供应商对新技术的定义都有一定的逻辑,且提供了理解Data Fabric的多种视角,很有价值,但从利益和收益角度来定义新技术,其实并没有从本质上进行阐述,因为获取收益可以通过其他的一种或多种技术来实现,基于这个角度去阐述新技术,会使得我们对于概念的理解更加模糊。
综合技术研究商以及各个数据解决方案供应商对Data Fabric的定义,我们认为Gartner对其定义较为接近本质(另外一方面,从Garner对Data Fabric定义逐年变化的信息中,可以看出业界对其理解越来越清晰),Data Fabric是一种数据架构思想(而非一组特定的工具),其通过提供一种统一的方法来管理异构数据工具链,其核心能够通过允许将可信数据从所有相关数据源、以灵活且业务可理解的方式交付给所有相关数据消费者,从而提供比传统数据管理更多的价值。
“数据是企业数字化转型不可或缺的元素”,随着数字化的持续推进,数据源以及数据量不断增加,数据和应用孤岛的数量在过去几年中激增(为什么数据孤岛难以被消灭,可以参见[14],实际上数据孤岛的定义随着数据能力的深入,其定义会产生变化,扩展和泛化),再加上对数据的管理和运营投入度不够,缺少体系化的数据领域建设,从而产生了大量的暗数据。另外业务数据格式由原来的结构化数据为主,逐步改变为由混合、多样和不断变化的数据主导(结构化、半结构化、非结构化等),业务对于对实时或事件驱动的数据共享、业务化数据建模等需求不断增长。与此同时当我们使用数据时,还会遇到不同数据源、类型、结构、环境、平台等挑战。
什么是暗数据
Gartner 将暗数据定义为组织在常规业务活动中收集、处理和存储的信息资产,但通常无法用于其他目的(例如分析、业务关系和直接货币化),类似于物理学中的暗物质。组织通常仅出于合规目的保留暗数据,存储和保护暗数据通常会产生比其价值更多的成本(有时甚至产生更大的风险)[15]。
质量问题:55%的公司数据无法用于决策,47%新创建的数据记录至少有一个严重错误,数据质量差导致了巨额的财务损失。
安全问题:超过70%的用户可以访问他们不应该访问的数据。
成本问题:分析师80%的时间用于发现和准备数据,知识型员工将50%的时间浪费在寻找数据、发现和纠正错误以及确认不信任的数据来源上、数据科学家花60%的时间清理和组织数据。
价值问题:只有45%的结构化数据应用于业务,只有不到1%的非结构化数据被分析或使用,多达 68% 的数据没有被分析,多达 82% 的企业受到数据孤岛的阻碍[16]。
Data Fabric的“真正价值在于它能够通过其内置分析能力来动态改善数据的使用,从而加快实现数据价值的速度”[17],其支持全面的集成数据管理功能,包括发现、治理、管理和编排,并使用AI能力进行语义探索、分析和推荐,从而从被动的数据策略转变为主动响应性的数据策略,产生[18]:
更快的适应业务。Data Fabric通过强大的查询、搜索以及学习能力可以回答意料之外的问题以及适应新的业务需求。其提供了一个动态的、可查询的数据能力,从多个数据来源进行数据的收集和分析,且可以充分复用数据模型(之前需要依赖创建新的数据模型和数据转移复制来支持新的业务需求),因此可以快速回答和解决新的问题和诉求。
更好的洞察力。Data Fabric表达数据的业务意义(而不仅仅是通过数据改变现状),从而产生更好的业务洞察能力。其融合多种数据来源(如数据&元数据、司内&司外、业务内&业务外、云端&本地等),建设可扩展的、知识图谱驱动的数据模型,使得每个数据资产的所有上下文都可以机器可理解的形式进行使用和呈现,帮助决策者和算法做出更优的决策(更容易地获得高质量的数据,从而能更快和更精确地获得业务数据洞察),同时降低数据被滥用或者误解的可能性和风险。
更有效的消除孤岛。Data Fabric通过数据联邦、数据虚拟化、语义丰富、基于AI的主动元数据、知识图谱以及图存储等数据技术,进行数据的连接、跨数据源的访问和数据交付,从而减少数据孤岛,尤其是数据虚拟化技术在计算层而非存储层进行数据连接,“在数据处理引擎和数据消费者之间架起了桥梁”[19],这种数据的连接方式还避免了不断产生新的数据孤岛。DAMA认为,消除孤岛和完全问责应该是任何数据项目的核心。
更低的成本和实施风险。Data Fabric的实现思想是是对原有技术的重新组合(技术的本质是利用现象,对现有技术进行重新组合,并基于目的性的机会利基进行不断的自我进化[21]),而非全新的技术,通过支持组装式数据分析及其各种组件,对数据仓库、数据湖、数据计算、数据分析等现有的技术和能力进重新的组合和使用,并引入了新的方法、工具和平台。另外虚拟数据集成技术的应用,减少了数据复制、转移的次数和数量,降低了数据质量的风险和运维成本,也节省了计算和存储的开销。
更高效的业务协作。Data Fabric是为协作、利用和链接现有资产和推动跨智能的数据管理项目而创建的。通过将现有的数据、数据能力、应用程序进行自动化关联、编排,并创建全域数据的单一视图(catalog),从而支持跨业务数据的即时有效访问,实现业务间有效协作, 创建和维护业务的竞争优势。
更安全的业务。Data Fabric可以实现自动治理、数据保护和安全保障。其为所有的数据计划建立分布式的数据治理层,减少合规性和监管风险,以及在平台安全能力下防止数据泄露[22],并通过AI能力提升自动化水平(如根据监管文档中的语言和定义自动提取数据治理规则、发现和治理个人身份信息PII和关键数据元素),使得业务可以在几分钟内发现并应用数据治理规则,避免产生不良社会影响或高昂的罚款,确保所有的数据都能以合规的方式进行存储和使用[23],而这在当前社会背景下尤为重要。
基于Data Fabric可以快速支撑各种数据产品,Forrester给出了Data Fabric的7个顶级应用场景[24]:
客户360。Data Fabric 应用于客户智能,通过集成各种客户数据源,如浏览、点击、交易、广告、日志文件、CRM等,快速提供全面的客户画像视图。业务可以根据客户的喜好、厌恶、购买模式和过去的订单向他们追加销售和交叉销售新的产品或服务,并帮助业务了解客户满意度并预测客户流失,从而进行针对性的客户运营。
业务360。增长和创新是业务不断保持活力的基础,尤其是在当前的环境下,粗放的增长方式以及基于点子的、非持续创新越来越不适用。Data Fabric通过集成全域数据,提供全面的业务画像视图,帮助业务发现或者创造机会,实现现有业务快速增长或者进入第二增长曲线。如从社交网络、合作商、日志、操作以及历史数据中提取和处理数据,以创建跨地区销售热图,从而确定哪个产品或者功能在哪个地区、对哪个人群最具吸引力。
商业智能和仪表板。Data Fabric基于强大的灵活性,通过数据清理、执行聚合、汇总和转换等能力完成信息的聚合,并通过业务仪表板、指标和报告等方式呈现业务决策。Forrester 发现,部分大型企业正在使用Data Fabric支持支持特定行业的指标、财务管理和报告、资产和负债管理以及风险管理。
数据合规及审计报告。国家对数据采集以及使用上的监管越来越严格,陆续出台了《数据安全法》、《个人信息保护法》、《关键信息基础设施安全保护条例》,在数据安全和合规性上,各个企业都感受到了越来越大的压力,这也意味着需要在数据合规及审计上投入更多的成本。Data Fabric可以显示信息的完整来源、类型、去向以及身份等信息, 帮助企业更快、更准确的进行数据安全的审计。
数据字典。企业的数据存储在不同的数据库、数据仓库、数据平台中,数据类型包括了结构化、半结构化和非结构化数据,造成数据搜索不如Internet搜索那样简单,Data Fabric可以使得数据用户轻松搜索任何类型的数据,而无需知道其物理位置、组成结构或者其他元数据信息,搜索、查看、连接数据将会是未来广泛的数据消费场景。
数据分析。基于Data Fabric,可以通过自动化、智能的方式轻松支持数据分析,并实现可用于行动的洞察力。如,治疗新疾病查看跨地域的一系列患者数据,并根据年龄和性别等参数确定合适的药物和剂量。同样,欺诈检测和风险管理受益于使用额外的数据和更长的时间范围,以近乎实时的方式更准确地识别欺诈。
物联网分析。Data Fabric 通过自动化以及AI\ML等技术有效的存储、处理和访问来自传感器、设备和交换机的大量 IoT 数据,并与其他数据进行集成提供运营的洞察力。
业务通过实施Data Fabric,可以达到:
减少 70% 的数据管理工作,2023年,数据质量及运营成本可以降低65%[20]。
人力驱动的数据管理任务减少一半。
集成设计时间减少了 30%,部署时间减少了 30%,维护时间减少了 70%。
以8倍的速度、不到一半的成本,获取数据和洞察。
基于Data Fabric产生的数据洞察,可以使得企业平均每年增长 30% 以上[11]。
2024年,数据利用率提升四倍效率。
以上的任何一个收益都是非常迷人的。
这部分主要参考了Forrester以及Gartner两家技术分析研究公司对于Data Fabric的能力要求和定义。
从两个方面来理解Forrester对Data Fabric能力定义,一个是入选Forrester Wave Data Fabric专项供应商的标准,一个是Forrester 对于 Big Data Fabric的能力定义。
(1)Forrester Wave Data Fabric 专项供应商入选标准[8]
Data Fabric是一个热门的新兴市场,它提供了一个统一、智能和集成的端到端平台,通过自动化流程、工作流和管道、生成代码和简化数据来最大限度地降低复杂性,以快速实现分析和洞察,实现业务成功。其优势在于通过利用动态集成、分布式和多云架构、图形引擎以及分布式内存和持久内存平台的创新。
基于这些理解,Forrester制定了Data Fabric供应商的标准:
提供自动化及自助服务能力。最佳的Data Fabric的解决方案是数据民主化,允许业务用户轻松发现数据资产或数据导航。此外,需提供零代码和低代码的能力,以加速大型和复杂的结构部署。以及Data Fabric供应商的解决方案需具备扩展的AI/ML功能,以实现自动化数据发现、分类、安全、接收、转换、处理、集成和访问,从而支持各种工作负载和应用场景。
利用图形引擎识别和集成连接数据。图形是连接数据的最快方式,尤其是在处理复杂或大量不同数据时。如果没有图形,连接数据以支持动态集成和编排可能需要更长的时间。因此供应商应该在图形引擎集成上投入了一定的时间和资源,从而可以基于数据发现业务关系、自动集成各种数据源以及简化数据转化操作。
支持端到端自动化数据管理功能。Data Fabric的关键目标是加速业务应用,如客户360、客户智能、风险分析和物联网分析。在这方面的支持上,全面的、端到端的数据管理功能至关重要,包括接收、转换、准备、发现、数据目录、集成、治理和安全性。因此,Data Fabric供应商应该专注于自动化的数据管理功能、可扩展的API以及多角色支持等能力。
(2)Big Data Fabric能力定义
Big Data Fabric 是以业务为中心的、数据管理问题的解决方案,融合了新兴技术的不同组件(如大数据分析、云计算等),提高了从有效的数据分析中产生业务价值的能力,从而产生可用于实践的业务洞察。其能力架构如下[7]:
如上图,共有6个核心能力:
数据管理。数据管理是Data Fabric的关键能力,包括了数据安全、数据治理、元数据&数据目录、数据搜索、数据质量、数据血缘等,并与其他5种能力交织在一起,保障数据的可靠性、安全性、完整性、合规性、可集成等,确保数据的信任度、数据流编排以及跨平台的数据转换。同时数据管理集成了AI能力,自动化实现基于语义和知识的分析,理解数据及其业务含义,构建知识图谱形式的数据目录,从而使得数据目录更加智能化和自动化。
数据摄取和流式传输。数据摄取是Data Fabric的数据基础,处理数据连接、摄取、流式传输等,将数据加载到大数据存储中。数据摄取需要能覆盖所有潜在的数据类型(结构化、非结构化等)和数据来源(设备、日志、数据库、点击、应用程序等),并通过多种优化方法缩短数据的加载时间(如单个、大批量、小批量等)。
数据处理和持久化。该层利用数据湖、数据中心、数据仓库、NoSQL 和其他数据组件(如数据管道)来处理和保存数据以供使用。Data Fabric可以将处理下推到各种数据存储上,例如数据湖、对象存储、NoSQL 或数据仓库,以便在与其他来源进一步集成之前仅获取部分的相关数据,提升数据的查询性能。
数据编排。数据编排通过转换、集成和清洗数据,实时或即时的支持各种数据使用场景。其通过一些技术完成跨源数据的集成访问,并通过统一的、标准化的API的方式将集成转化后的数据对外提供。
数据发现。数据发现能力直接解决或者弱化了数据孤岛问题,自动发现跨场景的数据,通过数据建模、数据准备以及虚拟化等技术组件为数据使用者准备好可用的数据资产,并以图的呈现方式进行数据发现和使用。其中数据虚拟化技术比较关键,其用于创建可以实时访问的数据虚拟视图,进行跨岛查询[25]。
数据访问。用户通过自服务的方式进行数据访问(如应用程序、工具、仪表盘、解决方案等),并通过高性能缓存以及其他持久化存储技术保障数据的访问性能。
正如上面提到的,Gartner将Data Fabric定义成数据和连接过程的自动化集成,通过对现有的、可探查和推断的元数据进行持续的分析(即我们常说的主动元数据),发现可用数据之间独特的、与业务相关的关系,从而重新设计和改进决策[26]。如下图所示,基于Data Fabric平台,可以将生产延迟与供应商延迟交付建立关系,从而及时甚至提前发现风险:
同样的,我们可以从Gartner对于Data Fabric供应商的选择标准以及能力支柱两个方面,来了解Data Fabric应该具备的具体能力。
(1)Data Fabric供应商标准
Gartner给出了在评估供应商工具或者平台的Data Fabric能力时,需要甚至必须关注的能力或者组件[10]:
数据目录以及呈现方式:Data Fabric的解决方案能够创建和交付数据和连接数据的增强数据目录(用来盘点各种元数据),并能够基于图表的形式呈现元数据关系。
数据模型的灵活性:解决方案需要提供通过元数据创建灵活的数据模型的功能,而不是创建刚性数据模型(通常由RD在设计时交付),从而快速应对当前以及不断变化的数据应用场景。其应该通过图形数据进行存储,从而支持创建灵活的知识图谱。
语义化的数据模型:解决方案需要能支持业务团队将语义注入到这些数据模型上,业务方可以通过分类法和本体进行能体现业务价值的语义丰富。
知识图谱:提供查询知识图中数据模型的选项(使用广泛采用的查询技术,如 SQL、GraphQL [用于 API 访问图形数据库]、SPARQL [RDF 的 W3 标准] 和虚拟访问 [通过数据虚拟化或集成技术]等)。Data Fabric平台应该是综合数据集成平台,能够以多种方式(如批处理、虚拟、流和消息传递)从语义丰富的数据模型中交付数据。
AI/ML能力集成:Data Fabric供应商需要提供一个 AI/ML 工具包,随着更多数据连接到Data Fabric平台,该工具包可以不断的通过算法来优化知识图谱。Data Fabric还可以通过AI能力将被动元数据转换成主动元数据,并通过决策引擎或者其他方式实现自动化的数据集成和数据管理。
异构数据源连接能力:具备分布式和多样化数据源的连接选项,用于数据摄取和集成。
编排能力。通过敏捷数据管道对这些各种组件进行最终编排和交付。
(2)Data Fabric的能力支柱
Gartner定义了Data Fabric的6种核心能力,如下图[20]:
1. 增强数据目录
数据目录是整个架构的基础,其通过元数据对数据资产进行组织和管理[27]。在数据目录上,使用 AI/ML进行自动化收集和分析所有形式的元数据以及数据上下文,包括技术元数据(如数据类型、数据模型等)、业务元数据(如业务标记、业务策略、业务关系等)、操作元数据(如数据操作、数据血缘、数据性能等)、社会元数据(如实体关系、UGC、评价等)等等,为形成语义知识图谱以及主动元数据做数据内容上的准备。
2. 语义知识图谱
创建和管理知识图谱,并使用 AI/ML 算法进行实体连接以及连接关系的量化,以识别或者添加丰富数据间的关系(包括多个数据孤岛间的数据关系,数据上下文以及语义相关性)用于数据洞察分析,同时也可以实现自动化的机器理解和数据推理。产生的语义化数据也可用于机器学习的模型训练上,提升预测的精准度。
3. 主动元数据
主动元数据是相对于静态的被动元数据而言的。通过AI/ML辅助生成的主动元数据是支持自动化数据集成和数据交付的基础能力,主动元数据的形成依赖于
发现并连接所有形式的元数据,形成独特并不断变化的关系,并以图这种易于理解的方式链接和呈现元数据间的关系。
通过对元数据关系图的持续访问和分析,不断发现和形成关键指标、统计数据等新的关系。如访问频次、数据血缘、数据性能、数据质量等。
将元数据关系数据作为特征去训练和丰富AI算法,同时这些算法可以产生或者迭代元数据的语义,以及改进数据集成的设计、自动化流程。
4. 推荐引擎
推荐引擎与业务相关,将基于专家经验形成的规则或者机器模型学习的结果,以及结合主动元数据,用在数据质量监控以及优化改进数据的准备过程(如集成流程或者引擎优化),如元数据推荐、流程推荐、资产推荐、建议推荐、执行计划推荐、计算引擎推荐等[27]。
5. 数据准备和数据交付
Data Fabric的数据准备和交付是在数据pipline中进行数据的转化和集成。数据集成对于Data Fabric至关重要, 通过批处理、数据复制、数据同步、流数据集成以及数据虚拟化(在数据查询时完成数据转化)等方式进行跨源、跨环境(如多云、混合云、供应商)的数据集成,将数据准备折叠到数据交付层(将准备好的数据进行交付)。
6. 数据编排和DataOps
数据编排是用于驱动数据准备工作流的流程,用来集成、转换和交付各种数据和分析用例的数据。DataOps是将类似于DevOps的持续集成、持续部署的原则应用于数据pipeline,更加敏捷和严格的进行数据交付。基于AI的自动化数据编排是Data Fabric架构设计以及落地的关键,通过组合和重用集成组件,快速支持当下以及未来需求。存储和计算分离是未来数据管理的趋势[10],Data Fabric通过自动化来管理和编排跨组织、跨平台的的数据pipeline,包括数据流协调、维护、操作、性能优化、集成负载调度等,大幅提高数据管理团队的工作效率。
编排和编织的区别
编制(orchestration)和编排(choreography)都是用于描述“合成Web服务的方式”的术语,编排是为了业务协作进行的服务合成,而编制是为业务流程进行的服务合成。其区别是,前者是对等模型,业务流程中或有很多的协作方,其定义多方如何在更大的业务事务中进行协作,而后者是层次化的请求者/提供者模型,确定服务的执行顺序,仅定义了何时调用什么服务,没有定义多方该如何协作。本文中的编排实质上是编制,但考虑到用语习惯,未做区分。
Data Mesh由ThoughtWorks提出(源自其技术顾问hamak Dehghani发表的两篇文章:《How to Move Beyond a Monolithic Data Lake to a Distributed Data Mesh》和《Data Mesh Principles and Logical Architecture》),其借鉴了微服务和 Service Mesh 的分布式架构思想,是一种领域驱动和自服务的数据架构设计新模式,基于面向领域去中心化的数据所有权和架构、数据作为产品、平台化自助数据基础设施以及联邦计算治理等四个基本原则进行建设, 通过将系统划分为由较小的跨职能团队管理的离散域来解决大型、复杂、单体数据架构的问题,如缺乏数据所有权(这个是核心,现在都存在着数据的所有权到底归谁,这个问题上非常大的争议以及可讨论的空间)、缺乏数据质量管理、组织难以扩展。其核心目标是将数据视为一种产品,通过利用面向领域的自助设计[28]来实现日益庞大、多样化且无处不在的数据集的跨域访问需求[29],使数据消费者能够发现、理解、信任和使用数据/数据产品(分布在不同领域)来推动数据驱动的决策和计划。
Data Mesh的逻辑架构如下[30]:
虽然Data Mesh与Data Fabric解决的问题是类似的,如如何管理异构数据源中的数据,但解决的思路和方式是不一样的,Data Fabric通过构建虚拟管理层来解决分布式数据,Data Mesh则倾向于通过一些通用的治理规则,各个团队独立、以各自的方式进行数据的管理[30]。具体的差异点如下:
(1)API 的访问方式不同。Forrester副总裁Noel Yuhanna认为这是两者之间主要的不同点。Data Mesh是面向开发同学、API驱动的解决方案 ,需要为API编写实现代码(因为数据属于不同的领域),而Data Fabric相反,其通过低代码、无代码的方式进行设计,API集成在架构内进行实现,而不是直接使用它[30]。
(2)思想不同。微软大数据架构师James Serra认为,虽然Data Fabric和Data Mesh 都提供了跨技术、跨平台的使用数据的架构,但前者以技术为中心,是将多种技术进行组合使用,由 AI/ML 驱动的增强和自动化、智能元数据基础和强大的技术骨干(即云原生、基于微服务、API 驱动、可互操作和弹性)支持,更多地是关于管理数据技术(集成架构),而后者则侧重于组织结构和文化变革来实现敏捷性,可以在于技术无关的框架内指导方案设计[32],各数据领域团队可以在更理解其所管理的数据的基础下实现相应的数据产品的交付,更多的是管理人员和流程。
(3)数据产品的实现思路不同。Data Mesh 将数据的产品思维作为核心设计原则[28],其数据是分布式的,每类数据都是一个独立的域(即数据产品),存储在对应的组织中,而Data Fabric所有的数据都会集中在一个位置(物理集中或虚拟集中),对外提供能力[33]。其实,基于数据虚拟化集成技术的Data Fabric,其数据也是分布式的,通过虚拟逻辑数据模型对外统一提供数据使用。
(4)数据资产的自动化方式不同。Data Fabric利用基于丰富的企业元数据基础(例如知识图)来发现、连接、识别、建议和向数据消费者提供数据资产的自动化,而Data Mesh则依赖于数据产品/域所有者来推动数据需求[28]。
(5)依赖关系不同。Data Fabric无需依赖Data Mesh的实践即可实施,而Data Mesh则必须利用Data Fabric来支持数据对象和产品的验证[32]。
(6)自动化程度不同。Data Fabric鼓励增强数据管理和跨平台编排,以最大限度地减少人工设计、部署和维护工作。Data Mesh则倾向于对现有系统的手动设计和编排,由业务领域执行持续维护。
(7)解决方案的成熟度不同。成熟度上看,Data Fabric目前被广泛应用于各种数据应用场景,而Data Mesh仍然处在一个未开发的阶段。
下图是Gartner 给出的 Data Fabric和Data Mesh的对比,可以作为参考[32]:
实际上,不同的公司基于自身的数据特点(数据量、数据速度、数据类型等)、安全策略、技术储备、性能要求、资金成本等, 对于Data Fabric或Data Mesh会有不同的具体落地方案。总之,Data Mesh更多地是关注于人和过程而不是技术架构,而Data Fabric是一种技术架构方法,它以一种智能的方式来应对数据和元数据的复杂性。
数据虚拟化技术作为一种被市场充分验证的成熟技术出现在Gartner 发布的《2021 数据管理技术成熟度曲线报告》中,它是一种将可用数据转换成分析和报告所需形式的可选择技术,其存在于数据使用者以及数据存储之间,数据使用者通过数据虚拟层访问数据,数据虚拟化层隐藏数据存储[34]。
(来自https://www.tibco.com/zh-hans/reference-center/what-is-data-virtualization)
数据虚拟化技术帮助数据工程师无需移动、复制数据即可集成多个数据源,在内存中进行数据的组合、准备和转换,并以需要的格式呈现数据。数据虚拟化方法可以帮助企业从数据中获得更多的见解以及更快的响应不断变化的商业分析需求,同时,与数据复制、移动相比,数据虚拟化可节省50-75%的成本[36]。
(来自https://www.jamesserra.com/archive/2018/02/data-virtualization-vs-data-movement/)
数据集成是融合异构存储集合的数据并构造统一数据视图的过程,包括了数据合并、数据转换、数据清洗等。传统的数据集成专注于复制、移动数据,如ETL加工、数据同步等。数据虚拟化则是一种经济高效的现代数据集成技术,直接连接源数据,不依赖复杂和繁琐的ETL系统,减少了多次复制、移动和存储数据的时间和成本,同时也减少了产生数据错误的概率。另外,数据虚拟化不仅可以做数据层面的集成,也包括接口层面的集成。因此,数据虚拟化是一种更稳定的技术和增长最快的数据集成方式[38]。
数据虚拟化与Data Fabric的关系上,如在Data Fabric能力定义章节提到的,数据虚拟化是Data Fabric架构中的关键技术之一,可以在不移动数据的情况下从源头访问数据,通过更快、更准确的查询帮助缩短实现业务价值的时间。Data Fabric 的数据虚拟化层提供了跨平台敏捷集成、统一语义、低代码创建数据API(支持SQL、REST、OData和GraphQL等技术)、智能缓存加速等功能,在数据处理引擎和数据消费者之间架起了桥梁[39]。具体数据虚拟化与Data Fabric的关系在本文的后续章节中会进一步呈现,如Denodo公司基于数据虚拟化平台构建了Data Fabric的能力。
数据湖(Data Lake)是Pentaho公司提出来一种数据存储理念,其作为一个集中的存储库,以自然格式进行数据的存储,包括任意规模的结构化(如行、列的关系数据库数据)、半结构化(如日志文件、XML文件、JSON等)、非结构化(如网页、文档、PDF等)以及二进制(如图像、音频、视频等)等原始数据,其中的数据可用来供存取、处理、分析及传输。因此,数据湖可以比数据仓库更好地处理数据的消费、存储和输出,并应用元数据使其性能比数据仓库更加灵活,在检索数据时不需要做任何处理[40]。下图展示了数据仓库、数据湖、湖仓一体(结合了数据仓库和数据湖的优点)等大数据存储解决方案的演进:
(来自于:https://www.topcoder.com/thrive/articles/databricks-community-edition-a-beginners-guide-part-4)
Data Fabric不是数据湖或者数据仓库的替代方案,数据湖是其异构数据源之一(数据源可以是数据仓库、数据湖,也可以是业务数据库等其他数据存储),Data Fabric将应用程序与数据湖(或者数据仓库)进行连接,通过统一的数据管理框架支持在分布式的环境中进行数据消费。Data Fabric 可以为数据湖或数据仓库提供可信的数据,同时,基于数据湖(或者数据仓库)的Data Fabric 为业务提供更精准的洞察能力[30]:
知识图谱由Google提出并应用在搜索引引擎下,用来提升搜索结果的质量以及用户体验。知识图谱是结构化的语义知识库,其通过三元组(实体-关系-实体)以及实体&属性的键值对来描述概念(或对象、事件等)以及之间的关系,构成网状的知识结构,从而使人和机器能够很好的理解和使用数据间的关系:
(来自https://zhidx.com/p/141295.html)
知识图谱的应用场景较多,Facebook、微软、谷歌等都将知识图谱的能力定义为基础设施,应用在互联网知识的知识图谱、数据集成的知识图谱、人工智能的知识图谱(知识图谱可作为机器学习的输入和输出)等场景下。以互联网领域的搜索场景为例,可以基于知识图谱完成语义化搜索、关联搜索以及结构化展示,比如搜索“溜娃”,应该搜索出和溜娃有关的游乐场、活动或者其他场景,搜索 “今天新型冠状病毒的新增人数”,搜索引擎可以完成语义理解,并直接给到数据,而不是文本匹配,可以对比下google与meituan、google以及baidu搜索结果的差别:
VS
VS
知识图谱与数据集成的结合在业界的研究越来越热,未连接的数据对企业来讲越来越是一种负担,其通过链接语义元数据更好的让机器和人理解数据的上下文,并使用图来统一数据而不改变其物理存储,从而为数据集成、统一、分析和共享提供了一个框架,是数据集成的理想工具,因此业界也将知识图谱定义成“一组相互关联的信息,能够有意义地弥合企业数据孤岛,并通过关系提供组织数据的整体视图” [41]。知识图谱向异构数据添加语义,通过图连接各个数据孤岛,形成灵活的虚拟数据层,从而满足当今处理实时信息源和从不同系统中的数据中检索知识的要求[42],如果按照公式化的方法来表示知识图谱,则知识图谱=语义图谱+AI+虚拟化。
知识图谱是Data Fabric重要的组成部分。如果将Data Fabric翻译成数据经纬的话,那么知识图谱则是经纱和纬纱,其使得Data Fabric支持动态集成以及数据应用编排,而作为基石的数据目录也是基于知识图谱进行实现的。知识图谱使得Data Fabric在良性循环中进行持续运营和发展,如灵活性(可以表达任何数据和元数据)、可组合性(易于增量进化)、连接性(连接所有数据和元数据“孤岛”)、无缝数据治理、面向未来(基于标准)、表现力(最全面的“开箱即用” 模型)、可集成性(最完整、开放和灵活的 APIs)、智能(集成推理和机器学习)等[43]:
不同供应商对于Data Fabric的不同理解而形成的不同工业落地方案,我们试图通过这些解决方案更加深入的理解Data Fabric的本质,并形成自己的独特的、适用于自己业务场景下的Data Fabric解决方案。
Data Fabric在工业界在很很多具体的落地方案,我们选取了部分Forrester认为的顶级Data Fabric供应商的解决方案进行介绍,如IBM、Talend、SAP等[8]:
IBM认为Data Fabric的核心是一个数据管理平台,通过包括发现、治理、管理和编排在内的、全面的集成数据管理功能 ,实现“在正确的时间,从任意位置,将正确的数据与正确的人连接起来,从而全面释放数据价值,加速企业的数字化转型”的目标。因此,Data Fabric的产品或者平台需要具备4个方面的基本能力[44]:
1) 数据虚拟化:平台能够在数据之间建立虚拟连接,简化数据访问的方式,从而减少数据复制的数量。
2) 数据目录:平台需要建设在企业的数据目录之上,通过描述数据及其业务含义,建立全域知识图谱,并结合AI算法,从而使数据目录变得更加自动化、智能化。数据目录的建设能够让需要数据的用户随时了解他所需要的数据在哪里、数据质量如何等。
3) 自服务:建立自动化的数据平台,并且允许用户通过自服务的方式,访问并获取数据。
4) 数据治理:通过提供整体的自动化策略,确保数据安全,增加数据的隐私和权限保护,并提高数据的质量。
Cloud Pak for Data 是IBM开发的具有数据管理、监管和分析功能的Data Fabric平台,可简化和自动化数据收集、组织和分析,以及加速AI在企业能力中的注入,其功能架构为[45]:
(1)增强知识
增强知识通过元数据、语义以及知识图谱,持续的、自动的发现和丰富数据资产,形成对数据的业务理解,用于分析以提取洞察力,并根据洞察的结果采取相应的行动[46]。
(2)智能集成
通过提取、虚拟化、转换和流式传输数据实现数据消费,由数据策略驱动,基于知识图谱实现自动化的数据集成,并具有根据工作负载和数据策略决定哪种集成方法最适合的智能化能力,以最大限度地提高性能,同时最大限度地降低成本。
(3)自助服务
通过构建自助服务市场,数据使用方(如数据科学家、数据RD、业务方等)可以从包含整个企业数据的数据目录中,找到、协作和访问高质量的数据(包括半结构化、非结构化、AI模型等数据类型)。同时可以使用基于AI的语义化搜索和建议功能来创建或者跨平台的搜索查询数据资产,并支持将平台中的数据资产应用在自己的项目中。
(4)统一生命周期
通过统一的开发和运营,用户可以以统一的方式设计、构建、测试、编排、部署到到生产并监控和运营不同类型的数据管道,实现统一的生命周期。同时,在数据生命周期中结合AI能力,实现任务自动化、自我调整、自动修复和检测源数据变化(如根据工作负载、数据位置和数据策略来编排和优化数据处理),最终促进自动更新[47]。
(5)数据治理
通过结合AI算法,定义统一的数据隐私策略、进行元数据的编目和管理(如建立访问路径,增强数据主动能力)以及数据安全管控(如去除敏感数据)等,提升数据治理能力。如基于其AutoPrivacy功能,能智能的识别企业内部的敏感数据,当这些数据被使用时,系统能够进行识别和监控,甚至可以为数据合规政策的制定和自动化执行提供技术支撑。
正如前面提到的,Talend是数据集成领域的领导者,其认为Data Fabric是由统一架构以及运行在其上服务或者技术组成的。Data Fabric的终极目标是极大化数据价值,加速数字变革。从Talend对Data Fabric的目标定义来看,与IBM基本是一致的,但这个目标过于宏观,几乎所有的数据技术的目标都可以这样定义,因此,要理解Talend对于Data Fabric的定义,可以从其能力定义上进行较为直观的理解。
Talend在 "what is data fabric" [48]一文中对Data Fabric进行了较为细致的论述,认为Data Fabric应该具备以下几个能力:
(1)通过连接器、组件以Low Code形式能接入任何数据源;
(2)在不同数据源、应用之间,提供数据接入、数据集成的能力;
(3)支持批处理、实时处理和其他大数据应用场景;
(4)能管理多种环境,可以是本地形式的、混合形式的、多云形式的;
(5)提供内建的数据质量、数据预处理、数据管理能力,基于机器学习的增强自动化提高数据健康度;
(6)支持数据的内外部使用、共享。
其中,(1)、(2)、(3)、(4)围绕数据集成的能力,(5)围绕数据治理强、调基于AI能力的自动化,(6)强调数据的共享使用。
从能力描述上来看,贴合了其业界领先的数据集成供应商的背景,即Data Fabric是结合了AI能力的自动化数据集成平台。Talend的Data Fabric平台是由其数据集成平台发展而来,囊括了诸如大数据、机器学习、数据治理和 数据API等产品,将数据集成、数据治理以及数据运营统一在一个平台中[49],该平台架构示意图如下所示。
SAP认为,Data Fabric通过自动化所有数据资产的处理、集成、转换、准备、管理、治理和编排,最大限度的降低复杂性,为业务提供实时的分析和洞察。
基于上述的理解,SAP定义了Data Fabric的指导原则[50]:
(1)整合任何数据:解决数据泛滥,整合任何类型的数据;
(2)确保数据质量:在同一工具中发现、准备和管理所有数据资产;
(3)数据民主化:自助数据准备和自动化功能;
(4)任何云或内部部署:部署在超大规模、混合或内部部署的任何组合上;
(5)复用任何引擎:编排任何 SAP 或非 SAP 数据处理引擎。
SAP的Data Fabric解决方案由其业务技术平台的功能组合构成,主要是以 SAP Data Intelligence、SAP HANA为主,同时包括了SAP 信息管理工具、SAP PowerDesigner 和 SAP Cloud Platform Integration等产品。下面重点介绍下SAP Data Intelligence、SAP HANA的功能实现。
(1)SAP Data Intelligence
作为 SAP Data Fabric解决方案的关键,SAP Data Intelligence 是一个包含数据发现、数据准备、数据集成、数据处理、数据治理等能力在内的、全面的数据智能解决方案,通过将分散的数据转换为有价值的资产,形成重要的数据洞察能力,从而支持数据驱动的应用程序,实现大规模的业务创新。
SAP Data Intelligence的特点可以总结为功能全面的数据智能解决方案、聚焦数据价值以及多种自助服务能力:
功能全面的数据智能解决方案:体现在两个方面,统一化和全面化 。统一化上,SAP Data Intelligence 通过提供一种整体、统一的方式来管理、集成和处理所有企业数据和元数据;全面化上,SAP Data Intelligence 通过增强的连接性、治理和管道建模功能扩展了其集成、复杂数据编排、数据流水线、数据目录和机器学习服务等能力。
基于数据集成&聚焦数据价值:这部分主要围绕从分布式数据资产中提供价值、提高整个组织的数据素养、帮助客户依赖可信数据以及实施机器学习。
多种自助服务能力:SAP Data Intelligence 为数据准备、主动元数据管理、数据质量等提供自助服务的功能,数据用户可以自己完成执行列操作、派生新信息、协调不同的来源、合并或组合多个数据集。主动元数据上可以自动识别、标记数据类型或者其他信息,并且通过图的方式进行存储,以处理复杂或者大量不同的数据。
SAP Data Intelligence 在整个解决方案中的位置以及功能架构图如下:
(2)SAP HANA
SAP HANA 是一种多模型数据库,集成了多个领域的数据,并将数据存储在内存而非磁盘中,基于快速的计算能力并结合人工智能的能力,可以对集成的数据做实时和深入的分析,从而对业务产生深刻洞察,提升决策效率[51]。这也为Data Fabric的解决方案提供了独特的功能:通过内置的智能访问功能来虚拟化对数据的访问(包括关联外部数据源进行联合查询,如其他数据库、Web 服务、文件、Apache Hadoop 、Apache Spark等),且无需昂贵的数据移动,从而提供前所未有的信息敏捷性。
其能力架构图如下:
其技术实现架构如下[52]:
各层次的功能简要概述如下
数据存储层:SAP HANA对使用数据进行了使用热度分类(热、温和冷),并提供了完整的数据生命周期管理。其中最活跃的数据集(热数据)存储在内存,较不活跃的数据集(温数据)存储在磁盘,不活动数据集(冷数据)可存储近线存储中,如Hadoop集群。这些数据类型通过以下4种方式进行存储:列存储、行存储、动态分层以及智能数据访问。其中行存储和列存储都是在内存中进行创建和管理,用来存储最关键和最活跃的数据,大部分的数据表为列存储,行存储主要用于统计类型的表;动态分层列表持久化在磁盘中,仅在访问数据时加载到内存中,访问结束则从内存中进行卸载,用来存储不太活跃的数据集;智能访问技术提供对外部数据存储数据库的远程虚拟访问,将这些虚拟表访问的操作下推到远程数据库中,如Hadoop、Oracle、SQL Server等。
数据引擎层:SAP HANA支持多种数据引擎,根据操作和计算的类型选择适当的引擎,高效执行各种操作。数据引擎包括OLAP引擎、Join引擎、行引擎、计算引擎以及SQL引擎。其中OLAP引擎支持星型模型,用来执行连接、聚合和计算等OLAP操作,速度最快;Join引擎将主数据模型与维度模型进行关联,包括inner, right outer, left outer and full outer等连接操作;行引擎用于访问并操作行表,还可以对列存储表执行某些SQL操作(如窗口函数);SQL引擎负责SQL查询,分为解析器、优化器以及执行器,这个大家都比较熟悉,不再赘述。
虚拟模型层:虚拟数据模型完全支持集合的操作,以及实时分析和动态计算,而无需进行持久化,可以快速开发分析应用。另外,如文本分析、地理空间、预测、R集成和机器学习等高级分析功能可以与虚拟模型进行集成,从而降低运营成本、优化或创新业务流程。虚拟数据模型包括了维度视图、星型模型视图、重用视图以及脚本化视图等方式,并使用图形计算的方式进行创建(其他创建方式包括属性视图、分析视图、脚本计算视图等,但推荐仅使用图形计算视图的方式进行创建)。
Cambridge Semantics 是一家现代数据管理和企业分析软件公司,其解决方案是通过建立企业级的知识图谱解决数据孤岛问题,从而建立深层次的洞察能力。其对于Data Fabric的认知与公司能力的定位同样有较强的联系,对于我们从知识图谱方向上去理解Data Fabric有很强的借鉴意义。
Cambridge Semantics认为,Data Fabric是一种用于现代数据管理的架构,通过将整个企业甚至行业的数据交织在一起,使得各个业务都能获取、连接、访问所期望的数据。因此,Data Fabric是一种动态的、分布式的企业数据体系架构,允许业务管理自己的数据,并可以复用到其他的业务场景下。其提供的灵活性、可扩展性、敏捷性以及业务性,成为企业进行数据管理的必需品。
从技术发展趋势上看,Data Fabric 将管理数据以及知识表示两种长期趋势进行了平行交织,知识表示强调数据和元数据的意义,数据管理强调将数据应用于具体的业务问题[53]。基于这种认知,Cambridge Semantics将知识图谱定位成实施Data Fabric的关键(业务数据和知识显式表示的组合),尤其是基于RDF、RDFS、SKOS等语义标准的知识图谱。知识图谱的表示形式,可以提升面对复杂或不断变化数据时的灵活性(无需对表结构或属性进行变更就可以管理新的元数据概念)、更好的描述数据的业务属性(表示业务模型和数据模型的关系)、更易处理意外问题(动态增加、删除数据或数据源,支持对新问题的分析汇总或者简化问题上下文)、数据中心化&产品化以及实现符合FAIR原则的数据能力等反复出现的数据管理要求[54]。同时知识图谱将业务数据和业务知识结合起来,提供了更完整的数据理解。
Cambridge Semantics上述对于Data Fabirc的理解体现在了其产品Anzo上,Anzo是一个基于GOLAP技术的数据发现及集成平台,其“使用语义、知识图和图数据模型来加载、映射、集成和编目企业数据,揭示数据和数据集之间的关系和连接,并实现可视化数据探索和发现。Anzo 的图形数据模型为业务用户提供了企业数据的可视化地图,即使数据庞大、孤立和复杂,该地图也易于理解、导航和分析”[55],Forrester还强调,“Anzo 是 15 家供应商中唯一将基本语义和图形技术引入Data Fabric堆栈的解决方案”[56]。
下图是Anzo的整体架构图:
从架构图上可以看出,Anzo是一个以知识图谱为核心的数据集成平台,其建立在AnzoGraph 的高性能图数据库引擎上,并在内存中基于MPP框架进行快速的数据查询,实现企业级规模的敏捷数据集成、转换和分析[57]:
(1)连接全域数据。Anzo通过数据加载、数据虚拟化以及数据转化等功能将来源数据加载进知识图谱中(包括结构化&半结构化&非结构化、企业内&企业外数据、业务内数据&业务外数据等),并基于AnzoGraph内存MPP架构、Kubernetes容器化平台以及灵活的语义图模型进行海量数据的快速加载、建模以及数据分析,实现各种数据产品。
(2)语义化数据。如果说Data Fabric的最佳实现是知识图谱技术,那么语义化数据就是知识图谱技术的核心。Anzo实现了语义定义功能,围绕业务概念和定义更丰富地集成数据,并通过建模工具的集成(包括基于RDF、OWL的模型管理以及权限控制),让数据理解及使用更加平民化。(数据模型使用语义标准表示数据关系的结构。语义层是一个元数据层,为图形整体添加深度和意义,以便查询和算法可以使用此信息)。
转变为
(3)高级分析。AnzoGraph集成了上百个数据科学函数(如相关性、分布、熵、特征探索、线性代数等)[59]、OLAP分析(如窗口聚合、高级分组等)、图形算法(如Centrality Algorithms、Community Detection Algorithms、Path Finding Algorithms等)[60]、地理空间函数(如GeoSPARQL、地理空间功能等)[61]等,含包括了RDFS-Plus 推理等高级分析能力[62],用户可以直接使用并可以与其他分析系统进行能力集成。
(4)快速交付。基于关联全域数据的知识图谱能力,可以做到数据产品的快速交付。如AnzoGraph 的高性能内存数据转换和混合工具和数据可视化模块允许快速生成新的数据集组合,以及探索预定义的数据产品。研发团队直接基于知识图部署自定义搜索、分析或运营应用程序,而业务用户可以将 BI 和分析工具连接到知识图谱以快速访问数据。Anzo 的知识图谱取代了冗余的数据供应请求和管道,减少了研发开销,并提高了数据供应链的安全性、效率和合规性
延伸:
DATA.WORLD和POOLPARTY两家元数据管理平台也将知识图谱技术深入的应用到了平台中,可以参考下面的图并结合Cambridge Semantics对Data Fabric的落地方案进行相互的论证,加深理解[63]:
Denodo 是数据虚拟化领域的领导者,其愿景为各组织可以专注于业务目标,用户可以轻松访问其所需要的数据,而不必关心数据所在位置、格式或更改的速度等问题[65]。从其核心能力上看,Denodo聚焦在数据集成领域,其对于Data Fabric的理解围绕数据集成展开。
Denodo在Data Fabric的能力定义上,更多的是追从了Forrester的能力定义,包括了数据摄取、处理和持久化、编排、数据发现、数据管理和智能以及数据访问等6类能力,不再赘述,但需要指出的是,其在数据发现能力上特别强调了数据虚拟化的能力,认为其是数据发现的关键能力。另外也强调了数据访问能力的重要性,直接将数据提供给数据分析工程师或者基于系统、工具或者可视化方式提供。
Denodo认为Data Fabric带来的收益是多方面的,如完整、及时、低风险、低成本。将大数据资产与本地和云数据源进行有效集成,以获得企业信息的完整视图。通过数据发现层的数据虚拟化组件,能实时访问最新数据。虚拟化层保护了堆栈顶部的业务用户免受堆栈底部的具体实现更改而可能带来的风险。
Denodo给出了自己理解的Data Fabric架构图[67]:
在具体结合自己现有能力进行落地时,按照Gartner的观点,数据管理“问题的核心是以有效的方式整合不同的数据源,并通过一个公共层将可信数据从所有相关数据源交付给所有相关数据消费者”,同时参考Gartner提出的逻辑数仓,Denodo对其数据虚拟化框架进行了演进,引入了Logical Data Fabric的概念,核心是将数据消费与数据源解耦,提供对全域数据的高性能、实时和安全的访问[68]。
数据虚拟化是Logical Data Fabric的核心技术,是现代化的、敏捷的数据集成方法, 将数据表达成虚拟抽象层,独立于底层数据库系统、结构和存储,解决了物理存储的限制,并通过统一的数据服务进行外部支撑,低代码/无代码的数据虚拟化方法也法实现了低成本实时数据访问、安全便捷的数据服务、即时的数据发现和高质的数据治理[69]。
denodo平台在完整数据编织中的位置可以通过下面三张图进行理解[70]:
一句话,不包含数据物理源的Data Fabric是以数据虚拟化技术为核心的Logical Data Fabric,也就是denodo平台解决的问题域。
denodo平台具体的能力架构图如下[71]:
Denodo平台基于Connect-Combine-Consume三个能力实现数据虚拟化:
数据连接:可以连接到各种结构化或非结构化数据源,包括数据库、大数据系统、流媒体服务、云存储库、NoSQL 源或平面文件。
数据合并:基于通用语义模型,生成独立于其原始格式(关系数据库、NoSQL、Hadoop 等)的数据视图。
数据消费:基于统一的数据服务,提供统一出口点,用户可以从中使用自己的数据,并应用在数据市场、数据报告、仪表板、移动应用程序、Web 应用程序和其他接口等场景下。
Denodo平台有三个关键的Data Fabric特性:智能查询加速的自动化推荐、Schema变更探查及影响分析、基于数据虚拟化进行数据迁移。其中智能加速通过历史监控数据的统计分析、数据来源的数据统计分析、执行成本模拟建议等建设的主动元数据进行智能推荐,而数据虚拟化迁移建议分批、隔离用户与迁移的数据等方式进行[68]。
未来已来,只是分布不均。
技术分析公司以及各个数据领域解决方案的领导者都给出了Data Fabric的具体能力要求,Data Fabric已经从概念阶段进入到了实施并取得具体业务结果的阶段。我们可以根据自身的业务、技术成熟度,并结合上述Data Fabric的能力模型以及工业界的方案,设计出适合自身业务场景、解决自身业务问题的解决方案。
需要基于业务以及技术两种视角,对数据驱动业务的现状、未来规划进行梳理,并结合未来数据的特点、技术趋势甚至组织情况进行全面的分析,得出应该建设哪些能力以更好的支撑数据在业务上的价值落地。技术能力或者技术项目建设的目的都是为了高效、高质、低成本的支撑业务当前的诉求以及未来的发展,其落脚点始终为业务,不能脱离业务去做技术规划,不能陷于技术自嗨,即要站在业务角度进行技术规划,而非仅站在技术角度进行规划。因此,需要基于分析结果,并结合Data Fabric的能力以及解决的问题,来判断自身业务、技术、数据等特点来判断是否适合构建Data Fabric,为业务带来收益。其实,需要用数据驱动业务的公司都需要建设Data Fabric,区别仅仅是能力范围的不同以及落地节奏的不同。
基于业务的目标和规划,并结合Data Fabric的能力架构,制定出全景规划,可以按照建度量模型、建研发规范、建能力规划、建运营策略等思路进行推进。
建度量模型。项目的目标以及其度量模型明确了项目建设的方向以及结果衡量方法,是全景规划中首先要回答的问题。度量模型可以使得系统建设的方向不会偏,也可以指导后续规范、能力以及运营策略的制定。目标是要达成的境界和目的,定义目标前通过第一部分回答清楚why,思考清楚为什么做、是否有替代方案、能否解决问题以及是否会产生新的问题等。目标可以分为定性和定量两个部分,可以先定性、后定量,对定性指标进行定性的拆解,然后再推导相应的定量指标,从而降低指标定义的复杂度,且定性的逻辑推导过程会更有逻辑性。定量部分需要进行分层拆解形成度量模型,直到叶子节点的指标是可以被较频繁度量的。我们需要基于度量指标形成具体的策略,且这些指标可以在短时间内衡量策略的结果,因此需要长时间才能衡量结果的指标不太适合做为直接指导行动的指标,其可以作为方向性指标。比如效能提升指标、性能提升指标、全年故障数等等。
另外度量模型要进行可视化,每天基于可视化的结果进行策略的制定和验证。总之,通过度量模型保障过程中的研发策略是正确的,过程对,大概率可以获得期望的结果;过程不对,结果对,则可能是运气使然。
建研发规范。无规矩不成方圆,在进行业务化Data Fabric落地时,需要制定相应的规范,包括如架构规范、元数据管理规范、数据资产编码规范、数据服务管理规范、数据安全规范等等。通过规范的制定和宣导,使得大家的理解保持一致,降低落地和运营的风险。对于业务同学来讲,数据规范可提升业务规范性,保障人员对于数据业务含义理解一致;对于RD来讲,可以提升研发的工作效率和质量,保障系统建设符合规范,从而可以持续、长期运营;对于管理者,可以基于更加标准的数据,得出更准确的业务决策。
建能力规划。能力是通过系统化的方法支撑目标以及规范的落地。可以以Gartner、Forrester对Data Fabric的能力定义以及工业界的解决方案作为参考,同时可以结合数据中台的能力架构,后者更加强调应用场景。另外,Data Fabric的能力规划要充分结合、契合业务规划中对于技术能力的要求,避免规划能力得不到应用、技术规划与业务规划偏差较大等问题。这里提出几个建设原则作为依据,当然可以基于自身情况进行裁剪。
全数据。支撑全域数据的采集、存储、分析以及应用,类型上需要包括结构化、半结构化、非结构化等数据,范围需要包括指标、维度、服务、消息、报表、标签、场景等,数据来源需要支持跨存储、跨应用程序的数据来源全覆盖,而不受任何单一平台或工具限制。
智能化。人工智能帮助业务“从内部和外部大规模利用结构化和非结构化数据并获得描述性、预测性和认知洞察力的能力”,同时可以提高数据从业人员的工作效率和运营效率。如基于AI的Data Fabric可以实现数据的业务语义、智能的数据发现、智能推荐、智能数据相似性、智能洞察以及智能集成等能力。Gartner 建议数据和分析领导者不要采用未将 AI 和 ML 能力纳入其路线图中的技术。
虚拟化。数据虚拟化对数据资源进行了封装,屏蔽了实现的技术细节,且提供了一种更简单的方式进行所需数据的获取。除了前文提到的数据虚拟化带来的好处外,当今复杂的数据查询及分析场景都较强的依赖于该技术,因为单一引擎或者单一数据类型解决不了业务问题,通常都需要对数据&数据、数据&服务、服务&服务,甚至数据&策略进行虚拟化集成。
图谱化。数据洞察其实是对数据本身以及数据间关系的洞察。基于图的技术,特别是基于语义web标准(RDF、RDFS和SKOS)的技术,是实现Data Fabric的最佳方法,使得架构可以灵活应对任何类型的数据或者模型,回答更多相邻的问题或者相邻的解决方案,而非特定的问题。另外数据图谱化也是大数据迈向小数据的基础能力。
组合技术或平台。Data Fabric不依赖某一特定技术,其建立在组合技术之上,可以选择并关联各种技术组件或者能力。因此在规划Data Fabric能力时,避免NIH综合征,减少重复造轮子,最大程度的组合和利用现有能力或平台,进行能力打通和有机的关联,比如Spark、Kafka、Docker 容器、Kubernetes、Solr 和机器学习算法等。在相对成熟的企业内,其基础设施基本上都是相对健全的,这就大大降低了Data Fabric规划和落地的难度。
低代码。零代码\低代码是业务提升敏捷性和效率的关键。Data Fabric提供零代码\低代码的数据解决方案的构建方式,使用可视化、拖放式的方式,对数据及服务进行编排和自动化部署,支持各种数据应用场景,允许所有用户在低大数据技术水平能力下进行数据的洞察和使用,完成数据平民化的落地。这也是Data Mesh与Data Fabric的区别之一。
建运营策略。数据类的系统不是一次性的工作,需要长期、持续以及精细化的运营动作,不断的对数据能力以及业务结果进行运营和分析。系统的运营可以在两个方面推进,一个是运营流程管理,一个是运营思维方式。
在运营流程上,最基本的就是PDCA,进行总结的流程,即提出假设、采取行动、结果分析、矫正假设,目的是把事情进行完善、闭环。在运营时,需要更加强调思考,思考的本质是思之再思,形式是以始为终的两次创造,总结只是其中一个环节:
A环。依据PDCA实现对目标管理的基础路径。计划是制定目标和手段,执行是按照计划完成目标,检查是判断分析目标与结果的差异。这时候处理策略以试错、重复劳动和解决实际问题为主,如加班加点完成风险控制。这个环是比较基础和浅层的思考。
B环。是实现对目标管理的根本路径。在执行中不断反思过程结果,判断过程结果与计划目标的差异。这与A环的差异在于不仅从结果描述异同,而且可以通过语言清楚的描述出差异,从问题的本质进行根因分析并给出解决方案。在经验总结阶段可以将分析出的原因和解决方案抽象到知识层面,形成体系、方法论或者标准规范,指导某一类具体问题的解决。这个环可以帮助我们更好的完成工作和完成知识积累,但不能够进行创新。
C环。持续性的批判性反思,用新的方法,基于新的信息对当前能力以及未来规划进行重新思考,发现业务的本质,能对假设进行创新性改造(或者提出新的假设,孵化),消除影响的变量,从根本上重构方法和目标。
而在思维方式上,可以参考SCAMPER思维创造力方法进行,迭代Data Fabric的能力方向和场景,不断适应变化的业务场景:
Substitute(替代):思考是否有替代方案(如Data Mesh、逻辑数仓)、业界在这个能力点上是如何实现的实现方案是什么(如数据虚拟化)、目标对象是否可以替换,Data Fabric平台的使用对象进行变更或者替换后,系统的能力范围会发生怎样的变化,这些变化是否是我们期望的。替代的思考可以帮助我们更加全面的思考设计方案,甚至带来全新的设计和实施思路。
Combine(合并):整合功能、整合能力、整合系统,复合型的思考而非单一维度思考解决方案。技术的本质就是已有技术的重新组合。如整合AI、数据湖、数据仓库、OLAP分析、实时计算、逻辑编排等技术,并对数据整个链路进行打通,在形成新的技术能力的同时,数据系统更加体系化、智能化,从而帮助业务获得更快的洞察效率。
Adapt(改进):围绕某个具体问题,考虑所有可以提升、改进的环节。比如在数据集成环节,能否基于数据压缩、内存计算、AI等能力进行计算效率的提升,能否通过自动化的方式提升pipeline效率,能否通过场景化的方法简化NoCode能力等等
Modify(调整):调整思路,调整某个功能的实现方案或者逻辑,有可能会形成新的逻辑。
Put to other uses(改变用途):思考系统可以支撑哪些新的场景,或者系统能额外带来哪些收益,重新思考这些额外收益,相应的改变我们的能力,有可能会带来更大的系统创造力(很多情况下是因为替代而产生出来的用途改变)。
Eliminate(去除):Less is More,在出现思维瓶颈时,减法思维会带来新的思路。技术方案上不过度设计,能力上不无限扩充,过于通用的能力大概率不太好用。
Reverse(反向):逆向思维,从问题的相反面进行思考,可以产生新的思路和设计方案
从最基础的能力建起。在进行Data Fabric落地时,可以从最需要、团队掌控力最强、最熟悉的功能开始,比如从元数据管理建设开始,在进行元数据管理建设时,又可以从被动元数据开始,建设时需要基于图引擎完成框架能力,这是关键。后续可以推进主动元数据、集成、服务编排等能力的建设。
与业务充分融合。需要以业务为第一,Data Fabric落地的路径要与业务诉求的优先级相结合,优先满足业务所急需要的能力,技术规划依托于业务需求开展,业务需求放在技术项目中进行实现,持续快速的让技术项目产生具体的业务价值,同时不断的拓宽技术项目的需求边界。整体可以遵循提效优先、复用&聚焦、横向规划、纵向实施、急用先行的落地实施策略。
形成影响力。Data Fabric项目要不断的宣传,在技术团队和业务团队内逐渐形成认知,从而带来更多业务需求(获客),并在技术项目中进行落地(转化),在业务支持和技术深度间形成良性的飞轮效应(裂变)。
在项目正式实施前,可以不断建立假设和推翻假设,直到找到最优的解决方案再开始着手实现。在《思考,快与慢》一书中总结的一种方法叫“事前验尸”(失败预演),即在进行方案设计或决策时,先行假设这个项目会失败,然后思考可能会造成失败的原因,然后针对这些问题或风险制定预案或者修改设计方案。另外还可以通过“成功预演”的方法进行思考,即假设这个项目会成功,那么造成成功的关键因素是哪些,然后在执行过程中要加强这些关键因素的执行。总结下来失败预演是帮助我们思细节,成功预演帮助我们抓关键。
在VUCA背景下,数字化和智能化是比较确定的两个趋势。数字化趋势上,是否拥有数字化能力,是“企业能否有机会走向未来的分水岭”[72],数字化是以数据为核心,通过数据驱动业务,解决效率和成本问题,从而帮助业务增长和创新;智能化趋势上,智能技术为业务提供了低成本、快速及可大规模推广的创新能力,帮助业务寻找新机会、创新点,建立可持续的发展和核心竞争力。两大趋势带来了多样性的数据类型以及激增的数据量,而业务从这些数据中进行分析、洞察的需求大幅增加,对业务敏捷性和数据可访问性的诉求越来越高。基于主动元数据、语义、知识图谱、数据虚拟化、AI等技术的Data Fabric成为应对这些挑战最佳解决方案,其将用户与数据进行精准、敏捷、高效的匹配,预计未来1-2年内会在国内推行并达到期望值的顶峰。希望通过这篇文章能够使得数据领域的建设者、领导者或者关注者能对Data Fabric有一个整体的认知,并结合自己的业务场景进行有选择、有特色的落地,共同推进Data Fabric成为基础、必备能力的进程。
1.https://www.gartner.com/smarterwithgartner/a-data-and-analytics-leaders-guide-to-data-literacy
2.https://www.k2view.com/blog/data-literacy/
3.Technology Brief:Dynamic Data Fabric and Trusted Data Mesh using the Oracle GoldenGate Platform
4.https://www.nexla.com/top-5-data-fabric-takeaways/
5.https://www.wherescape.com/solutions/automation-software/data-fabric/
6.https://developer.hpe.com/blog/data-fabric-the-future-of-data-management/
7.Big Data Fabric Architecture: How Big Data and Data Management Frameworks Converge to Bring a New Generation of Competitive Advantage for Enterprises
8.The Forrester Wave™:Enterprise Data Fabric, Q2 2020
9.https://www.gartner.com/smarterwithgartner/data-fabric-architecture-is-key-to-modernizing-data-management-and-integration
10.https://www.gartner.com/doc/reprints?id=1-251MKCBH&ct=210119&st=sb
11.https://www.talend.com/resources/what-is-data-fabric/
12.https://www.tibco.com/reference-center/what-is-data-fabric
13.https://www.informatica.com/blogs/why-a-metadata-knowledge-graph-is-essential-to-an-intelligent-data-fabric.html
14.https://www.stardog.com/blog/how-data-fabrics-modernize-existing-data-management-investments/
15.https://www.gartner.com/en/information-technology/glossary/dark-data
16.https://www.ibm.com/analytics/data-fabric
17.http://www.qianjia.com/html/2021-11/01_385247.html
18.Talend,Definitive Guide to Data Integration
19.https://www.datavirtualizationblog.com/no-single-data-repository-can-be-your-silver-bullet/
20.Gartner,Top Trends in Data and Analytics for 2021: Data Fabric Is the Foundation
21.Brian Arthur,技术的本质
22.https://www.winwire.com/data-fabric-modernizing-data-integration/
23.https://www.ibm.com/downloads/cas/VBENPWJO
24.https://reprints2.forrester.com/#/assets/2/76/RES153219/report
25.https://www.dataversity.net/weaving-big-data-fabric/
26.Gartner,What Is Data Fabric Design
27.https://www.atscale.com/blog/building-practical-data-fabric-at-scale/
28.https://www.informatica.com/blogs/data-fabric-vs-data-mesh-3-key-differences-how-they-help-and-proven-benefits.html
29.https://www.datanami.com/2021/06/30/the-data-mesh-emerges-in-pursuit-of-data-harmony/
30.https://www.datanami.com/2021/10/25/data-mesh-vs-data-fabric-understanding-the-differences/
31.https://martinfowler.com/articles/data-monolith-to-mesh.html
32.https://www.gartner.com/doc/reprints?id=1-280YDJZH&ct=211111&st=sb
33.http://www.jamesserra.com/archive/2021/06/data-fabric-defined/
34.Rick F.van der Lans,数据虚拟化:商务智能系统的数据架构与管理
35.https://techno-sapien.com/blog/dv-frontiers-2021
36.https://www.cisco.com/c/dam/m/zh_cn/internet-of-everything-ioe/data-center/pdfs/Ten_Things_You_Need_to_Know_About_Data_Virtualization_v2_ZHCN.pdf
37.StarDog,Data fabric: the next generation of data management
38.https://www.dataversity.net/the-logical-data-fabric-a-single-place-for-data-integration/
39.https://www.dataversity.net/the-logical-data-fabric-a-single-place-for-data-integration/
40.https://www.idgconnect.com/article/3632131/the-rise-of-the-data-fabric-has-the-data-lake-run-its-course.html
41.https://www.dataversity.net/enterprise-data-unification-and-knowledge-graphs-making-complexity-simple/
42.https://www.poolparty.biz/what-is-a-knowledge-graph/
43.https://www.topquadrant.com/wp-content/uploads/2021/06/How-Metadata-Management-Must-Evolve-to-Support-Data-Fabric.pdf
44.https://www.doit.com.cn/p/467279.html
45.https://www.ibm.com/downloads/cas/V4QYOAPR
46.https://www.ibm.com/analytics/data-fabric
47.https://www.ibm.com/support/producthub/icpdata/docs/content/SSQNUZ_latest/cpd/overview/overview.html
48.https://www.talend.com/resources/what-is-data-fabric/
49.https://www.stitchdata.com/blog/introducing-talend/
50.https://blogs.sap.com/2020/06/16/data-fabric-building-agility-and-resilience-into-your-data-management-practice/
51.https://www.ibm.com/topics/sap-hana
52.SAP,High Performance Analytics with SAP HANA Virtual Models
53.Cambridge Semantics,The Rise of the Knowledge Graph
54.Scientific Data,The FAIR Guiding Principles for scientific data management and stewardship
55.https://blog.cambridgesemantics.com/cambridge-semantics-recognized-for-leadership-in-use-of-olap-knowledge-graph-technology-for-accelerated-data-integration
56.https://cambridgesemantics.com/data-fabric/
57.https://cambridgesemantics.com/anzo-platform/
58.Cambridge Semantics,Robust, Agile,and Comprehensive:The Story of the Data Fabric
59.https://docs.cambridgesemantics.com/anzograph/v2.2/userdoc/stat-functions.htm
60.https://docs.cambridgesemantics.com/anzograph/v2.2/userdoc/graph-algorithms.htm
61.https://docs.cambridgesemantics.com/anzograph/v2.2/userdoc/geo-spatial.htm
62.https://docs.cambridgesemantics.com/anzograph/v2.2/userdoc/inferences.htm
63.DATA.WORLD&POOLPARTY,A NEW SOLUTION TO DATA SILOS
64.https://blog.cambridgesemantics.com/the-future-of-data-management-collective-intelligence-the-wisdom-of-knowledge-graphs
65.https://www.denodo.com/en/about-us/who-we-are
66.https://www.dataversity.net/weaving-big-data-fabric/
67.Denodo,The Future of Data Strategy:Five trends that will shape what’s coming next
68.Denodo,3 Key Data Fabric Operational Features
69.Denodo,The Denodo Platform:Providing Agility in an Increasingly Complex Data Landscape
70.Denodo, DATA VIRTUALIZATION PACKED LUNCH WEBINAR SERIES
71.Denodo, Discover How a Logical Data Fabric Helps Organisations Overcome Data Silos And Black Holes
72.陈春花,2021年关键词