发现了一款很好用的分析SQL脚本数据流关系的工具SQLFlow

最近因做一个分析SQL语句中的数据和table/column关系的需求,因为SQL语法太过复杂分析过程会很艰难,所以搜寻这种分析SQL数据流的工具,发现了很好用的分析SQL脚本数据流关系的工具SQLFlow,下面介绍一下这款工具。

什么是SQLFlow

SQLFlow是一款专门分析SQL脚本数据流关系的工具,可通过在受控数据环境中(就是指定数据库的连接参数,连接到数据库,分析特定数据库的SQL,目前支持大部分主流数据库)分析SQL脚本来收集数据沿袭信息(数据流)。

SQLFlow的作用

我们知道,数据库中视图(View)的数据来自表(Table)或其他视图,视图中字段(Column)的数据可能来自多个表中多个字段的聚集(aggregation)。 表中的数据也可能通过ETL从外部系统中导入。对于这种从数据的源头经过各个处理环节,到达数据终点的数据链路关系称为数据血缘关系(data lineage)。SQLFlow就是通过分析各种数据库对象的定义(DDL)、DML 语句、ETL/ELT中使用的存储过程(Proceudre,Function)、 触发器(Trigger)和其他 SQL 脚本,给出完整的数据血缘关系,就是数据流关系(data lineage)

在大型数据仓库中,完整的数据血缘关系可以用来进行数据溯源、表和字段变更的影响分析、数据合规性的证明、数据质量的检查等。

比如,对于财务报表中的统计结果

  • 我们如果想知道它是由哪些子系统(采购、生产、销售等)提供的数据汇总而成的?
  • 当某个子系统(例如 销售子系统)的表和字段等数据结构发生变化时,可能会影响其它子系统吗?
  • 财务报表子系统中的表和字段是否也需要进行相应的改动?

使用SQLFlow就能很快速的解决这些问题,以可视化的图形方式把这些关系呈现在你面前,让你对组织的IT系统中的数据流动一目了然。
如下图:
发现了一款很好用的分析SQL脚本数据流关系的工具SQLFlow_第1张图片
可以看出SQL语句中所涉及到的数据的流向。

如何使用SQLFlow

  1. 通过浏览器访问SQLFlow的前端。
  2. 在浏览器中上传SQL文本或文件。
  3. 点击分析按钮后,查看数据血缘关系的可视化结果。
  4. 在浏览器中,以交互形式,查看特定表或视图的完整血缘关系图。
  5. 用 grabit 工具或 API,提交需要处理的 SQL 文件,然后在浏览器中查看结果,或在自己的代码中对返回的结果做进一步处理。

进一步了解 SQLFlow

  1. 支持多达21个主流数据库
  2. Architecture document

你可能感兴趣的:(SQLFlow,sql,数据库,大数据,spark,etl)