數據流分析軟體SQLFlow的高階模式Job任務介紹
- 2021 年 5 月 23 日
- 筆記
- data lineage, sqlflow, 血緣關係
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官方入口: //sqlflow.gudusoft.com