基于Data Fabric 的多模数据管理方法

2023-09-22 01:09郑新俊田国良黄飞虎
关键词:数据源数据管理日志

郑新俊, 田国良, 黄飞虎

(1. 南京理工大学 网络空间安全学院, 江苏 江阴 214414; 2. 中国移动通信集团江苏有限公司, 南京 210029; 3. 北京宝兰德软件公司, 北京 100021)

0 引 言

随着数据作为战略资产在政府和企业发展过程中发挥的作用日益突出, 以及数字技术的蓬勃发展, 政府和企业在信息化向数字化转型过程中运用不同类型应用系统生成的数据已日益趋于多模化、多源化、海量化. 其发展趋势给多模数据管理带来了众多新挑战. 不同类型的应用系统使用各自的数据源、数据格式和数据访问方式, 同时数据类型也更加多样化, 这使得数据管理变得更加复杂, 需要一种能够解决多模数据管理的新型技术或方法论来指导构建统一的数据管理平台, 以便更有效地管理和优化多模数据环境, 进而提高数据的易用性和价值性.

2010 年以来, 业界在数据湖概念的基础上进一步提出了采用多模、高扩展的分布式数据库解决一站式数据存储的多模数据湖方案, 其可以对多模数据进行统一的存储和访问; 但同时会引起不同的数据来源、数据源类型、数据格式的数据集成难度大, 数据一致性、准确性控制难度大的问题, 以及数据复制和数据冗余等问题. 2019 年, 陆嘉恒等[1]提出基于多模型查询处理与优化的多模数据管理方案,可以把不同模型的数据进行统一存储, 但是它们不能提供跨模型的查询语言, 以及针对多种模型数据的查询优化.

目前, 针对使用数据湖、多模数据库等方法进行多模数据管理时存在的数据一致性、跨模型查询等问题, 业界提出了利用Data Fabric 中集成的技术和工具来搭建多模数据管理平台[2], 本文的主要工作和贡献如下.

(1) 对Data Fabric 的整体架构、技术特点、技术价值和发展趋势进行了深入分析, 并阐述了多模数据管理中使用Data Fabric 的完整流程.

(2) 提出了一种基于时序指标多模多源数据的异常检测方法, 其运用Data Fabric 技术中的数据管理与协同处理能力, 通过设计并实现了基于多源数据的异常检测模型和算法, 解决了对大规模、多类型和多源的时序指标数据进行高效、准确的异常检测问题. 通过实验证明, 该方法能够实时处理和分析TB 级别的数据, 处理速度和F1-score 较其他方法分别提高33.3%和12.2 个百分点(用pp 表示).

(3) 提出了一种基于多模多源日志数据的异常检测方法, 其充分利用了Data Fabric 的数据整合和实时处理能力, 并通过结合“BERT + 自编码器”方法, 设计了一种能够自动解析和识别大规模、不同源的多模日志数据异常的算法. 通过实验证明, 该方法不仅能处理TB 级别的数据, 而且能在异常日志生成后的平均3 s 内成功地识别出异常, 处理速度和F1-score 较传统方法分别提高42.2%和14.8 个pp.

本文的第1 章介绍了Data Fabric 的概念、特点和发展趋势, 第2 章介绍了Data Fabric 的关键技术、技术价值和应用方法, 第3 章提出了使用Data Fabric 技术的两种多模多源数据处理方法, 并通过实验验证了提出的方法的性能和准确性, 第4 章对Data Fabric 技术的应用进行了展望和建议, 第5 章对全文进行了简要总结.

1 Data Fabric 技术阐述

1.1 Data Fabric 的概念

Data Fabric 被Gartner 定义为一种新型的数据管理技术和方法[3], 其提供了一种无缝、统一、可扩展和可靠的数据服务层, 使客户有效地管理和利用分布在不同环境和存储系统中的多来源、多类型、多格式数据, 用于解决跨越不同地域和数据中心的数据管理、访问及分析应用的复杂性问题.

自2019 年起, Gartner 连续3 年将Data Fabric 列为年度数据和分析技术领域的十大趋势之一.Data Fabric 也被称为数据编织, 其概念由研究机构Forrester 在 2000 年首先提出. 它将不同的数据来源 (如本地数据中心、私有云、公共云、混合云、物联网设备等) , 数据库类型 (如关系型数据库、键值数据库、NoSQL 数据库、NewSQL 数据库、消息队列、文件存储、分布式文件系统等) , 数据格式(如结构化数据、半结构化数据和非结构化数据) 和SaaS 应用程序之间建立无缝的数据进行聚合、管理和分发, 形成一个统一、全面和高效的数据管理平台, 并提供统一、可靠和实时的数据访问能力, 以便能够更快、更好地进行数据分析和做出高质量的应用和决策. Data Fabric 的架构非常灵活, 自下而上包括3 个部分.

(1) 数据集虚拟化层. 该层将来自多种数据源和数据类型的数据进行整合, 将分散的数据自动转换为统一的格式和标准化结构, 并提供一致的数据访问接口和服务.

(2) 数据处理层. 该层是Data Fabric 的核心, 提供数据的处理、分析、存储和管理等服务, 支持各种数据类型的分析和挖掘.

(3) 数据应用层. 该层提供API (application programming interface)和工具, 支持开发者自定义各种应用程序, 以使用Data Fabric 提供的数据资源和服务来支持企业内部的业务需求.

1.2 Data Fabric 的技术特点及技术价值

Data Fabric 的特点包括多源异构数据整合、数据分析和挖掘、架构灵活、全局可访问性、数据安全性及弹性可扩展等. 其技术特点和技术价值具体分析如下.

(1) 多源异构数据的整合能力

其架构是一种开放式的、微服务化的架构, 可以运行在公共云、私有云、混合云和本地数据中心等不同的数据环境中, 支持各种类型的应用程序和数据仓库. 利用数据虚拟化技术将多源异构数据进行虚拟化处理, Data Fabric 将来自不同类型的数据源和存储系统的结构化数据、半结构化数据和非结构化数据转换成统一的数据视图, 并提供一致和实时的数据访问能力.

通过Data Fabric 中的异构数据整合能力可以解决数据源聚合、数据格式转换、数据模型映射、数据质量管理以及数据安全和权限控制等多个数据管理痛点. 它简化了异构数据的整合过程, 提供了统一的数据访问和管理接口, 使用户能够轻松地利用和管理各种类型的数据.

