数据架构之数据血缘:数据从哪里来,到哪里去

news2025/1/18 4:37:58

为了直观的感受数据血缘,先从网上找了两张典型的数据血缘的图。下图特点是按照数据仓库数据管理模型给出了基于表(实体)的数据血缘图。

在这里插入图片描述
此图是截取Solidatus软件生成的数据血缘图,该图与上图的区别在于给出了基于属性的数据血缘图,粒度更细。

在这里插入图片描述

什么是数据血缘

从上述两个图可以直观的感受数据血缘的本质是什么,数据血缘(Data Lineage)即数据的来龙去脉,记录数据如何转化而来,流向何方,用可视化技术细粒度的刻画了数据从源流向终端用户的路径,帮助数据科学家洞察数据,发现数据错误的根源。

数据血缘和数据起源(Data Provenance)含义相似,主要区别在于数据起源是面向业务人员,在数据更高层级揭示了数据的产生,而数据血缘更加细粒度,在业务层级和技术层级提供了一个更细粒度的视角。

数据血缘号称数据的GPS,在数据治理中隶属于元数据管理的范畴。数据血缘在数据追踪上有三种粒度,分别是实体级别、字段级别和记录级别:

粒度级别说明实现的复杂性使用场景
实体关系型数据库管理系统 (RDBMS) 的表、 NoSQL 数据库的实体或 Pub/Sub 中的主题数据治理依赖项识别
字段或列RDBMS 中的表列或 NoSQL 实体的 字段数据治理依赖项识别
Record保存在 RDBMS 表的字段或 Pub/Sub 主题消息中的实际数据值很高转换调试数据取证

应用场景

数据血缘的典型应用场景如下:

  1. 识别问题根源:例如在BI中销售数据和财务数据对不上,数据分析人员可以通过数据血缘分析数据流向,查询每个节点的转换,进而发现数据不一致的问题根源。
  2. 系统升级或迁移:当数据迁移时通过数据血缘可以了解到哪些数据集合是重要的,哪些数据集合是废弃的,帮助迁移人员把工作重心放在重要的数据上,避免在废弃或者业务上价值不大的数据上浪费时间。
  3. 影响分析:数据的改变会影响哪些指标哪些方面,通过数据血缘图可以一目了然。

在这里插入图片描述

数据血缘构建方案

概念性数据血缘系统需要三个逻辑组件,如下所示:

  • 该提取系统(Ingestion System)用于监控数据仓库的操作日志,以执行操作。提取系统监控数据仓库或数据库系统中的操作日志并检索日志。系统还会将日志监控功能与日志使用者分开。Google Cloud 中的此类系统包括 Debezium、BinLog 监控系统。
  • 数据血缘提取引擎(Lineage Extraction Engine)可解析日志条目以提取血缘信息,例如数据源或任何已应用的转换。血缘提取引擎标识源数据系统,并使用相应的提供程序解析操作日志。数据库或数据仓库拥有具备内置函数和自定义函数的自有查询语法。使用数据系统专用语法和架构提供程序可正确解析操作或执行查询。
  • 血缘存储(Lineage Store)用于保存血缘数据,并使其可用于分析、治理、报告或其他企业需求。您可以将数据库用于适当的分片或分区,从而轻松检索数据。

如下图所示,血缘提取流程包含以下事件:

  1. 血缘提取流程首先会确定用于通过查询生成输出或目标实体的来源实体。识别过程是通过解析转换指令完成的,例如使用语法提供程序在数据仓库系统中解析 SQL 语句。
  2. 解析查询需要查询的来源实体的架构信息。来源实体架构是使用架构提供程序检索的。
  3. 调用语法提供方以识别输出列与源列之间的关系以及应用于每个输出列的函数和转换列表。
    在这里插入图片描述

参考文章

  1. What Is Data Lineage? Why It’s Important to Track Data Flow
  2. 数据仓库的数据血缘系统
  3. 原文:数据血缘

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/144858.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【纯净题目版】笔试题-2023禾赛-FPGA

题目背景 笔试时间:2022.06.22应聘岗位:FPGA开发工程师 题目评价 难易程度:★★☆☆☆知识覆盖:★☆☆☆☆超纲范围:☆☆☆☆☆值得一刷:★☆☆☆☆ 文章目录1. 使用最少的电路实现二分频,给出…

ubuntu20.04 arm-linux-gnueabihf交叉编译opencv4.7.0 与opencv-contrib-4.7.0

安装交叉编译工具链编译的目标硬件是RV1126,编译工具链为32位的arm-linux-gnueabihf,本次使用的是8.3版本,可在Downloads | GNU-A Downloads – Arm Developer进行下载。下载后,解压到自己的安装目录,比如解压到/opt目…

Seata客户端

一个调用链中的所有微服务都是seata的客户端,都必须走下面的步骤 第一步:创建undo_log表 下载地址:https://github.com/seata/seata/tree/develop/script/client/at/db -- for AT mode you must to init this sql for you business databa…

海南三亚游记2022-2023跨年

文章目录1、概述2、交通2.1、广州飞三亚2.2、做高铁,三亚到海口2.3、海口飞广州3、风景3.1、吉阳区3.2、天涯区4、美食5、住宿6、补充2014年海南游记1、概述 2022-12-30~2023-01-04,海南三亚游记,旨在记录攻略 之前已经去过海南2次&#xff…

数据结构的相关概念

基本概念和术语 数据是对客观信息的一种描述,它是由能被计算机识别与处理的数值、字符等符号构成的集合。 数据元素是数据的基本单位,在计算机程序中通常作为一个整体进行考虑和处理。 关键码值的是数据元素中能起标识作用的数据项。 关系指的是集合…

