探索圖數(shù)據(jù)庫(kù)在數(shù)據(jù)資產(chǎn)可視化中的應(yīng)用
劣勢(shì):
新圖形數(shù)據(jù)庫(kù)
可視化工具缺乏(可繼承第三方工具Cytoscape、Gephi等)
2.關(guān)系型數(shù)據(jù)庫(kù)和圖數(shù)據(jù)庫(kù)的區(qū)別
與傳統(tǒng)關(guān)系型數(shù)據(jù)庫(kù)相比,圖數(shù)據(jù)庫(kù)的優(yōu)勢(shì)
優(yōu)秀的查詢性能
相對(duì)于關(guān)系型數(shù)據(jù)庫(kù),圖數(shù)據(jù)庫(kù)產(chǎn)品在設(shè)計(jì)上避免大量的join操作,提供快速的查詢。圖數(shù)據(jù)庫(kù)則天然把關(guān)聯(lián)數(shù)據(jù)連接在一起,無(wú)需耗時(shí)耗內(nèi)存的Join操作,可以保持常數(shù)級(jí)時(shí)間復(fù)雜度。
靈活的數(shù)據(jù)建模和查詢語(yǔ)言,Schema-less
多數(shù)圖數(shù)據(jù)庫(kù)沒(méi)有預(yù)設(shè)的schema,借助底層的存儲(chǔ)機(jī)制,能夠更加靈活的變更結(jié)構(gòu)
靈活的圖查詢語(yǔ)言,輕松實(shí)現(xiàn)復(fù)雜關(guān)系網(wǎng)絡(luò)的分析
靈活的數(shù)據(jù)模型可以適應(yīng)不斷變化的業(yè)務(wù)需求
易于理解,更加敏捷
相對(duì)于關(guān)系型數(shù)據(jù)庫(kù)的二維表格,圖的組織形式更接近于現(xiàn)實(shí)世界,易于理解
可以很自然的表達(dá)現(xiàn)實(shí)世界中的實(shí)體及其關(guān)聯(lián)關(guān)系(對(duì)應(yīng)圖的頂點(diǎn)及邊)
關(guān)系型數(shù)據(jù)庫(kù)在遍歷關(guān)系網(wǎng)絡(luò)并抽取信息的能力非常弱,圖數(shù)據(jù)庫(kù)則為此而生
基于圖算法提供強(qiáng)大分析能力
PageRank/社區(qū)發(fā)現(xiàn)算法等
圖數(shù)據(jù)庫(kù)的功能是傳統(tǒng)關(guān)系型數(shù)據(jù)庫(kù)的一個(gè)拓展,相比較關(guān)系型數(shù)據(jù)庫(kù)僅支持表結(jié)構(gòu),圖數(shù)據(jù)支持的圖結(jié)構(gòu)更為靈活。圖數(shù)據(jù)庫(kù)在基于圖的數(shù)據(jù)增加、刪除、查詢、修改等方面做了不同于其他數(shù)據(jù)庫(kù)的設(shè)計(jì)。在圖數(shù)據(jù)的操作抽象上,采用基于頂點(diǎn)的視角,比如頂點(diǎn)通過(guò)其所有處、邊訪問(wèn)其鄰接頂點(diǎn),這一類的操作也是圖數(shù)據(jù)庫(kù)系統(tǒng)設(shè)計(jì)的核心。
圖數(shù)據(jù)庫(kù)與關(guān)系型數(shù)據(jù)庫(kù)優(yōu)劣比對(duì)
優(yōu)勢(shì)
a) 用戶可以面向?qū)ο蟮乃伎,用戶使用的每個(gè)查詢都有顯式語(yǔ)義;
b) 用戶可以實(shí)時(shí)更新和查詢圖數(shù)據(jù)庫(kù);
c) 圖數(shù)據(jù)庫(kù)可以靈活應(yīng)對(duì)海量的關(guān)系變化,如增加刪除關(guān)系、實(shí)體等;
d) 圖數(shù)據(jù)庫(kù)有利于實(shí)時(shí)的大數(shù)據(jù)挖掘結(jié)果可視化。
劣勢(shì)
a) 不適合記錄大量基于事件的數(shù)據(jù)(例如日志條目);
b) 二進(jìn)制數(shù)據(jù)存儲(chǔ)。
c) 并發(fā)性能要求高的項(xiàng)目。
d) 目前相關(guān)圖查詢語(yǔ)言比較多,尚未有很好統(tǒng)一。
e) 圖數(shù)據(jù)庫(kù)相關(guān)的一些書籍文檔偏少,相關(guān)生態(tài)還在不斷完善。
圖數(shù)據(jù)庫(kù)在處理關(guān)聯(lián)關(guān)系上具有完全的優(yōu)勢(shì),但是在一些場(chǎng)景下,圖數(shù)據(jù)庫(kù)并不能完全代替關(guān)系型數(shù)據(jù)庫(kù)。
圖數(shù)據(jù)庫(kù)在處理關(guān)聯(lián)數(shù)據(jù)時(shí)三個(gè)技術(shù)優(yōu)勢(shì)
1、性能方面:
隨著數(shù)據(jù)量的增多和關(guān)聯(lián)深度的增加,傳統(tǒng)關(guān)系型數(shù)據(jù)庫(kù)受制于檢索時(shí)需要多個(gè)表之間連接操作,數(shù)據(jù)寫入時(shí)也需考慮外鍵約束,從而導(dǎo)致較大的額外開(kāi)銷,產(chǎn)生嚴(yán)重的性能問(wèn)題。而圖模型固有的數(shù)據(jù)索引結(jié)構(gòu),使得它的數(shù)據(jù)查詢與分析速度更快。在關(guān)聯(lián)關(guān)系的處理上,用關(guān)系型數(shù)據(jù)庫(kù)處理不可避免要用到表的JOIN操作,對(duì)性能的影響較大;而圖數(shù)據(jù)庫(kù)則是類指針直接跳轉(zhuǎn)訪問(wèn),更高效的操作關(guān)聯(lián)數(shù)據(jù),比關(guān)系型數(shù)據(jù)庫(kù)有2到4個(gè)數(shù)量級(jí)的性能提升。
2、靈活度方面:
圖數(shù)據(jù)庫(kù)有非常靈活的數(shù)據(jù)模型,使用者可以根據(jù)業(yè)務(wù)變化隨時(shí)調(diào)整數(shù)據(jù)模型,比如任意添加或刪除頂點(diǎn)、邊,擴(kuò)充或者縮小圖模型這些都可以輕松實(shí)現(xiàn),這種頻繁的 Schema 更改在關(guān)系型數(shù)據(jù)庫(kù)上不能到很好的支持,F(xiàn)實(shí)中,項(xiàng)目的進(jìn)程往往是不斷演進(jìn)的。數(shù)據(jù)的內(nèi)容甚至數(shù)據(jù)格式也會(huì)不斷發(fā)生變化。在關(guān)系型數(shù)據(jù)庫(kù)中,這意味著表結(jié)構(gòu)的變化,或者多個(gè)新表的建立,對(duì)源數(shù)據(jù)的改動(dòng)非常大。而在圖數(shù)據(jù)庫(kù)里,僅需添加新的頂點(diǎn)、邊、屬性,設(shè)置為對(duì)應(yīng)的類型即可。從本質(zhì)上說(shuō),一個(gè)表代表一個(gè)類型的數(shù)據(jù),一個(gè)頂點(diǎn)代表一個(gè)特定的數(shù)據(jù),意味著關(guān)系數(shù)據(jù)庫(kù)更關(guān)注數(shù)據(jù)的類型,而圖數(shù)據(jù)庫(kù)更關(guān)注數(shù)據(jù)的個(gè)體,識(shí)別其關(guān)聯(lián)關(guān)系。
3、敏捷度方面:
圖數(shù)據(jù)庫(kù)的圖模型非常直觀,支持測(cè)試驅(qū)動(dòng)開(kāi)發(fā)模式,每次構(gòu)建時(shí)可進(jìn)行功能測(cè)試和性能測(cè)試,符合當(dāng)今最流行的敏捷開(kāi)發(fā)需求,對(duì)于提高生產(chǎn)和交付效率也有一定幫助。使用圖(或者網(wǎng))的方式來(lái)表達(dá)現(xiàn)實(shí)世界的關(guān)系更加直接、自然,在萬(wàn)物互聯(lián)的物聯(lián)網(wǎng)時(shí)代尤為突出。如果采用關(guān)系型數(shù)據(jù),先將人物建表,再將關(guān)系建表,最后將數(shù)據(jù)進(jìn)行映射,需要高度的抽象思維。在圖數(shù)據(jù)上進(jìn)行分析查詢時(shí),也可以直觀地通過(guò)點(diǎn)邊連接的拓?fù),交互式找到想要的?shù)據(jù),不需要具備任何的專業(yè)知識(shí)。
傳統(tǒng)關(guān)系數(shù)據(jù)庫(kù)的性能問(wèn)題
性能問(wèn)題的本質(zhì)在于數(shù)據(jù)分析面臨的數(shù)據(jù)量,假如只查詢幾十個(gè)節(jié)點(diǎn)或者更少的內(nèi)容,這種操作是完全不需要考慮數(shù)據(jù)庫(kù)性能優(yōu)化的,但當(dāng)節(jié)點(diǎn)數(shù)據(jù)從幾百個(gè)變成幾百萬(wàn)個(gè)甚至幾千萬(wàn)個(gè)后,數(shù)據(jù)庫(kù)性能就成為了整個(gè)產(chǎn)品設(shè)計(jì)的過(guò)程中最需考慮的因素之一。
在數(shù)據(jù)量這么大的場(chǎng)景中,使用傳統(tǒng) SQL 會(huì)產(chǎn)生很大的性能問(wèn)題,原因主要有兩個(gè):
1、大量 JOIN 操作帶來(lái)的開(kāi)銷:
之前的查詢語(yǔ)句使用了大量的 JOIN 操作來(lái)找到需要的結(jié)果。而大量的 JOIN 操作在數(shù)據(jù)量很大時(shí)會(huì)有巨大的性能損失,因?yàn)閿?shù)據(jù)本身是被存放在指定的地方,查詢本身只需要用到部分?jǐn)?shù)據(jù),但是 JOIN 操作本身會(huì)遍歷整個(gè)數(shù)據(jù)庫(kù),這樣就會(huì)導(dǎo)致查詢效率低到讓人無(wú)法接受。
2、反向查詢帶來(lái)的開(kāi)銷:
查詢單個(gè)經(jīng)理的下屬不需要多少開(kāi)銷,但是如果我們要去反向查詢一個(gè)員工的老板,使用表結(jié)構(gòu),開(kāi)銷就會(huì)變得非常大。表結(jié)構(gòu)設(shè)計(jì)得不合理,會(huì)對(duì)后續(xù)的分析、推薦系統(tǒng)產(chǎn)生性能上的影響。比如,當(dāng)關(guān)系從_老板 -> 員工 變成 _用戶 -> 產(chǎn)品,如果不支持反向查詢,推薦系統(tǒng)的實(shí)時(shí)性就會(huì)大打折扣,進(jìn)而帶來(lái)經(jīng)濟(jì)損失。
圖數(shù)據(jù)庫(kù)和關(guān)系型數(shù)據(jù)庫(kù)性能比較
如圖所見(jiàn),傳統(tǒng)關(guān)系型數(shù)據(jù)庫(kù)可以非常好地處理深度為2和3的查詢。join操作在關(guān)系型數(shù)據(jù)庫(kù)世界中很常見(jiàn),大多數(shù)數(shù)據(jù)庫(kù)都是如此設(shè)計(jì),在某些特定列上使用索引相關(guān)也能幫助最大化join操作的性能。然而,當(dāng)深度達(dá)到4和5時(shí),您會(huì)看到性能顯著下降:一個(gè)涉及4個(gè)join的查詢需要10秒以上才能完成,而在深度為5時(shí)更花了太長(zhǎng)時(shí)間,超過(guò)一分半鐘,雖然計(jì)數(shù)結(jié)果沒(méi)有改變。這恰恰說(shuō)明了在對(duì)圖結(jié)構(gòu)數(shù)據(jù)建模時(shí)關(guān)系型數(shù)據(jù)庫(kù)的局限性:深度圖遍歷需要多個(gè)join操作,關(guān)系數(shù)據(jù)庫(kù)通常并不擅長(zhǎng)這種處理。
但是圖數(shù)據(jù)庫(kù),可以看見(jiàn),除了最簡(jiǎn)單的查詢,圖數(shù)據(jù)庫(kù)在其他查詢的性能表現(xiàn)上都是明顯更好的那一個(gè)。只有在尋找朋友的朋友時(shí)(深度為2),關(guān)系型數(shù)據(jù)庫(kù)性能可與圖數(shù)據(jù)庫(kù)遍歷的性能相媲美。在深度為3時(shí)的遍歷比關(guān)系型數(shù)據(jù)庫(kù)快4倍。在深度為4,結(jié)果則要好五個(gè)數(shù)量級(jí)。深度為5時(shí),圖數(shù)據(jù)庫(kù)結(jié)果的速度甚至要比關(guān)系型數(shù)據(jù)庫(kù)要快1000萬(wàn)倍。關(guān)系型數(shù)據(jù)庫(kù)查詢性能下降如此之快正是由于,join操作需要對(duì)全部數(shù)據(jù)進(jìn)行笛卡爾積運(yùn)算,其中大部分的數(shù)據(jù)我們并不需要。
3.探索圖數(shù)據(jù)庫(kù)在數(shù)據(jù)資產(chǎn)可視化中的應(yīng)用
當(dāng)前這種任務(wù)擴(kuò)展方式僅僅只是給開(kāi)發(fā)人員提供了便利,但是用戶仍然很難擴(kuò)展自己的任務(wù),因此后續(xù)會(huì)考慮將任務(wù)擴(kuò)展的能力做成平臺(tái)功能的一部分提供給用戶使用。
我們以Apache Atlas為例,探索圖數(shù)據(jù)庫(kù)在數(shù)據(jù)資產(chǎn)可視化方面的應(yīng)用。
Apache Atlas是Hadoop的數(shù)據(jù)治理和元數(shù)據(jù)框架。是一組可擴(kuò)展和可擴(kuò)展的核心基礎(chǔ)治理服務(wù),使企業(yè)能夠有效,高效地滿足Hadoop中的合規(guī)性要求,并允許與整個(gè)企業(yè)數(shù)據(jù)生態(tài)系統(tǒng)集成。
發(fā)表評(píng)論
請(qǐng)輸入評(píng)論內(nèi)容...
請(qǐng)輸入評(píng)論/評(píng)論長(zhǎng)度6~500個(gè)字
最新活動(dòng)更多
-
10月31日立即下載>> 【限時(shí)免費(fèi)下載】TE暖通空調(diào)系統(tǒng)高效可靠的組件解決方案
-
即日-11.13立即報(bào)名>>> 【在線會(huì)議】多物理場(chǎng)仿真助跑新能源汽車
-
11月28日立即報(bào)名>>> 2024工程師系列—工業(yè)電子技術(shù)在線會(huì)議
-
12月19日立即報(bào)名>> 【線下會(huì)議】OFweek 2024(第九屆)物聯(lián)網(wǎng)產(chǎn)業(yè)大會(huì)
-
即日-12.26火熱報(bào)名中>> OFweek2024中國(guó)智造CIO在線峰會(huì)
-
即日-2025.8.1立即下載>> 《2024智能制造產(chǎn)業(yè)高端化、智能化、綠色化發(fā)展藍(lán)皮書》
推薦專題
- 1 【一周車話】沒(méi)有方向盤和踏板的車,你敢坐嗎?
- 2 特斯拉發(fā)布無(wú)人駕駛車,還未迎來(lái)“Chatgpt時(shí)刻”
- 3 特斯拉股價(jià)大跌15%:Robotaxi離落地還差一個(gè)蘿卜快跑
- 4 馬斯克給的“驚喜”夠嗎?
- 5 海信給AI電視打樣,12大AI智能體全面升級(jí)大屏體驗(yàn)
- 6 打完“價(jià)格戰(zhàn)”,大模型還要比什么?
- 7 馬斯克致敬“國(guó)產(chǎn)蘿卜”?
- 8 神經(jīng)網(wǎng)絡(luò),誰(shuí)是盈利最強(qiáng)企業(yè)?
- 9 比蘋果偉大100倍!真正改寫人類歷史的智能產(chǎn)品降臨
- 10 諾獎(jiǎng)進(jìn)入“AI時(shí)代”,人類何去何從?
- 高級(jí)軟件工程師 廣東省/深圳市
- 自動(dòng)化高級(jí)工程師 廣東省/深圳市
- 光器件研發(fā)工程師 福建省/福州市
- 銷售總監(jiān)(光器件) 北京市/海淀區(qū)
- 激光器高級(jí)銷售經(jīng)理 上海市/虹口區(qū)
- 光器件物理工程師 北京市/海淀區(qū)
- 激光研發(fā)工程師 北京市/昌平區(qū)
- 技術(shù)專家 廣東省/江門市
- 封裝工程師 北京市/海淀區(qū)
- 結(jié)構(gòu)工程師 廣東省/深圳市