(2) 数据分析和挖掘能力

Data Fabric 具有高效的数据预取、内存加速和多线程处理等技术, 具有强大的流数据和批量数据的分析挖掘能力, 可自动对数据进行探寻、聚合、分析和挖掘.

Data Fabric 的数据分析和挖掘功能可以帮助企业解决数据管理中的数据探索、数据挖掘、实时分析、预测分析以及数据质量和异常检测等痛点. 它使用户能够更好地理解和利用数据, 发现数据中的价值和洞察, 并支持业务决策和创新.

(3) 全局可访问性

Data Fabric 采用自治的数据管理方法, 能够在不同的地理位置、多个云和数据中心之间, 实现数据的无缝连接和交互, 使数据能够实现全局可访问性.

Data Fabric 对数据的全局可访问性为企业解决了数据管理中的数据分散和孤岛化、跨地域和跨云的数据管理、多用户和多部门数据共享以及实时数据处理和分析等痛点. 它实现了数据的全局可见性和一致性, 提高了数据的可用性、共享性和价值, 为企业的数据管理和应用能力带来了显著的提升.

(4) 数据安全性

它提供完备的权限控制和加密技术, 支持数据加密、数据隔离、访问控制、数据审计和数据监控等多种技术, 用来保证数据在流动、存储和使用过程中的保密性、完整性和可用性.

Data Fabric 中的数据安全性能够帮助企业解决数据管理中的数据隐私保护、合规性要求满足、数据备份和灾难恢复、安全性监测和警报以及数据完整性和可信度等痛点. 它提供了一系列的安全功能和控制手段, 保护了数据的安全性和隐私性, 降低了数据泄露和安全风险, 增强了企业对数据的信任和保护.

(5) 弹性可扩展

Data Fabric 基于云原生、容器化和微服务体系结构, 具有良好的可扩展性和易部署性. 适应业务需求和数据规模不断变化的同时可以动态地调整扩展节点或存储资源, 在高并发访问和大数据的情况下提高数据处理的效率, 并保证系统的可靠性和稳定性.

Data Fabric 的弹性可扩展的特性能够解决企业在数据管理中的数据容量增长、高并发处理需求、异构数据管理、数据存储和访问效率以及系统可靠性和容错性等痛点. 它具备灵活的扩展性和适应性, 可以根据需求进行资源调配和功能扩展, 满足不断变化的数据管理需求, 并提高数据处理的效率、可靠性和可用性.

上述特点使它成为一个强大的新型数据整合平台技术, 具有较大的技术价值, 能够解决复杂的多模数据管理的众多痛点: 它可以整合和连接各种数据源、数据存储和应用系统, 解决数据管理中的数据类型繁多、来源错综复杂和数据孤岛问题; 在数据管理过程中无需对数据进行统一的集成交换和存储, 解决了数据管理中需对数据集中化的问题, 以及数据集中化带来的数据复制和冗余问题; 可以对数据虚拟化[4], 在访问的过程中进行查询优化, 解决了数据访问效率低下的问题.

1.3 Data Fabric 的效益趋势

Data Fabric 作为一种跨平台的灵活、弹性数据整合技术, 能够简化数据整合基础设施, 减少数据和分析团队因整合难度上升而出现的技术债务. Gartner 预测, 至2023 年, 基于Data Fabric 的人工智能可将数据质量和数据管理的部署成本降低35%, 持续运营成本在现有基础上降低65%[5]; 至2024 年,Data Fabric 可减少50%人力数据管理成本, 而且数据利用率会因Data Fabric 的部署使用提升3 倍;超过25%的数据管理供应商将通过自己的产品和合作伙伴的组合, 为数据结构支持提供完整的框架,而目前这一比例不到5%[6].

2 多模数据管理中 Data Fabric 的关键技术及应用流程

多模数据管理涉及多数据源、多数据类型的统一管理和访问, 为技术要求带来了巨大的挑战.Data Fabric 通过数据虚拟化、元数据、增强数据目录、知识图谱、数据编排、数据工程和数据目录,并使用AI 能力进行语义丰富、洞察和推荐等可解决这些挑战, 具体而言如下所示.

(1) Data Fabric 中的数据虚拟化技术[7]将不同的数据来源 (如本地数据库、私有云、公有云、混合云、物联网设备等) , 数据库类型 (如关系型数据库、键值数据库、NoSQL 数据库、NewSQL 数据库、消息队列、分布式文件系统等) , 数据格式 (如结构化数据、半结构化数据和非结构化数据) 进行识别、抽象并映射到对应数据模型中使数据自动整合, 并提供一致的数据访问接口和服务能力, 用户可以通过接口快速便捷访问不同数据.

(2) Data Fabric 中的各种机器学习算法, 对管理的数据进行高效洞察分析和价值挖掘, 从而加快实现数据价值变现, 让被动等待的数据策略转变为主动使能的数据策略.

(3) Data Fabric 中的低代码技术提供通过拖拉拽实现自定义的数据开发、数据质量检测、数据处理分析和数据模型管理的便捷服务能力, 解决数据使用者对数据应用开发的硬编码问题, 降低数据编排和设计的使用门槛, 提升数据使用的效率.

图1 为Data Fabric 技术核心架构图.

2.1 多模数据管理中Data Fabric 的关键技术和应用场景

2.1.1 Data Fabric 中的数据虚拟化技术和应用场景

数据虚拟化技术是Data Fabric 的核心技术, 可实现跨多个数据源的数据无缝转换和业务流程编排[8]. 当今企业数据往往分散在各个异构数据系统之中, 比如关系型数据库、NoSQL 数据库、数据仓库、关系数据库、Hadoop 集群、SaaS、web 服务等. 数据虚拟化提供了一个统一的数据集成和交付层,充当 IT 数据管理基础设施与业务用户和应用程序之间的桥梁. 它提供了一个单一的入口点, 无论它位于何处或其原生格式如何不同, 都能以安全的方式访问任何数据. 一个统一的语义层, 使组织能够创建虚拟模型, 以每种类型的消费者所需的形式和结构呈现数据. 数据虚拟化能以最适合用户需求的格式向每种类型的用户和应用程序提供数据, 与传统的数据复制方法相比, 成本几乎可以忽略不计[7],其核心技术有以下几方面.

(1) 虚拟数据源

数据虚拟化需要将不同的数据源集成为一个统一的数据视图, 因此需要实现虚拟数据源和透明数据访问. 虚拟数据源将不同的数据源模型映射到一个通用模型, 从而使得应用程序可以通过一个统一的接口访问所有的数据源.

(2) 数据融合

由于不同的数据源可能包含不同的数据模型和结构, 因此, 需要将所有数据源的数据进行合并.在数据合并阶段, 需要对不同的数据源进行数据模型和结构转换, 然后将转换后的数据进行整合和统一.

(3) 查询优化[4]

对于复杂查询, 需要在虚拟视图上重新排序查询操作以最大限度地下推到数据源 (聚合下推、联合下推、连接重新排序) , 删除或简化操作 (分支修剪、外部到内部) , 甚至在一个数据源中创建临时表, 其中一部分数据位于另一个数据来源中 (数据移动、MPP 加速)[7]. 针对性能问题, 需要进行查询优化, 使得查询结果快速返回.

(4) 数据访问控制

数据访问控制是管理可访问虚拟数据的角色、责任和权限的方法.

(5) 隐私安全保护

由于不同的数据源可能包含敏感数据, 通过访问控制、数据加密保证数据虚拟化的安全性和隐私保护.

使用Data Fabric 的数据虚拟化技术使企业在多模数据管理的过程中无需构建湖仓一体的统一数据存储平台, 为企业解决了在多模数据管理中数据来源分散、数据整合难度大和数据维护复杂的问题, 也能够更好地管理多源数据和提供更高的数据安全性, 降低数据维护成本, 并可以提供更好的数据访问性能和更好的数据分析能力, 使企业更好地利用其数据资源.

2.1.2 Data Fabric 中的机器学习(ML)技术和应用场景

在Data Fabric 中, 使用知识图谱和AI/ML 算法简化数据集成设计能使数据更加直观和加强用户层面的理解, 让数据工程师、应用分析者、业务专家、业务管理者更加能够围绕商业目的进行分析使用. 机器学习技术是Data Fabric 的关键技术之一, 有以下核心作用.

(1) 数据质量完善提升: Data Fabric 使用机器学习技术对所管理数据特征的学习和分析[9], 可更准确地识别数据中的问题, 例如潜在数据重复、关键数据缺失等.

(2) 数据处理效率提升: Data Fabric 使用机器学习技术来支持数据自动化管理, 包含数据字段分类、数据自动管理等, 从而提高数据管理效率.

(3) 数据应用效率提升: Data Fabric 使用机器学习的各种算法, 快速地通过从数据中挖掘规律和知识, 来预测未来的数据变化趋势, 进一步提高对客户数据的洞察和分析应用能力.

机器学习技术主要分为以下几种类型.

(1) 监督学习: 使用标记好的数据作为训练样本进行学习, 生成一个模型或算法并在新数据中进行预测. 该模型可以根据已有的训练数据来预测新的数据, 包括分类、回归等.

(2) 无监督学习: 不使用标记好的数据, 直接从数据中挖掘出隐藏的内在结构、规律和信息, 发现数据本身的关系、分组等特点. 该类学习方法包括聚类和降维等.

(3) 半监督学习: 介于监督和无监督学习的中间状态, 同时使用有标记和无标记的数据, 通过半监督学习技术来增强机器学习的预测能力, 以便更好地拟合数据模型.

(4) 强化学习: 在动态环境下进行决策的方法, 通过多次试验, 让计算机不断学习, 将观察结果映射成行动, 建立起一种行动与结果之间的奖励机制, 最终得出一个最优决策.

(5) 深度学习: 通过建立多层神经网络, 进行多层次特征学习和分类、预测、控制的方法, 通过对大量数据的学习和训练来实现模型优化. 包括视觉识别和自然语言处理等.

Data Fabric 中的机器学习算法能够帮助企业解决多模数据管理中的数据质量、数据分类和归档、数据流分析和实时决策等众多实际问题. 比如使用机器学习算法可以检测异常值、缺失值及重复数据, 并提供有效的纠正策略, 通过这种自动化和智能化的方式识别和纠正数据质量问题. 比如机器学习的文本分类、图像分类等算法可以帮助企业解决多模数据管理中对大规模数据进行快速准确的自动分类和归档的问题. 比如实时处理和分析大规模数据流, 结合机器学习算法, 可以快速识别和响应关键事件, 并做出实时决策, 有效地解决了数据管理中的实时性和高效性问题.

2.1.3 Data Fabric 中的低代码技术和应用场景

低代码 (low-code) 技术是近年来发展起来的一种开发模式, 通过提供可视化的编辑器界面, 将复杂的编程语言转换成一个组合逻辑图或流程图来演示应用程序的运行流程; 通过自动编程技术, 用固定的模块和组件来完成常见的任务和功能搭建.

低代码技术已经成为数字转型和数字化创新的重要驱动力. 它可以缩短开发周期, 降低开发成本,提高生产效率, 促进业务创新, 增加业务价值. 此外, 低代码技术还能够提高应用程序的可维护性和可扩展性, 使其更易于管理和升级.

运用Data Fabric 中的低代码技术可以让企业在多模数据管理中无需编写复杂的代码, 为企业提供了仅通过拖拉拽和配置等方式就能完成多模数据管理中的自定义应用程序开发、自动化任务和工作流的配置, 解决了数据分析和报表生成工作中技术门槛要求高、人力成本大、效率低和灵活性不足的痛点问题. 简化了数据管理的复杂性, 允许所有用户在低技术水平下进行数据的洞察和使用, 支持各种应用场景, 完成数据平民化落地. 通过数据自助服务, 有效地解决了大部分用户不能、不会使用数据的瓶颈.

2.2 多模数据管理中Data Fabric 的完整应用流程

Data Fabric 的落地通常包含数据工程和目录的规划、数据接入、数据分析、数据服务这4 个主要步骤.

2.2.1 数据工程和目录的规划

首先, 通过对需管理的不同的数据来源、数据库类型、数据格式及归属应用系统、部门等数据进行调研, 形成调研资料; 其次, 结合客户需求、数据管理目标和数据应用场景进行数据域、数据主题的划分; 最后, 结合调研资料和需求进行数据工程和目录的规划.

2.2.2 数据接入

2.2.2.1 数据源识别和抽象

数据源识别和抽象是多模数据管理的一个关键环节, 它可以帮助我们自动识别和抽象数据源, 将它们映射到一个统一的数据模型中. 其步骤如下.

