Skip to content

cobolbaby/pg_lineage

Repository files navigation

目录

[TOC]

背景

  1. 业务不断增多,数据流复杂,没有人能说清楚具体的上下游关系,制约了遇到问题时的排查速度
  2. 下线某个业务的时候,不知道能够下线相关的哪些操作,最后背负了一些不必要的历史包袱
  3. 为优化DW/DM模型提供数据支撑,数据治理的前提
  4. Datahub / Purview 提供的是元数据管理,核心功能除了支持检索,另一个溯源,但当前咱们的血缘关系需要手动维护,存在数据缺失,维护力度不足等问题,如果想用好该系统,自动更新血缘关系是必要的
  5. 我们的工作模式,核心的数据整理逻辑多是依据 PL/pgSQL,要想从用户自定义的 function 中获取表之间的关系,就需要解析器支持解析 function

调研参考

难点及进展

  • 支持 PL/pgSQL 解析拆解
  • 支持解析各种常见 SQL 语法
  • 将解析结果,生成一张“图”
    • 要的时候需要剔除图中部分节点,生成一张精简后的图,否则就需要解决临时表的描述问题
  • 入库 Neo4j
  • 前端可视化,支持从 Neo4j 读数据,然后生成血缘关系图
    • Neo4j 建模的时候需要考虑如何方便查询检索

核心流程图

核心三个模块:

  • SQL 历史收集
  • 语法解析模块
  • Graph 生成

About

postgresql lineage analyse

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages