用途
数据溯源与血缘追踪技能用于记录数据来自哪里、如何转换、流向何处,是建立信任、满足合规和排查问题的关键。适用场景包括:合规审计(GDPR、HIPAA、SOX、CCPA);排查数据质量问题(“这条坏数据从哪来?”);理解模式变更影响(“改这个字段会破坏什么?”);构建数据目录或治理系统;追踪敏感数据(PII、PHI)在系统中的流转;响应数据删除请求(GDPR“被遗忘权”)。
主要能力
技能围绕四个层级的溯源追踪展开:
- 表级血缘:追踪哪些表流入其他表,通过元数据表记录下游表、上游表与关系类型(直接复制、连接、聚合),可查询某表依赖哪些表、哪些表依赖某表。
- 列级血缘:追踪哪些列流入哪些列,记录转换逻辑(SQL 或描述),可查询某列来源及其转换方式。
- 行级血缘:追踪单条记录的转换关系,通过血缘表记录下游表主键与上游表主键的对应,可查询某行由哪些上游行贡献。
- 值级血缘(最细粒度):在字段值层面追踪转换,通过事件日志记录实体、字段、旧值、新值、转换逻辑、来源值(JSONB)及创建者。
技能还提供影响分析能力:下游影响分析可递归查找某字段变更会影响的所有下游表与列,并给出深度层级;上游影响分析可反向追溯某指标的最初来源,仅保留叶子节点(真正的源头)。
使用方式
技能给出四种溯源采集方法:
- 代码埋点:在 ETL 代码中手动记录血缘,例如在写入下游表后,为每条上游记录插入行级血缘。
- SQL 解析:使用 sqlparse 与 sqllineage 等工具自动从 SQL 查询中提取源表与目标表,并存入血缘表。
- 数据库触发器:通过审计日志表与触发器自动捕获 INSERT、UPDATE、DELETE 操作,记录旧值、新值、操作者与时间。
- CDC(变更数据捕获):使用 Debezium 等工具流式捕获数据库变更,将变更事件存入变更日志。
技能还包含数据目录的构建方式:通过 data_catalog 与 data_catalog_columns 表登记数据集名称、类型、描述、负责人、敏感级别、是否含 PII、保留天数及列级元数据(数据类型、是否 PII、PII 类型、示例值),并支持全文检索。
适用场景
- 合规与隐私:追踪所有 PII 以支持删除请求,生成删除脚本;追踪 PII 在数据流中的传播路径。
- 数据治理:构建可搜索的数据目录,登记数据集与列级元数据。
- 影响分析:评估字段或表变更的下游影响范围,或追溯指标的上游来源。
- 可视化:使用 graphviz 生成血缘图,展示表之间的流向关系。
限制
资料中未提供该技能的具体安装命令、运行环境要求、支持的数据库类型范围、性能开销、商业化工具对比的完整内容(原文在“Commercial Tools”处截断),以及实际使用步骤的完整说明。以上内容暂未提供。