(1) 数据源识别. 首先, 通过连接数据源对已知数据源进行扫描以确定它们是否可用, 并收集数据源的元数据信息, 例如数据表名称、列名称、数据类型等. 然后, 使用机器学习或自然语言处理的技术,对元数据进行分析和比较, 并建立和解析数据源及关系模型, 从而确定数据源的来源、类型和格式.

(2) 数据源抽象. 通过数据源识别扫描后, 将数据源识别为逻辑层面上的实体模型, 例如数据库模型、文档型模型或图形模型等. 在将数据源映射到统一数据模型之前, 需要对数据源进行抽象, 即将数据源的结构和语义抽象为一个通用的数据模型. 这个过程通常涉及数据模式匹配、数据模式转换和语义理解等.

(3) 统一数据模型. 一旦数据源被抽象为一个通用的数据模型, 就可以将不同的数据源映射到同一个数据模型中. 这个数据模型可以是关系型数据库模型、文档型模型、图形模型等, 根据不同的应用场景选择不同的模型.

2.2.2.2 数据整合和集成

Data Fabric 通过数据虚拟化技术将不同类型的数据源整合在一起, 数据整合和集成包括数据源转换、数据聚合和数据联接等. 数据整合和集成主要通过收集数据源信息、创建虚拟视图和定义物理源与虚拟视图的映射这3 个核心步骤来实现.

(1) 收集数据源信息. 使用数据源识别获取的所有数据源信息, 结合算法 (如数据相似性算法[10]来确定几个数据源之间的相似性) 将不同的数据来源 (如本地数据库、私有云、公共云、混合云、物联网设备等), 数据源类型 (如关系型数据库、键值数据库、NoSQL 数据库、NewSQL 数据库、消息队列、分布式文件系统等) 和数据格式 (如结构化、半结构化和非结构化) 的数据源进行整合; 同时, 收集这些数据源的元数据信息, 包括每个数据源的数据格式、结构、数据列数、名称等.

(2) 创建虚拟视图. 使用数据虚拟化技术需要创建一个用于查询、更新、删除和从不同数据源中检索数据操作的虚拟视图, 该视图即为用户最终访问的中央访问点. 通过一个统一的虚拟视图, 使数据的访问变得更加方便.

(3) 定义物理源与虚拟视图的映射. 将虚拟视图的模式定义与现有数据源的模式进行逻辑映射.

2.2.3 数据分析

首先, 将接入管理的多模数据中的元数据、知识图谱、增强数据目录和语义丰富等数据结合AI/ML 中的算法, 进行洞察分析和价值挖掘, 加快数据价值的提炼速度, 让被动等待的数据策略转变为主动响应的数据策略. 其次, 通过使用低代码实现的数据编排和设计功能, 实现数据处理流程的设计、数据质量检查的设计、数据管理模型的设计, 为用户提供便捷高效的数据管理能力. 解决数据管理者和数据分析师对数据应用开发的硬编码问题, 降低数据编排和设计的使用门槛, 提升数据使用效率.

2.2.4 数据服务

使用低代码实现的数据编排和设计功能将跨多个数据源进行编排构建基于实时数据的工作流,然后将工作流执行的数据结果通过统一API 接口和可视化工具提供给用户, 帮助政府、企业和个人快速使用和开发数据应用. 数据服务的重要性越来越受到重视, 已成为未来数字经济的关键组成部分.数据服务核心流程如下.

2.2.4.1 数据查询及优化

当用户提交查询访问时, 为获得最佳的查询结果, 在执行查询前, 会遵循一套算法来查找最佳数据源, 并对用户提交的查询进行转换, 将其转换为实际查询数据源中使用的语言.

对于复杂查询, 首先需要在虚拟视图上重新排序查询操作以最大限度地下推到数据源(聚合下推、联合下推、连接重新排序), 删除或简化操作(分支修剪、外部到内部), 最终转换为可在数据源中检索数据的物理查询语言; 然后, 执行转换后的查询语句, 并将结果以虚拟表的形式返回给用户. 这种查询实际上是由虚拟表组合或联接而生成, 无需从数据源中移动或汇总数据. 查询优化主要围绕以下几步进行:

(1) 执行计划分析. 执行计划是数据库管理系统根据所给定SQL 语句生成的一种可供直接执行的计划, 可以用来快速检索和处理结果. 对于复杂的查询语句, 系统通常会生成多个执行计划, 优化器需要选择最优的执行计划, 以便尽可能快地返回查询结果.

(2) 数据分析. 优化器对查询语句进行分析, 以了解查询所涉及的数据表和字段, 以及查询条件等信息.

(3) 索引优化. 索引是提高查询性能的重要手段, 优化器尝试通过选择合适的索引来优化性能.

(4) 缓存机制. 查询结果的缓存可以大幅度地提高查询性能, 因为结果已被计算出来, 可以直接返回. 在SQL 操作中相同的SQL 语句经常会被执行多次, 所以使用缓存来存储最常用的查询结果可以避免反复创建对象, 提高性能.

2.2.4.2 数据的洞察分析

在数据整合和集成的基础上, Data Fabric 提供各种用于数据分析的组件, 包括数据挖掘、机器学习、数据可视化、报表和分析等, 可以对元数据、知识图谱、数据目录等管理的多类大量数据进行探索和分析, 以洞察其中隐藏的趋势、关联性等有价值的信息, 可以帮助政府和企业在数据管理过程中更好地挖掘需求、发现潜在风险、优化管理流程和提升决策效率. 例如, 在营销领域, 企业通常需要从多个数据源中收集数据(如销售数据、在线广告数据和社交媒体数据), 利用多模数据管理中的数据洞察分析技术, 分析人员可更容易理解不同来源的数据、数据之间的关联性以及数据在业务场景中的发展趋势等.

3 基于多模数据管理中的Data Fabric 的应用实践

本章将深入探讨基于多模数据管理中的Data Fabric 的应用实践. 我们提出了基于时序指标数据的异常检测和基于日志数据的异常检测两个多模多源数据处理方法, 来验证Data Fabric 的高效性和便捷性.

3.1 Data Fabric 用于处理多模时序数据和多模日志数据的优势

Data Fabric 的多模数据管理方法在处理时序数据的异常检测上, 相比于传统数据管理系统, 具有以下显著优势.

(1) 数据一致性和完整性. Data Fabric 可以实时处理和管理多模多源时间序列数据, 确保数据的一致性和完整性, 这是精确检测异常的前提.

(2) 并行计算和分析. Data Fabric 能够处理大规模的数据并行计算和分析, 大大提升了数据处理的效率, 这对于时间敏感的异常检测至关重要.

(3) 高效的模型训练和部署. Data Fabric 提供了便捷的模型训练和部署平台, 方便了机器学习模型的应用, 并可以实时更新模型以适应时间序列数据的变化.

Data Fabric 的多模数据管理方法在处理日志数据的异常检测上, 优势同样明显.

(1) 高效处理多模多源日志数据. 日志数据通常来自不同的系统和应用, 具有各自的格式和结构.Data Fabric 可以方便地整合这些多源日志数据, 提供一致的视图和查询接口.

(2) 高效的文本处理能力. Data Fabric 支持各种文本处理和分析工具, 例如自然语言处理 (NLP)和机器学习模型, 这使得处理复杂的日志文本成为可能.

(3) 实时的异常检测. Data Fabric 可以实时处理和分析日志数据, 提供实时的异常检测, 这对于需要快速响应的场景 (如网络安全) 非常重要.

总的来说, Data Fabric 的多模多源数据管理为异常检测提供了强大的支持, 不仅提高了异常检测的精度, 而且也大大提升了处理效率.

3.2 应用实践1: 一种基于时序指标的多模多源数据的异常检测方法

基于日志数据的异常检测是Data Fabric 中非常重要的技术应用之一. IT 系统在日常运营中产生大量的日志数据, 这些数据可以包含各种各样的信息, 例如数据源运行故障日志、用户操作数据库日志、数据文件分布情况等. 通过基于时序指标数据的异常检测技术, 可以对日志数据进行分析和检测.具体来说, 可以使用机器学习算法对日志数据中的异常点进行自动检测, 并将结果反馈给用户, 以帮助用户快速排除问题、改善业务流程和提高服务质量.

基于时序指标数据的异常检测, 我们采用的是经过优化的孤立森林 (isolation forest) 算法[11]. 孤立森林是一种非常高效的异常检测算法, 在低维和高维数据集上都有良好的性能. 在孤立森林算法中,异常点的检测是通过创建多棵决策树并计算路径长度来实现的, 路径长度较短的点更可能是异常点.

此高效异常检测方法成功地将Data Fabric 的特性融入其工作过程中, 充分展示了第1 章和第2 章所描述的技术优势. 通过有效地使用Data Fabric 技术进行海量多模多源时序数据的管理、预处理和查询, 显著提高了此异常检测方法的性能和准确率.

首先, 我们使用Data Fabric 技术进行数据的采集和整合. 在这个过程中, Data Fabric 可以自动处理来自不同源的时序数据, 包括清洗、转换、归一化等, 以统一的方式让这些数据能被后续步骤所利用.

其次, Data Fabric 强大的查询能力能够轻易地从大规模数据集中获取所需的数据子集, 进行更细粒度的分析. 我们也利用了Data Fabric 的数据版本控制能力, 跟踪数据的历史版本, 方便在异常检测过程中回溯和比较.

最后, 将Data Fabric 与异常检测算法相结合. Data Fabric 能够方便地整合多种算法, 使我们可以根据数据和问题的特性选择最适合的算法, 从而提高了异常检测的性能和准确率, 此处的最终选择是经过优化的孤立森林算法完成的.

3.2.1 重要性和挑战性

在多个行业中, 例如金融业、制造业和零售业, 时间序列数据的异常检测具有至关重要的作用. 对金融业来说, 异常交易可能预示着欺诈行为或市场操纵; 在制造业中, 设备传感器数据的异常可能提前预示出设备故障, 允许及时地进行维护, 以防止生产中断; 而在零售业, 销售数据的异常可能代表着市场趋势的改变, 需要调整策略. 在AIOps (artificial intelligence for IT operations, 智能运维) 领域,利用时序指标数据进行异常检测是一项极其重要的任务, 因为这可以帮助我们及时发现系统性能的异常变化, 从而防止可能出现的系统崩溃或服务中断等问题. 然而, 由于时序指标数据的多源性、高维性及噪声干扰等问题, 利用这些数据进行异常检测也面临着极大的挑战. 例如, 不同源的数据可能具有不同的地点和模式, 这就需要异常检测模型能够适应这些差异.

3.2.2 Data Fabric 在时序指标异常检测中的应用

Data Fabric 在异常检测中的应用主要表现在它可以有效地处理和分析来自不同源的时序指标数据, 而不需要进行繁琐的数据预处理步骤. 此外, Data Fabric 也支持实时的数据处理和分析, 这对于实时的异常检测任务来说尤其重要.

3.2.3 实验目的

时序指标异常检测的目的是利用Data Fabric 框架强大的数据管理和处理能力, 实现更有效、更准确的时序数据异常检测. 具体来说, 有以下几个目的.

(1) 验证Data Fabric 的高效性和便捷性. 验证Data Fabric 环境下比非Data Fabric 环境下数据管理及不同算法任务的性能和便捷性具有明显的优势.

(2) 验证优化的孤立森林算法的高效性. 其在时序指标数据异常检测上的准确性和效率优于传统的孤立森林算法, 借助Data Fabric 的AI 和大数据处理能力, 使用更复杂、更精确的模型进行异常检测,可提高检测的准确性, 减少误报和漏报.

(3) 大规模、自动化的异常实时检测. 借助Data Fabric 的自动数据处理和AI 功能、分布式和多模型特性, 可以实现对大量时序数据的自动化处理和分析, 无需人工参与, 提高了运维效率. 无论是来自于一个大型系统的各个组件, 还是来自于多个不同系统的数据, 都能有效地进行异常实时检测.

在基于时序指标数据的异常检测实验中, 处理的数据来自多个不同的源, 如服务器、网络设备、数据库等, 数据类型包含CPU 利用率、磁盘I/O、网络延迟、业务日志等, 这些数据类型既有连续的数值型数据, 也有离散的类别数据, 形成了高度的多模数据. 传统的异常检测方法往往针对单一数据源和数据类型, 对这种多模数据的处理能力有限. 然而, 基于Data Fabric 的处理流程和优化的孤立森林算法, 可以有效地直接地处理这些多模数据, 提高了异常检测的准确性和及时性.

