当前位置: 首页 > 科技观察

基于图数据库的元数据血缘关系分析技术研究与实践

时间:2023-03-18 00:12:30 科技观察

1.背景图数据库不是存储图片的数据库,而是基于图论存储节点间关系的数据库。图数据库是近年来增长最快的数据库类别。从社交网络到财务关系,涉及大量高度相关的数据。因此,图数据库很早就被推特、脸书、谷歌等公司所采用,也成为当今各个行业最流行的。推崇主流技术。与传统的关系数据库相比,关系是图数据库中最重要的元素,应用程序不需要使用外键约束来实现表与表之间的相互引用。图1展示了图数据库和关系数据库在搜索三度关系时的工作原理。可见,图数据库可以充分发挥其在存储关系方面的优势,将关系作为连接跳板进行查询,而关系数据库则必须进行表连接操作,表连接的数量随着度数的增加而增加查询的增加,这将极大地影响查询的响应速度。图1图数据库和关系数据库查找三维关系逻辑示例图数据库支持非常灵活和细粒度的数据模型,可以以简单直观的方式对数据应用进行建模和管理,用图来表达现实世界中的很多东西都会更直接,更容易理解。同时,图数据库在关系查询方面表现优异,在深挖关系方面潜力巨大,具备挖掘数据潜在价值的能力。相较于关系型数据库,图数据库可以支持更多类型的关系场景,本文将基于图数据库进行元数据血缘关系的研究与实践。1.1元数据大数据时代的到来意味着海量、复杂的数据。随着平台应用的不断推广和创新,基础数据也将快速增长,增长的数据会出现血缘关系模糊、重复存储和处理、口径混乱、数据质量参差不齐等一系列问题。元数据是描述数据的数据。数据和信息资源的描述是对数据的更高层次的抽象。通过对元数据的有效管理,可以有效解决上述问题。根据元数据描述的对象不同,可分为业务元数据、技术元数据和管理元数据。(1)业务元数据主要记录系统中业务的相关概念信息,包括业务术语、信息分类、索引定义、业务规则等。(2)技术元数据描述系统中技术领域的相关概念信息,包括数据结构、数据处理特征描述,以及数据源接口、数据仓库、数据集市、存储等综合数据处理环节的信息。(3)管理元数据定义了系统中与管理领域相关的概念和其他信息,如项目管理的描述、IT运维、IT资源设备等相关信息。元数据实现了信息的描述和分类的格式化,可以有效地管理数据资产,理清数据之间的关系。元数据可以帮助开发者了解平台的情况,比如平台包含的数据、数据存储占用的空间、数据存储位置、数据输出信息等,在此基础上可以做一些运维告警工作.此外,还有助于制定平台数据统计标准,梳理统一的数据口径、计算指标、上下游关联关系,为数据质量和维护可视化奠定基础。1.2元数据应用元数据记录了系统中包含的数据、数据的表示、数据的来源以及在系统中的传递关系。元数据的应用范围很广,可以用来构建业务术语、数据标准、数据字典、数据资产目录、数据血缘关系和数据地图。下面将主要介绍后面涉及到的数据的血缘关系。数据血缘关系可以表示数据之间的关系,反映数据在系统中的生产和处理过程,主要包括集群血缘关系、系统血缘关系、表级血缘关系和字段血缘关系。当源数据溯源到上游时,可以查询到这个数据的产生过程,它的来源就被溯源了。在分析下游流向时,具有影响程度分析功能。系统升级改造时,通过分析依赖数据的影响,可以快速定位下游影响范围,从而降低系统升级改造带来的风险,如图2所示,快速定位影响范围受转换影响的系统。当同时分析上下游流时,可以获得完整的数据流链,在此基础上可以更好地分析依赖关系,增加后续的系统功能。图2快速定位重构影响系统范围2.元数据血缘实践使用图数据库存储和查询元数据血缘关系。需要先梳理元数据之间的关系,建立图模型,然后根据这个数据梳理出需要的信息,并将数据加载到图数据库中,然后可以设计关系模型进行链接匹配询问。本文以农行、人行金融基础数据报送系统为基础,梳理系统中表、脚本、作业、作业链、应用系统、主机、节点之间的关系,构建一个图模型。在数据准备环节,通过SQL脚本获取脚本与表的关系,表与表的关系,并在调度监控平台建立作业链的相关信息,建立关系作业和脚本,作业链和作业,以及父子作业。然后在图数据库平台上进行操作,创建图模型,建立模型与数据的映射关系,并进行数据加载操作,完成从建模到数据加载的过程。为了实现血缘关系的查询,需要提前设置图的匹配方式,并在此基础上编写相应的图查询语句。结合现有数据,本文提出了三种关系分析模型。2.1图模型定义本文在图模型设计中,采用先建立实体,再通过扩展实体节点建立节点间关系的方法。通过对农行、人行金融基础数据报送系统的分析,作业链、作业、脚本等7个实体,表间依赖关系、父子作业、作业等10个关系建立了工作链和工作之间的包容关系。具体如下:表1图模型模式定义类型名称中文名称实体ent_table表ent_script脚本ent_job作业ent_jobchain作业链ent_system应用系统ent_node节点ent_host主机关系rel_tab_dep表与表依赖关系rel_script_input表输入脚本关系rel_script_output脚本输出表关系rel_job_excute作业执行脚本关系rel_jobchain_contain作业链包含作业关系rel_job_place作业与节点存储关系rel_job_runat作业与主机运行关系rel_job_follow作业父子关系rel_jobchain_follow作业链rel_jobchain_belongto作业链与系统归属关系整理了以下信息:表基本信息,脚本基本信息、作业基本信息、作业链基本信息、应用系统基本信息、节点基本信息、主机基本信息、表与表依赖关系、表输入脚本关系、脚本输出表关系、作业执行脚本关系、作业链包括作业关系、作业与节点存储关系、作业与主机运行关系、作业间父子关系、作业链间父子关系、作业链和系统的所有权关系。2.2血缘关系模型的定义根据要追溯的数据关系方向,将模型分为三类:向上追溯依赖模型、向下流动影响度分析模型、连接整个数据的数据处理模型流向,如下:(1)依赖分析模型追踪表级、作业级、作业链级的依赖关系。这三种关系溯源处理的逻辑是相似的。以表为例,选择一个表后,继续查找该表的依赖表,直到找到源头,形成向上的关系溯源。(2)影响度分析模型分析下游影响度时,需要不断找出当前节点依赖于哪些节点,从而形成完整的向下关系链。(3)数据处理模型该模型可以反映数据的生成和处理过程,可以查看表、脚本、作业、作业链、系统等不同层次的关联。具体模型如图4所示。从一张表开始,展开与其关联的表的度数关系,关联处理该表的脚本,跟踪执行脚本的作业,展开父作业和子作业,作业的运行节点和主机,找到包含作业的作业链,并展开属于作业链的系统,从而呈现完整的数据处理过程。图4数据处理模型2.3结果可视化Cypher是一种用于Neo4j图数据库的描述性图查询语言,无需编写图结构遍历代码即可实现对图存储的表达和高效查询。它的语法易于理解,编写和使用起来也不那么困难。.开发者只需要关注如何找到数据,而不必关心查询过程的具体细节。上述各血缘关系具体代码及结果在虚拟场景中实现如下:(1)依赖分析(以查询机构信息表为例)MATCHdata=(na:TABLE{TABLE_NAME:'机构信息表_currenttable_Historytable'})<-[r:DEPENDANCE*]-(nb:TABLE)RETURNdata图5依赖分析查询结果图(二)影响分析(以客户信息表为例)MATCHdata=(na:TABLE{TABLE_NAME:'客户信息表_备份表_历史表'})-[r:DEPENDANCE*]->(nb:TABLE)RETURN数据图6影响分析查询结果(三)数据处理模型MATCHdata1=(:TABLE{TABLE_NAME:'机构信息表_当前表_历史表'})<-[:DEPENDANCE*1..2]-(:TABLE),data2=(:TABLE{TABLE_NAME:'机构信息表_当前表_历史表'})<-[:OUTPUT*]-(:SCRIPT)<-[:EXCUTE*]-(nJ:JOB)<-[:RELATION*]-(:JOB),data3=(nJ)-[:BELONGTO*]->(:LINK)-[:PERTAINTO*]->(:SYS),data4=(nJ)-[:RUNINGON|RUNNINGON*]->()RETURNdata1,data2,data3,data4图7数据处理查询结果图5-7为上述模型的Cypher语句的查询结果。可见,使用图数据库平台可以直观展示图查询结果,支持查询图嵌入其他可视化系统。作为辅助工具,它可以直观地展示各个实体之间的关系和属性,有助于数据分析师、研发人员、业务人员进行分析和探索。以图7为例,从组织信息表_当前表_历史表开始,其处理依赖于表补充记录表、地区表和账户表。向左追查,是由job_organization信息表执行的脚本文件script_organization信息表的执行产生的。它的父jobs包括job_external基本信息表、job_organization信息表、job_code表等。job在node_datanode上,在host_datahost上。包含在作业链_组织信息表作业链中,属于数据系统应用系统。以上就是查询一个表的基本处理关系的整个过程。3.总结与展望本文基于图数据库对元数据的亲缘关系进行研究分析,通过建立图模型、构建数据映射关系、定义血缘关系模型,实现元数据亲缘关系的存储和展示,并编写一个Cypher查询语句。在进行系统升级、系统改造甚至表结构变更等操作时,借助该模型的查询结果,可以快速有效地定位系统中受影响的范围,大大降低时间成本。目前,我行数据湖建设正在有序推进。未来,数据湖将涉及大量的实时和分析计算。图数据库无疑将在关键路径分析中发挥非常重要的作用。图数据库在关系存储方面的巨大优势,使其成为近六年来增长最快的数据库,受到了各界的广泛关注。在互联网、5G、人工智能等数字技术的驱动下,随着数据技术与金融业的融合发展,银行金融业目前面临以下两大问题。(1)数据关联复杂度增加,数据本身的4V特性(海量、高速Velocity、多样性、价值)使得查询性能呈指数级恶化,但实时数据关联已成为不可逆转的趋势。(二)金融欺诈风险不断扩大,传统反欺诈技术不断受到冲击和挑战。闭环欺诈、反洗钱监控、交易担保识别等越来越多的场景需要多维度、及时反馈的技术支持。图数据库的发展和兴起,正是解决这两个问题的理想工具。积极推进图计算平台建设,积极探索图数据库在风控场景、营销场景、智能搜索等场景的应用,为进一步挖掘海量数据潜在商业价值打下坚实基础。