正则匹配到第一个关键字就停止各行业使用不同的数据库语言编写代码,一方面需要明确加工逻辑与业务逻辑的一致性,另一方面也增加了数据表字段加工带来的数据复杂性,这种复杂性会导致系统维护数据表字段关系过多,层级过深,进而难以追溯和定位数据表字段出现问题的根本原因。本文旨在研究一种自动化生成数据血缘关系方法,根据加工批量脚本中出现的数据表各个字段的语法分析结果,对数据表字段关系进行血缘分析,这样既可以实现对加工表字段进行来源表字段或目标表字段关系的存储,又可以降低对来源表字段和目标表字段追溯和定位的成本,同时,血缘分析算法与数据库加工批量存储、计算和查询逻辑松耦合,使得血缘分析算法具有可替换性、可更新性。
一、数据血缘分析概述
数据血缘分析可以对数据表字段间关系进行追溯,进而分析上下游加工表数据发生变化时的影响。在数据编织方面,也可以通过数据血缘分析将数据中大量有价值的信息有逻辑地提取和分析。然而,对于大量的后台加工批量脚本而言,数据库数据表及字段间血缘关系仍然需要通过研究算法和生产实践来进行捕获和验证,尤其对于涉及到作业调度管理的批量服务系统而言,自动化生成数据血缘关系则可以动态记录数据表及字段间血缘关系。目前针对业务查询后台加工批量系统而言,自动化生成数据血缘关系面临以下挑战。
一是后台加工批量数量大,血缘分析周期长。
二是表加工方式多样,一些表仅需要分析来源表字段关系,一些表则需要分析多个子查询多个关联表字段关系,还有一些表需要分析包含UNION关键字的加工表字段关系。
三是SQL代码中字段所属表不够具体,基于文本级别的血缘分析对于不写或漏写表别名的来源字段,无法定位该字段的来源表归属,进而无法进行血缘分析。
四是血缘分析需要验证数据表字段的真实存在性,但数据表被删除则无法进行验证。
五是血缘分析过程需保证不影响后台加工批量服务的连续性。
二、行业实践情况
针对数据血缘分析存在的这些难题,国内诸多行业企业设计并搭建数据血缘分析系统和平台,以解决数据规模大、数据质量差、数据检测难等问题。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。