3.2.4 实验数据

本实验涉及数据为多源的时序指标数据, 80 亿条 (7 TB) , 包含不同数值类型、不同单位、不同采集频次的时序指标数据, 具体格式如表1 所示.

表1 时序指标异常检测的多源多模数据Tab. 1 Multisource and multimode data for anomaly detection of temporal indicators

表1 中包含了不同类型的设备 (如数据库服务器、负载均衡器、IoT 设备、网络交换机、Web 服务器、防火墙和存储服务器) 及其不同的指标, 以及相应的数值和非数值类型的数据.

3.2.5 算法分析

对于基于时序指标数据的异常检测, 我们采用扩展的孤立森林算法[11](extended isolation forest) ,即一种优化改进后的孤立森林算法. 它相比传统的孤立森林算法可以更好地处理多模态数据[12](即数据分布有多个峰值) . 该算法在选择切割点时不仅随机选择特征, 而且还随机选择切割值, 这使得算法更能捕捉到数据的内在结构.

在此算法中, 借助Data Fabric 对多源时序指标数据自动清洗和整合的能力, 然后直接使用extended isolation forest 算法对整合后的数据进行训练, 以便找出异常点. 该算法的孤立性能够通过式 (1) 进行计算:

式(1)中:h(x) 是样本x的孤立评分;E[n(x)] 是x被孤立所需的路径长度的期望值;c(n) 是平均路径长度, 在二叉搜索树中, 可以通过式 (2) 进行计算.

式(2)中:H(i) 是i的调和数, 可以近似为H(i)≈ln(i)+γ,γ是欧拉常数, 约等于0.577 215 664 9.

3.2.6 实验结果

在基于时序指标多模多源数据的异常检测实验中, Data Fabric 展示了其强大的能力, 有以下特点及优势.

(1) 多源数据整合. 利用Data Fabric 技术, 对来自不同源的大规模时序指标数据进行了高效整合,保证了数据的完整性和一致性, 从而为异常检测提供了全面且可靠的数据基础.

(2) 时间序列异常检测算法. 设计并采用了一种新型的基于改进的isolation forest 时间序列异常检测算法, 该算法不仅能够有效地处理大规模多源数据, 而且能够准确地捕捉到异常模式, 大大提高了异常检测的准确性.

(3) 动态阈值设定. 引入了一种基于数据分布的动态阈值[13]设定方法, 该方法可以自动适应不同类型的数据和各种变化的情况, 提高了异常检测的灵敏度和实用性.

(4) 实时检测. 借助于Data Fabric 的实时数据处理能力, 能够实现大规模多源数据的实时异常检测, 极大地提升了检测的时效性, 能够在异常发生后的最短时间内做出反应.

(5) 高效率和高准确性. 实验结果显示, 该方法在减少了80%的人工干预时间的同时, 2 s 内成功地自动解析出和识别出了90.4%的异常事件, 提高了系统的告警及时性、准确性和文档性.

我们使用优化的孤立森林算法进行实验, 并与传统的孤立森林、One-Class SVM、滑动窗口等算法进行对比. 由表2 可以看到, 优化的孤立森林在处理时序指标数据时, 其准确性和效率均优于其他方法,F1-score 从其他算法最高的78.2%提高到90.4%, 提升了12.2 个pp.

表2 时序指标异常检测算法效果对比Tab. 2 Comparison of the effects of the timing metric in anomaly detection algorithms

从表3 中可知, 在Data Fabric 环境下, 数据处理速度和训练总时长也均优于非Data Fabric 环境,每处理1 TB 数据的速度从2.43 h 提高到了1.62 h, 减少了0.81 h, 提升了33.3%. 关于Data Fabric 方法与非Data Fabric 方法的区别主要概述如下.

表3 Data Fabric 方法与非Data Fabric 方法相同算法的性能数据对比Tab. 3 Comparison of Data Fabric and non-Data Fabric performance data for the same algorithm

(1) Data Fabric 方法. 在本文中, 当我们谈论Data Fabric 方法或系统, 是指一个使用了Data Fabric技术架构的数据管理框架. Data Fabric 作为一种现代的数据架构, 其核心理念是提供一个统一的数据访问、数据处理和数据管理环境, 以便于跨多种数据源、数据类型和应用进行数据访问和处理. 在我们的实践中, 主要体现在: ① 使用Data Fabric 的数据管理能力, 实现了对多源、多模态的数据进行统一的清洗、整合和索引, 大大提升了数据的可用性和处理效率; ② 使用Data Fabric 的分布式计算和存储能力, 实现了大规模数据的高效处理和实时的异常检测.

(2) 非Data Fabric 方法. 与之对应, 非Data Fabric 方法或系统是指传统的数据管理和处理方法.这些方法往往依赖于单一的数据源或数据类型, 并且需要单独为每种数据源或数据类型进行数据清洗、整合和处理. 由于没有统一的数据管理环境, 数据的访问和处理通常是分散和孤立的, 这在处理大规模、多源、多模态的数据时, 往往会面临效率低下、复杂度高、难以实时处理等问题.

综上分析, 这种基于时序指标的多模多源数据的异常检测方法不仅实现了对大规模多源数据的高效处理, 还成功地解决了多源数据异常检测的挑战, 展现了其强大的实际应用价值.

3.3 实践2: 一种基于多模多源日志数据的异常检测方法

与基于时序指标数据的异常检测类似, 基于日志数据的异常检测也是AIOps 领域的一个重要任务. 然而, 由于日志数据的特性 (例如: 日志数据是非结构化的、文本型的), 不能直接使用像孤立森林这样的基于数值的异常检测算法, 而需要采用一些适合处理文本数据的算法, 如基于词袋模型的异常检测算法.

一种基于日志数据的异常检测高效方法充分利用了Data Fabric 的优点, 体现了第1 章和第2 章中所讨论的关键技术. 我们利用Data Fabric 处理、管理和查询大规模的多源日志数据, 显著提高了异常检测过程的效率和性能.

首先, 利用Data Fabric 的数据处理能力, 实现从各种不同源的大规模日志数据中自动提取、清洗、转换和整合, 使这些日志数据能以一种统一的格式供后续步骤使用.

其次, 借助于Data Fabric 的强大查询性能, 针对特定问题轻松地从庞大的数据集中检索所需的子集, 进一步精细化数据分析. 我们还利用了Data Fabric 的数据版本控制功能, 记录数据的历史版本, 便于在异常检测过程中进行数据的回溯和比较.

最后, 将Data Fabric 与日志异常检测算法相结合. Data Fabric 能够方便地整合各种算法, 使我们能够根据具体的数据和问题的特性, 选择最适合的算法, 从而提高了异常检测的效率和准确性, 此处最终选择“BERT + 自编码器”算法方案.

3.3.1 重要性和挑战性

日志数据在系统监控和异常检测中起着关键作用. 对于IT 运维团队来说, 日志可以提供关于系统性能、用户行为和安全威胁的重要信息; 对于开发者来说, 日志可以帮助他们理解和解决系统故障;对于安全团队, 异常的日志条目可能是网络入侵的早期警告. 然而, 使用日志数据进行异常检测也面临着挑战. 一方面, 大规模的日志数据量使得人工检测几乎不可能, 这需要自动化的解决方案. 另一方面, 日志数据通常包含各种复杂的结构和非结构化的文本信息, 这需要强大的文本处理和分析能力.此外, 日志数据的质量也是一个问题, 因为日志可能包含错误、重复或丢失的条目, 这些情况给日志数据异常检测带来了很大的挑战.

3.3.2 Data Fabric 在日志异常检测中的应用

Data Fabric 通过强大的数据处理和分析能力, 可以有效地处理和分析日志数据, 从而实现对日志数据的异常检测. 例如, Data Fabric 可以对日志数据进行实时地清洗、提取和整合, 从而有效地降低噪声信息的干扰, 并提高异常检测的准确性.

3.3.3 实验目的

在Data Fabric 框架下, 日志数据的异常检测的目的是利用该框架强大的数据管理和处理能力,实现对大规模、复杂的日志数据的异常检测. 结合Data Fabric 的多模型、分布式、弹性扩展等特性,我们能够对不同来源、格式的日志数据进行高效的管理和分析, 从而更准确地定位问题, 提升系统的稳定性和运维效率.

对于基于日志数据的异常检测实验, 我们收集的日志数据包含系统日志、应用日志、错误日志等,这些日志来自不同的系统和应用, 格式和内容各异, 形成了复杂的多模数据. 传统的基于规则的异常检测方法在处理这种复杂的日志数据时, 往往需要大量的人工参与和预设规则, 这不仅效率低下, 而且可能漏掉一些未知的异常类型. 在Data Fabric 的支持下, 可以直接使用基于“BERT + 自编码器”的异常检测方法, 对多源日志数据进行有效处理, 显著提高了异常检测的效率和准确性.

3.3.4 实验数据

本实验涉及数据为多种源的日志数据, 约100 亿条 (9 TB) , 包含了来自7 个不同源的大规模日志数据, 涉及不同类型的设备 (含数据库服务器、负载均衡器、IoT 设备、网络交换机、Web 服务器、防火墙和存储服务器等) 的日志信息, 而且每种设备的日志风格都有所不同, 更加体现了数据的多源特性. 表4 中的time 表示日志数据的时间戳, message 表示对应的日志信息.

表4 日志异常检测的多模多源数据格式Tab. 4 Multisource and multimode data for log anomaly detection

3.3.5 算法分析

对于多模时序数据的异常检测, 我们采用“BERT[14]+ 自编码器 (autoencoder) ”算法[15].

(1) 训练自编码器

需训练一个自编码器, 借助Data Fabric 对多源原始的日志数据自动清洗和整合的能力, 对每一条日志消息通过Bert 转化为一个向量, 然后通过海量日志向量, 用无监督方式训练一个自编码器, 自编码器可通过压缩和解压缩数据找到数据的有效表示.

自编码器是一种无监督的神经网络, 它可用于学习数据的低维表示, 从而进行特征提取、降维、噪声消除等. 在异常检测中, 自编码器用于学习数据的正常模式, 然后通过比较原始数据和自编码器的重构结果, 来识别那些与正常模式差异较大的异常点.

自编码器主要包括两个部分: 编码器 (encoder) 和解码器 (decoder). 编码器负责将输入数据x ∈Rd映射到一个低维表示z∈Rp, 解码器则负责将低维表示z映射回原始空间, 得到重构的数据x^∈Rd. 编码器和解码器的映射函数通常由神经网络来实现, 可以表示为编码器:z=fθ(x)=σ(Wx+b) , 解码器:=gφ(z)=σ(W′z+b′) . 其中,σ是非线性激活函数, 如 Sigmoid、ReLU 等;W、b、W'、b'分别是编码器和解码器的权重和偏置,θ=W,b和φ=W′,b′分别是编码器和解码器的参数.

自编码器的训练目标是最小化输入数据x与重构数据x^ 之间的差异, 常用的目标函数 (损失函数)有均方误差 (mean squared error, MSE) :

在进行异常检测时, 可以将输入数据x通过自编码器进行重构, 然后计算x与重构结果之间的差异, 此处采用MSE. 如果这个差异超过了阈值0.15, 就认为x是异常点.

(2) 日志异常检测

当新的目标日志需要检测时, 首先使用同样的Bert 模型将日志转化为向量, 然后将向量输入给已经训练好的自编码器. 如果自编码器能够成功地重构这个向量, 那么认为这条日志是正常的; 如果自编码器无法成功地重构这个向量, 那么认为这条日志是异常的. 具体来说, 可以计算输入向量和自编码器输出向量之间的误差, 然后设定一个阈值(通常为0.15), 如果误差大于这个阈值, 那么就认为这条日志是异常的.

3.3.6 实验结果

本实验中, 基于日志多源数据的异常检测高效方法表现出了显著的优势, 其主要方法及特点包括:

(1) 多源日志数据的整合处理. 借助于Data Fabric 技术, 我们成功地对不同源、不同格式的日志数据进行了高效的整合, 为准确地进行异常检测奠定了数据基础.

(2) BERT + 自编码器算法. 利用BERT 模型将日志信息转化为向量表示, 再通过自编码器进行无监督学习, 从而有效地提取出日志信息的主要特征, 准确地进行异常检测.

(3) 自动化异常检测. 算法能自动比较原始数据和自编码器的重构结果, 并通过设置阈值判断是否为异常, 实现了日志异常检测的自动化, 减少了人工参与, 提高了效率.