MFC/WIN32程序美化之使用skinH更换皮肤

官网 https://www.skinsharp.com/htdocs/index.htm 使用比较简单 使用到skinH.dll,这是程序运行的动态支撑库,还有skinH.lib文件,编译时用到的。还有SkinH.h头文件,里面包含了skinH.dll的库函数和功能注释、宏定义 使用VS创建一个WIN32项目 这就是默认的窗体效果了 加了…

SpringBoot AOP

SpringBoot AOP 目录SpringBoot AOP写法一: Before("execution(* com.bjpowernode.springboot07.javabean.Man.eat(..))")一、AOP开发1.1 概述1.2使用方法1.3创建项目并添加maven依赖1.4 创建Javabean测试类1.5 创建切面1.6 测试类1.7 测试结果1.8 结论1.…

pytest学习和使用16-HTML报告如何生成?(pytest-html)

16-HTML报告如何生成?(pytest-html)1 插件介绍2 pytest-html安装3 生成报告3.1 插件执行方式3.2 执行效果3.3 指定报告生成的路径4 合并css5 报告中的行显示设置6 报告增强6.1 自定义css6.2 报告标题6.3 环境6.4 其他摘要信息6.5 Extra内容6.…

198. 打家劫舍

198. 打家劫舍 你是一个专业的小偷,计划偷窃沿街的房屋。每间房内都藏有一定的现金,影响你偷窃的唯一制约因素就是相邻的房屋装有相互连通的防盗系统,如果两间相邻的房屋在同一晚上被小偷闯入,系统会自动报警。 给定一个代表每个…

MySQL调优-Innodb引擎SQL执行的BufferPool缓存机制

目录 Innodb引擎SQL执行的BufferPool缓存机制 为什么Mysql不能直接更新磁盘上的数据而且设置这么一套复杂的机制来执行SQL了? 为什么直接更新磁盘是随机读写?为什么读写磁盘的日志文件是顺序读写? 为什么不直接读写磁盘而是选择读写Buffer…

【吐槽贴】项目经理的进阶日常:项目要收尾了,我却慌了

最近忙着写年终总结,还以为这次的年终奖稳了,结果犯了一个致命的错误,年终奖差点都没了。我负责的一个项目由于客户方比较着急,计划在过年放假前要完成交付,项目进度都完成的差不多了。现在还剩近10天的工期&#xff0…

2022尚硅谷SSM框架跟学(二)MyBatis基础二

2022尚硅谷SSM框架跟学二MyBatis基础二6.MyBatis的各种查询功能6.1查询一个实体类对象6.2查询一个list集合6.3查询单个数据MyBatis别名对应文档6.4查询一条数据为map集合6.5查询多条数据为map集合(1)方式一(2)方式二7.特殊SQL的执行7.1模糊查询7.2批量删除7.3动态设置表名7.4添…

SpringBoot+VUE前后端分离项目学习笔记 - 【16 SpringBoot集成JWT】

JWT简介 JWT是json web token缩写。用点号分为三段,分别表示头、信息和签名。可以使用在RESTFUL接口定义, 也可以使用在普通的web。它将用户信息加密到token里,服务器不保存任何用户信息。服务器通过密钥验证token的正确性,判断是…

模板的基本概念

模板函数模板泛型编程基本概念函数模板格式函数模板的实现函数模板的实例化类模板类模板格式类模板的实例化模板参数的匹配原则复数的相加函数模板 泛型编程 泛型编程是编写与类型无关的通用代码,是代码复用的一种手段。模板是泛型编程的基础。 基本概念 函数模…

【自学C++】C++命名空间引入

C命名空间引入 C命名空间引入教程 C 中的命名空间的引入,我们通常使用 using 语句后面加上命名空间名即可。 C命名空间引入详解 语法 using namespace namespaceName参数 参数描述using引入命名空间使用的关键字。namespace引入命名空间使用的关键字。namespa…

数影周报:2亿Twitter用户资料仅售2美元,微盟集团将筹约15.9亿港元

本周看点:黑客以2美元出售2亿Twitter用户个人资料;Twitter 第三轮裁员;京东科技成立京东云事业部;TikTok Shop越南收入赶超Lazada;微盟集团将筹资约15.9亿港元......数据安全那些事黑客以2美元出售2亿Twitter用户资料近…

2023年山东最新建筑施工架子工(建筑特种作业)模拟题库及答案

百分百题库提供特种工(架子工)考试试题、特种工(架子工)考试预测题、特种工(架子工)考试真题、特种工(架子工)证考试题库等,提供在线做题刷题,在线模拟考试,助…

mosquitto使用与openssl证书配置

开发环境:ubuntu18.04 64bitmqtt客户端测试工具:mqtt.fx 1.7.11.安装# 引入库 sudo apt-add-repository ppa:mosquitto-dev/mosquitto-ppa sudo apt-get update # 安装 sudo apt-get install mosquitto #安装客户端 sudo apt-get install mosquitto-clie…

《NDT-LOAM: A Real-Time Lidar Odometry andMapping With Weighted NDT and LFA》深大学生

Abstract激光雷达同时定位和建图(Lidar-SLAM)从激光雷达上处理点云,并完成定位和建图。激光激光通常分为前端里程计和后端优化,可以并行运行以提高计算效率。前端里程计通过处理点云来估计激光雷达的运动,在点云配准中…

python自学之《21天学通Python》(6)

第9章 迭代器、生成器与装饰器 迭代器、生成器与装饰器是Python语言中常用的语法形式。 迭代器的使用简化了循环程序的代码并可以节约内存,生成器的使用也可以节约大量的内存,特别是需要生成大量序列的对象时。迭代器是一种可以从其中连续迭代的一个容器…