一款好用的数据血缘关系在线工具--SQLFlow
l 數據血緣關系(data lineage)
數據血緣屬于數據治理中的一個概念,是在數據溯源的過程中找到相關數據之間的聯系,它是一個邏輯概念。數據治理中經常提到血緣分析,血緣分析是保證數據融合的一個手段,通過血緣分析實現數據融合處理的可追溯。數據血緣是指數據產生的鏈路,直白點說,就是我們這個數據是怎么來的,經過了哪些過程和階段。
l SQLFlow是什么?
SQLFlow通過分析各種數據庫對象定義(DDL)語句、數據操作(DML) 語句、ETL/ELT中使用的存儲過程(Proceudre,Function)、 觸發器(Trigger)和其他 SQL 腳本,給出完整的數據血緣關系。它不僅可以展現對象間的關系,也可以幫你提取表的字段。
參考鏈接:https://sqlflow.gudusoft.com/?utm_source=cnblogs&utm_medium=blog&utm_campaign=my-nick-name#/
l 示例說明
新建表
CREATE TABLE Test1(ID INT,NAME VARCHAR(36));
CREATE TABLE Test2(ID INT,NAME VARCHAR(36));
新建視圖
CREATE VIEW v_test1 AS SELECT A.NAME FROM Test1 A;
CREATE VIEW v_test2 AS SELECT A.* FROM Test1 A,Test2 B WHERE A.ID=B.ID;
CREATE VIEW v_test3 AS SELECT A.*,b.* FROM Test1 A,Test2 B WHERE A.ID=B.ID;
默認情況下僅顯示Dataflow,即數據流,可以從圖中清晰的看到每個視圖中的具體列是由哪里流過來的。
l 視圖v_test1僅包含來源于Test1的name列;
l 視圖v_test2包含來源于Test1的ID,name列,雖在視圖定義中和Test2進行了關聯,但是由于數據全部來源于Test1,所以在Dataflow中并不體現;
l 視圖v_test3包含來源于Test1和Test2中所有列。
看到此處,您可能疑惑,視圖v_test2展現的雖然只是來源于Test1的數據,但是如果您想了解Test1和Test2是否有關聯邏輯,該如何做?
打開【Setting】-【impact】選項,可以看到具體的表間的邏輯關系。
說明:
l SQLFlow數據流使用【實線】顯示,邏輯關系使用【虛線】顯示;
l 此時的關系集合中多了一個偽列(PseudoRows),用于表示該數據集合是由多表關聯而來。
此時您能夠更加清晰的看到數據血緣關系以及各原表間的關聯關系。
總結
以上是生活随笔為你收集整理的一款好用的数据血缘关系在线工具--SQLFlow的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 各大国有银行2018跨行取款手续费多少?
- 下一篇: 命令执行漏洞利用方法