(4) 实时检测与快速响应. 利用Data Fabric 的实时处理能力, 实现了在日志异常产生后的平均3 s内即可识别出异常, 大大提高了系统的响应速度.

(5) 强大的处理能力和优秀的性能. 我们的系统在异常日志生成后的平均3 s 内成功地自动解析出和识别出了90%的异常日志事件.

我们使用基于“BERT + 自编码器”的模型进行实验, 并与传统的自编码器进行对比. 通过表5 可以看到, 基于“BERT + 自编码器”的模型在处理日志数据时, 其准确性和效率均优于传统的自编码器,F1-score 达到了89.3%, 较传统的74.5%显著提高, 提升了14.8 个pp.

表5 Bert + 自编码器与传统自编码器算法效果对比Tab. 5 Comparison of the effect of “Bert + autoencoder” and autoencoder algorithm

通过表6 可以看到, 基于“BERT + 自编码器”的模型在处理日志数据时, 在Data Fabric 环境下,数据处理速度和训练总时长也均优于非Data Fabric 环境, 每处理1 TB 数据的速度从2.68 h 提速到1.52 h, 减少了1.16 h, 提升42.2%.

表6 Data Fabric 方法与非Data Fabric 方法相同算法的性能数据对比Tab. 6 Comparison of Data Fabric and non-Data Fabric performance data for the same algorithm

综上分析, 这种基于多模多源日志数据的异常检测高效方法, 不仅在大规模、多源的日志数据上表现出了强大的处理能力, 而且在异常检测的准确性和实时性上取得了显著效果.

4 Data Fabric 技术在多模数据管理中的应用展望和建议

4.1 利用Data Fabric 技术建设数据治理平台

预计在“十四五”期间, 我国数字经济将会维持年均约9%的增速, 预计2025 年数字经济的规模将超过60 万亿元. 数据治理已经从政府行业、金融行业、能源行业延伸到制造、交通、建筑等行业, 其价值和必要性逐渐被认可, 应用前景越来越广泛, 整体市场将迎来高速增长期. 从市场增长角度看, 预计2023 年的市场规模增长将远高于 2021 年和2022 年的年度增长[16]. 近两年, 政府和企业组织都广泛开展了数据湖、数据中台及大数据中心等建设项目, 通过这些项目能够实现价值增长及监管合规等价值. 不过, 在这一过程中, 企业也面临过去二三十年间存量信息系统和存量数据资产等庞大的数据源,这些数据普遍存在着不可理解、不规范、不一致和不准确等问题, 制约了数据价值的发挥.

Data Fabric 有助于简化和整合不同的数据来源 (如本地数据中心、私有云、公共云、混合云、物联网设备等) 和数据库类型 (如关系型数据库、键值数据库、NoSQL 数据库、NewSQL 数据库、消息队列、文件存储、分布式文件系统等) 的数据, 将分散的数据自动转换为统一的格式和标准化的结构,并提供统一的、可靠的数据访问能力, 以及数据分析和挖掘能力. 利用Data Fabric 技术建设数据治理平台来解决在数据治理过程中存量数据资产迁移、融合和数据孤岛问题, 充分利用和发挥了数据治理平台为政府和企业在数字化转型中的价值.

4.2 借助Data Fabric 技术赋能智慧洞察和智能运营

如今, 相对滞后的数据洞察可能会给企业推动新的商机和改善客户体验能力产生不利的影响, 企业通过管理实时、一致、互联和可信的数据来支持关键业务运营和决策非常有必要. 但是, 存在多个数据源和平台之间的缓慢数据移动、严格的数据转换工作流和治理规则、不断扩张的数据量以及跨云和本地的分布式数据等难点需要克服.

从Forrester 发布于2022 年第二季度的测评报告中可以看到, 随着企业持续的数字化转型, 所有行业 (包括金融服务、零售、医疗保健、制造、石油和天然气及能源等) 使用Data Fabric 的计划呈持续增强趋势. 越来越多的企业正在利用公有云和混合云环境中的 Data Fabric 来支持客户 360 度、业务 360 度、欺诈检测、IoT 分析和实时洞察[17].

借助Data Fabric 技术提供的异构数据整合的能力、数据分析能力和挖掘能力搭建智能运营[18]系统. 系统首先可以基于业务实体的 360 度视图持续提供高质量数据, 例如特定客户群、公司产品线或特定地理位置的所有零售店数据来驱动. 其次, 数据科学家使用这类数据进行创建、训练和改进机器学习模型; 数据分析师使用商业智能来进行分析趋势、细分客户和多维根因分析[19]. 然后, 为单个实体(客户、产品、位置等) 提供实时按需的可执行机器学习模型来获得单个实体的完整和当前数据. 最后,将上个环节的数据进行存储并利用实时推荐引擎[20]和数据服务提供出来.

5 结 论

本文提出了一种基于Data Fabric 技术来实现对多模数据的管理方法. 分析了Data Fabric 通过数据虚拟化、机器学习和低代码等技术, 实现了将不同来源、不同类型和不同格式的数据进行快速融合管理、统一访问和价值应用的能力, 提出了将跨越不同地域和数据中心的数据源进行识别、抽象并映射到对应数据模型中的多模数据管理的方法, 而无需对多模多源数据进行集中化处理, 以解决ETL(extract, transform and load) 等传统数据集成技术存在的不足.

基于Data Fabric 技术, 我们进一步提出了一种基于时序指标多模多源数据的异常检测方法, 解决了针对大规模、不同类型和不同源的时序指标数据如何进行高效、准确的异常检测问题; 同时, 提出了一种基于多模多源日志数据的异常检测方法, 解决了自动解析和识别大规模、不同源的日志数据和异常快速检测问题. 并通过实验验证了上述两种方法的效率和准确性, 处理速度分别提高33.3%和42.2%,F1-score 分别提高12.2 个和14.8 个pp. 未来的研究方向是考虑如何进一步扩展Data Fabric 的架构能力和数据自助服务能力, 以支持更多类型的数据和应用场景, 更大程度地降低数据使用门槛和发挥数据价值.

猜你喜欢
数据源数据管理日志
企业级BOM数据管理概要
定制化汽车制造的数据管理分析
一名老党员的工作日志
海洋环境数据管理优化与实践
CTCS-2级报文数据管理需求分析和实现
扶贫日志
Web 大数据系统数据源选择*
游学日志
基于不同网络数据源的期刊评价研究
基于真值发现的冲突数据源质量评价算法