tft每日頭條

 > 科技

 > 數據庫表關系圖用什麼工具畫出來

數據庫表關系圖用什麼工具畫出來

科技 更新时间:2024-06-30 05:15:22

數據庫表關系圖用什麼工具畫出來(快速評估圖數據庫何時使用)1

作者丨 張三石、林曉芳

“我該用什麼技術?”一直是開發人員心中糾結的困惑點之一。

結合現實,一般開發人員大都會選擇自己熟悉的工具,而不是最佳的工具。除個人當前的知識、技術等限制因素之外,還有影響決策者的其他因素,其中包括需要同事的支持、管理層的批準以及新方案帶來的分配學習成本,或是對投入産出比未知的“恐懼”……

當然,如果以上均不是問題,你又非常願意甚至想深入地了解圖數據庫在什麼場景下能夠成為更好的工具,那麼在本篇文章中,筆者将重點進行對比介紹,以幫你評估出針對于你的業務實際,是否适合使用圖數據庫。

圖數據庫何時适合使用?當腦海中閃現出這個問題時,我們不妨先分析一下圖數據庫在什麼情況下是不适合使用的。

1 業務場景數據量少

雖然需要Join多張表,但因為數據量少,傳統關系型數據庫也可以很快地進行查詢和分析。假設你隻需查“你的朋友的朋友 ”,在這種基數比較小的情況下,僅僅需要Join兩張表,那麼采用傳統關系型數據庫即可。

從技術的角度來說,在關系型數據庫中,涉及到多表的關聯查詢會造成計算的效率指數級下降,其背後的原因即笛卡爾乘積問題的存在。舉例來說,兩張表table-join實際造成的計算的複雜度其實是乘積的關系,如果是三張表,每個表都有1萬行,10000×10000×10000,這已經是1萬億的複雜度。

2 業務場景數據僅為1步、2步鄰居

雖然業務的數據量大,但因涉及的關聯關系非常淺層,所以也可以不用圖數據庫。但如果涉及關聯到10步的鄰居(hop),那就要Join 10次、甚至更多,這也意味着對計算的要求很高,耗時變長的同時成本亦上升。相信很多開發人員經曆過這種Join到“奔潰”的時刻。

例如用關系型數據庫與圖數據庫做一個深度穿透,從第2-5層,性能的差異已經是指數級上升的。如在1層的時候,兩者可能并沒有本質區别,但從2層開始,就會出現指數級的變化。一般來說,業務人員選擇用傳統數據庫做4-5層的穿透,通常不能完成複雜查詢這個任務。

數據庫表關系圖用什麼工具畫出來(快速評估圖數據庫何時使用)2

圖:從關系型數據庫(SQL)到圖數據庫(GQL)

3 業務場景無需數據的關聯、下鑽以及查詢分析

如果隻需查單表,那就不需要使用到圖技術。比如,你隻需要設定查看遊覽過你公司官網的人數,從技術的操作上來講,隻需在表中存儲 ID、姓名和電話号碼,而無需保留來自客戶的更多信息,因此表格上的列就不會更改,這是關系型數據庫中的一個常例。而圖非常适合查集合了多元素類型且可以輕松适應不斷變化的業務場景需求的複雜場景。

如,你有很多交易數據,但對其的人員、轉賬、時間、設備、行為軌迹等關系并沒有連接、關聯或繼續深鑽和查詢分析的需求,那圖技術就不适于你的解決方案。但我們知道,很多業務場景,如銀行賬戶之間的交易行為,其本身就是一種複雜多層的嵌套關系,在這種嵌套關系網絡當中,實際上有更多的信息值得被挖掘,更多的行為亦待被抽取,這即需要圖這種具備高維數據計量的技術來解決。

數據庫表關系圖用什麼工具畫出來(快速評估圖數據庫何時使用)3

圖:圖數據庫可實現迅捷的數據關聯價值抽取

4 業務場景對實時性要求不高

如果業務場景對實時性要求不高,可以進行離線分析,不需要覆蓋深度的業務,那麼采用關系型數據庫即可。與此相區别,圖數據庫可以快速地遍曆數據,并在毫秒内檢索分析出結果。所以開發人員對于某一技術的選擇前提,仍然在于你對業務場景需求和技術優勢的研判。

比如對時效性要求非常高的電信反欺詐場景,它即需要一套能夠實時在線決策系統的解決方案,能夠處理每一筆交易的攔截,包括實時的構圖、實時的規則的運行、風控引擎規則的運行等等,且都要在20毫秒之内完成。實際上,在20毫秒之内,圖數據庫可能已經跑了幾十個QPS,因為幾十個子查詢完成了各個維度、規則的運行,從而最終構成了這筆交易是放行還是攔截的決策。

數據庫表關系圖用什麼工具畫出來(快速評估圖數據庫何時使用)4

圖:圖數據庫實時風控交易之可視化

此外,絕大多數技術認為業務沒有實時性要求的時候,恰恰是因為技術限制了業務——技術架構過去因無法實現實時計算而不得不以批處理的方式進行。在同等投入的情況下,實時性永遠比T 1系統更具價值,也更能賦能業務。

綜上所述,希望能夠為大家在評估某些業務場景中,對是否選擇圖技術有一個直觀的了解。雖然以上并不全面,但它基本涵蓋了最常見也最容易識别的情況。當然,如果圖是你評估後的選擇,希望它能幫你達到事半功倍的效果——工欲善其事必先利其器!

數據庫表關系圖用什麼工具畫出來(快速評估圖數據庫何時使用)5

圖:Gartner 5層數據模型分析

5 總結

什麼是圖數據庫?

· 圖數據庫是基于數學裡圖論的思想和算法而實現的高效處理複雜關系網絡的新型數據庫系統;

·圖數據庫善于高效處理大量的、複雜的、互聯的、多變的數據。其計算效率遠遠高于傳統的關系型數據庫;

· 圖數據庫在社交網絡、金融領域、人工智能等領域均有着廣泛的應用。

為什麼要使用圖數據庫?

· 世界本身就是由各種關系關聯而成;

· 圖本身所具備的高維的獨特能力;

· 可解釋AI(白盒化);

· 架構發展的必然;

· 企業發展的核心需求。

數據庫表關系圖用什麼工具畫出來(快速評估圖數據庫何時使用)6

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关科技资讯推荐

热门科技资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved