文件格式转换
Feeling
    三人行,必有我师焉

SQLFlow是一个可视化的在线处理SQL对象依赖关系的工具,只需要上传你的SQL脚本,它可以自动分析SQL里的数据对象,包括database、schema、table、view、column、procedure、function、trigger等等,并且能够分析这些数据对象之间的依赖关系,并将这些依赖关系可视化展现出来。本文将描述SQLFlow的高阶模式——Job任务

 

什么是Job任务

SQLFlow的Job任务,可以支持多文件,数据库连接等复杂的方式对数据库或者SQL文件进行数据对象依赖关系分析,并且可以查看Job历史记录。

Job任务包含三种分析模式:

1. SQL文件静态分析,支持多个SQL文件,以多文件或者zip包的方式上传到服务端分析

2. 通过数据库连接获取元数据,进而分析数据库各种表、视图、存储过程、Function、Trigger等数据对象直接的依赖关系

3. SQL文件+数据库连接获取元数据方式分析,能提供更精准的SQL依赖关系分析

 

 

SQL文件静态分析

该模式和常规的SQL分析类似,属于SQL静态分析,但是用户也可以提供数据库DDL SQL,sqlflow 会通过扫描ddl语句,构建数据库元数据信息,进而能够提供分析的准确性。另外普通的SQL分析只支持300KB大小的sql分析,并且有超时限制,而Job sql文件分析,则没有这个限制。

 

通过数据库连接分析数据库数据对象依赖关系

该模式可以通过JDBC连接数据库,获取数据库的数据对象信息,以及视图、存储过程、方法、触发器等数据对象的源码,并对这些数据对象进行依赖关系分析,目前已支持的数据库包括:Oracle、Mysql、SQLServer、Progresql、Redshift、Greenplum、Snowflake、Teradata、Netezza等。

 

数据库连接+SQL文件分析

由于提供了数据库连接,SQLFlow可以获得完整的数据库元数据信息,进而能够更加准确的对SQL进行分析,这对多表Join查询分析非常有帮助,能够准确识别字段所属表

需要说明的是,数据库连接涉及到用户数据安全,需要用户授权,并且数据库密码传输是通过RSA进行加密的,确保传输过程的安全性。

 

SQLFlow官方入口: https://sqlflow.gudusoft.com

posted on 2021-05-23 22:51  cnfree  阅读(485)  评论(0编辑  收藏  举报

GitHub |  开源中国社区 |  maven仓库 |  文件格式转换