云优采集接口(什么是全链路数据血缘(DataLineage)或者数据之间会形成各式各样的关系)

优采云 发布时间: 2022-02-07 14:16

  云优采集接口(什么是全链路数据血缘(DataLineage)或者数据之间会形成各式各样的关系)

  什么是全链路数据沿袭

  根据维基百科,数据沿袭也称为数据来源或数据谱系。它通常被定义为一个生命周期,主要包括数据来自哪里以及随着时间的推移而移动到哪里。

  数据血脉是数据资产的重要组成部分。用于分析表和字段从数据源到当前表的血统路径,血统字段之间的关系是否满足,注意数据的一致性和合理的表设计。它描述了数据从采集、生产到服务全链路的变化和存在形式。

  全链路数据血统是指在数据的整个生命周期中,数据与数据之间形成的各种关系,贯穿整个数据链路,如图1所示。

  

  图1 全链路数据沿袭

  血缘关系建设计划调查血缘关系分析

  目前,数据沿袭主要是通过解析SQL语句来发现上下游调用栈等信息。主流解决方案可以分为两种:

  上述两类方案各有优缺点,对比见表1。

  表1 数据沿袭分析方案

  

  血统储存

  与传统的关系型数据库和 ES 工具相比,图数据库在血统信息的查询和分析方*敏*感*词*有以下优势:

  1、更好地存储和分析复杂关系

  数据沿袭描绘了数据的完整生命周期,具有数据链路长的特点。传统的关系型数据库和ES等,往往只反映当前状态或短路径中的状态,在长链接血缘关系的检索上存在明显劣势。图数据库有效组织复杂的关系,通过点边结构将血脉的上下游完美连接,从而实现更长链路血脉的存储、检索和分析。

  2、可以有效利用数据之间的相关性,实现更准确可靠的决策

  图结构的特点对业务具有重要的指导意义。例如,图的密度可以反映业务数据关联的紧密程度,有助于识别高I/O或高吞吐的服务,识别链路瓶颈;图数据之间的共现可以反映血缘关系中的共生关系,辅助血缘关系重要性的划分;图形可视化帮助业务人员更清晰地了解血缘动态。

  与开源图数据库 Neo4j 和 Nebula Graph 相比,华为云 GES 具有以下优势:

  华为云GES的基准数据如表2所示。

  表2 华为云GES基准测试数据

  

  满帮数据血脉的实践 满帮数据血脉的特点

  满帮数据血脉具有以下特点:

  数据沿袭模型

  定义丰富的血缘关系模型有助于更真实有效地展示血缘关系。满族血统模型主要包括实体和关系,其中实体主要涵盖任务、库、表、视图、字段、函数等实体。实体和关系的组合显示了从一个表/列到其他表/列的沿袭,包括表 INSERT INTO\CTAS 之间的依赖关系,字段 PROJECTION\PREDICATE 之间的依赖关系。

  使用完整的数据血缘关系模型可以展示血缘关系的全貌,但存在以下问题:一是完整的血缘关系模型往往收录数千个实体血缘关系,在前端难以展示;其次,过多的冗余信息可能导致问题实体定位困难。为了解决以上问题,满帮在数据血缘模型的基础上,开发了多层次血缘关系模型,主要包括完整血缘关系模型和高层次血缘关系模型。完整数据沿袭模型是所有其他高级沿袭模型的基础,高级沿袭模型通过省略或聚合模型中的某些关系和实体来扩展完整沿袭。在实际业务中,

  总体架构规划

  满帮全链路数据血脉实现了血脉数据数据采集从开始到最终数据服务的全链路,有助于高效定位问题,快速评估影响。全链路血脉架构如图2所示,主要包括5层:

  

  图2 满帮全链路血脉架构

  血脉采集层

  满帮血脉采集层目前涵盖满帮内部数据、离线调度、实时计算等平台上的SQL任务和Spark\Flink任务。血缘关系包括系统血缘关系、职务血缘关系、图书馆血缘关系、表级血缘关系、字段血缘关系,指向数据的上游源头,溯源上游。通过血缘关系,清晰展示数据处理和处理的逻辑脉络,快速定位异常数据域的影响范围,准确勾画数据回溯的最小范围,降低理解数据和解决的成本数据问题。具体来说:

  为了方便采集和数据血统的处理,统一了各个组件的血统格式,主要包括输入输出表、字段等信息。

  

  血缘处理层

  血缘处理层主要由血缘实时处理模块、血缘存储接口模块、血缘管理模块组成。

  为了满足近实时血脉查询的需求,满帮采用Flink作为血脉实时处理模块的核心组件。通过对上游采集接收到的血脉信息进行实时分析处理,可以快速写入图数据库和Hive。该模块支持批量删除\查询\更新和模糊删除\查询\更新功能。

  血脉存储接口模块主要开发快速编写图数据库和Hive的相关接口。

  血缘管理模块主要用于血缘信息的维护管理和统计分析。

  血脉贮藏层

  血脉存储层使用华为云图引擎GES服务作为存储引擎。GES采用华为自研EYWA内核,是一种基于“关系”的“图”结构化数据查询分析服务。GES 目前提供多种原生接口,包括批量读写点、边,以及各种路径查询算法。

  全链路全链路数据沿袭场景下,图数据操作主要包括读写操作。写入操作主要是将解析和格式化后的血线数据实时写入图数据库。另一种写操作主要是向应用端提供写请求,如表\字段安全级别标记。读取操作主要来自自满帮内部的各种应用场景,主要涵盖短距离、CRM、客服、金融等。

  血脉接口层和血脉应用层

  血缘接口层主要连接血缘应用层的各种服务,通过开放血缘RPC接口,为各个应用服务提供丰富的接口选项。

  目前,满族血脉信息主要应用于数据资产、数据治理、数据安全、数据质量等各种场景。

  1、数据资产

  满帮数据资产管理平台提供资产全景、数据地图、数据质量、数据安全等功能,如图4所示。数据地图支持以扇形图的形式直观展示各类数据资产的占比,图表,并通过不同层次的图形进行精细化控制,满足业务中不同应用场景的数据查询和辅助分析需求。

  

  图 4 满帮数据资产管理平台

  数据图还支持显示血统信息,分析任务之间的数据流向,如图5所示。目前数据图支持显示任务、库、表、字段级血缘关系。

  

  图5 满帮资料图

  2、数据治理

  数据治理是指在数据的整个生命周期内管理数据的原则性方法,其目标是确保数据安全、及时、准确、可用和易于使用。满帮数据治理主要围绕“指标明确、质量规范”和“资源合理、节约严格”的原则进行。

  如图6所示,满帮数据治理任务对库、表、字段的血脉信息进行分析,从价值密度、访问频率、使用方式、时效度等维度进行评价,从而对数据的流行度进行评分,热数据和热数据。,冷数据和冰数据。通过血缘信息查看离线数仓中某个任务链接的上下游任务依赖,同时分析该链接上表的冷热使用情况,对ods、dwd、cut、merge等相关任务和SQL进行优化低价值表,缩短数据流ETL环节,从而降低维护成本,提高数据价值。

  

  图 6 满帮数据治理

  3、数据质量

  数据质量旨在高效监控各类作业的运行状态,洞察关键信息,形成事前判断、事中监控、事后跟踪的闭环质量管理流程。在满帮数据质量监管平台建设中,面临以下问题:

  针对以上问题,满帮基于全链路数据血统,从以下几个方面提升数据全生命周期的数据质量:

  4、数据安全

  随着国家在数据流通过程中对数据安全的重视程度越来越高,如果不能有效识别安全级别高的数据,可能会出现安全合规风险。为此,满帮推出了资产安全打标平台,支持通过“自动+人工”打标实现资产安全分级打标,但存在打标覆盖率低、准确率低等问题。

  基于全链路的血缘关系,根据不同的数据安全等级,先用血缘关系标注接口标注不同的表字段,然后识别标注字段的上下游血缘关系,然后自动标注安全等级。如图7所示,city_name字段通过血统标记平台安全标记,等级为L3。根据血脉关系,对下游血脉链路的字段进行自动染色和标记,实现自动“染色”。

  

  图 7 数据安全

  未来展望

  经过探索和实践,满帮已经基本实现了基于图数据库相关技术的全链路数据血统的构建,并取得了一定的成果。未来,我们将在以下几个方面进行更深入的探索,进一步完善我们的业务:

  1、目前血脉采集主要通过SQL、自动任务解析、人工排序等方式提高血脉覆盖率。目前覆盖率已达到95%以上。未来将探索人工智能相关的方法,根据数据集之间的依赖关系计算数据相似度,以提高覆盖率。

  2、Impala bloodline采集 方法链接长,依赖Filebeat。未来我们会逐步对接使用SQL语法解析AST的方案,实现解析规范化。

  3、目前血缘维度不支持功能层。

  4、开发全链路血脉开放平台,快速对接应用方,为应用方提供血脉服务。

  参考

  [1]

  [2]

  [3]

  点击关注,第一时间了解华为云新技术~

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线