圖數據庫應用案例解析

InfoQ:各位觀衆大家好,我們現在正在2018 QCon全球軟件開發大會上海站的現場,InfoQ很榮幸地邀請到了TigerGraph資深用戶解決方案經理常新宇老師接受我們的採訪,首先請常老師簡單介紹一下自己吧。

常新宇:大家好,我是TigerGraph用戶技術解決方案的經理常新宇。我在TigerGraph工作已經有4年,從事產品的研發,客戶的解決方案,大部分主要的客戶都是經由我來提供專業的知識服務、培訓,以及解決方案的開發。

InfoQ:想問一下常老師,圖數據庫典型的應用場景和領域有哪些?

常新宇:圖數據庫的應用領域是很廣泛的,只要是反映事物之間聯繫的計算都可以通過圖數據庫來解決他們的問題,比較常用的領域,包括反欺詐,反洗錢,產品的推薦,用戶360以及產業鏈等等。

InfoQ:它與傳統的數據庫相比,在推薦系統,支持圖譜等方面有哪些優勢?

常新宇:圖數據的優勢主要在於它對數據存儲的一個形式,它打破了以往通過表格的存儲,它採用了一種邊跟節點的存儲方式,它可以大大增加計算的性能,這樣的話,當我們在做產品推薦的時候,我們可以從你的目標用戶出發,發展它的屬性、行爲,假設用戶做一些搜索、點擊的行爲,甚至說用戶是哪裏人,多大歲數,我們都可以找到它相關的用戶,這樣,通過它相關的用戶,我們看一看,這些跟它相關的用戶裏面,他們也購買了怎樣的產品,從而我們會做個產品的推薦,對於知識圖譜的應用,發揮圖數據的優勢,它可以找到你所有,我們拿一個語言分析的例子來講好了,這樣的話,每一句話呢,你可以找到你所有Key word,你所有關鍵字相似的Key word,再從這些相似的Key word出發,找到他們的,通過他們的一個主謂賓的形式找到你的賓語,這樣就是非常好的應用。

InfoQ:那您能簡單介紹一下TigerGraph圖數據庫的原理和架構嗎?

常新宇:TigerGraph是一個原生並行的圖數據庫,原生的意義就在於,它對數據庫的存儲本質上也是以一個圖的形式對數據進行存儲,那麼它的存儲是分佈式的存儲邊跟結點的數據,這樣,當我們把數據進行分區之後,當我們在執行查詢的時候,我們就可以做到說一個大規模併發的處理,我們把點跟邊的分區呢,分佈在一個機羣所有的機器上面,這樣的話,我們在計算的時候呢,我們會儘可能的利用所有硬件的資源,當我們的CPU有很多核的時候,我們就會用到所有的CPU核,當我們在一個機羣裏面有很多機器的時候,我讓所有的機器並行化處理我們的查詢。

InfoQ:GSQL文檔是否完善,對於數據分析、挖掘人員快速學習的門檻是不是太高了?

常新宇:現在在網上的時候,在網上的話,我們已經有全備的用戶文檔,而且我們也正在持續地改進它們,我們即將推出一個新版的用戶文檔,可以供用戶更簡單的使用,可以搜索,可以更方便地找到他們想要的東西,而且此外我們陸續也會在將來提供一些網上教學的小視頻和用戶社區的服務。

InfoQ:TigerGraph圖數據庫,它是如何高效存儲數據和圖結構信息的?

常新宇:TigerGraph就像我剛纔所講的,首先它有分佈式的存儲,爲了服務並行的計算,另外一點TigerGraph對數據存儲有很高的壓縮性能,那麼通過對數據的壓縮,在有限的內存裏面我們可以容納更多圖的數據,那麼在數據被壓縮之後,我們又可以有助於我們更高效的計算,更好地使用系統資源。

InfoQ:目前支持哪些圖挖掘算法?

常新宇:現在我們支持的算法涵蓋還是比較廣泛的,因爲我們的GSQL查詢語言,它實際上是可以實現你任何的邏輯,那麼所有的算法都可以通過它實現,那麼我們現在所提供的作爲內置庫的查詢的算法裏面,包括英文和一些社區發現,以及聯通圖等等,最短路徑等等的算法。

InfoQ:那在海量節點,複雜關係的圖可視化方面,TigerGraph圖數據庫做了哪些技術創新和優化?

常新宇:我們的創新在於,我們支持一個分佈式的存儲,當你的數據非常巨大的時候,我們不僅可以實現說用更多的內存來容納更多的圖以外,我們也可以增加你新的節點服務器來容納更多的圖。

InfoQ:與TigerGraph、Neo4j和Titan對比,TigerGraph有哪些優勢?

常新宇:優勢可以分爲幾點,首先是我們性能上的優勢,通過我們這個,我們做得英文,可能一個性能的比較,那麼TigerGraph在一步查詢,二步查詢,三步查詢裏面的性能快於Neo4j和Titan幾倍、甚至幾十倍,幾百倍的,這樣在加載的速度裏,TigerGraph也是兩三倍地優於Neo4j,在讀取和查詢的性能之外呢,我們的查詢語言是一個完整的查詢語言,它可以表達任何用戶的業務邏輯,然後當我們在使用像英文這樣查詢語言的話,是可以很簡單的表達我們想要匹配的模式,但是在處理更復雜的查詢的時候,它的表達能力就受限了。第三點,Graph Studio,我們的Graph Studio可以支持用戶做非常簡單的開發,只要是拖拖拽拽,在圖形界面上就可以很容易地完成一個圖的解決方案。

InfoQ:TigerGraph是單機版本的還是支持分佈式的?

常新宇:TigerGraph現在是兩者都支持,當你在下載開發者版本的話,它暫時只支持單機版本,如果你申請到一個企業版的話,通過使用一個Lessons K,這樣我們就支持一個機羣版,分佈式的存儲。

InfoQ:它還具備商業版本和社區版本?

常新宇:現在是這樣,只是說你在網站上我們有不同的地方可以申請到開發者版和商業版。

InfoQ:你們在開發過程中有遇到哪些坑嗎?

常新宇:開發過程,當然我們這個產品6年來,一路走來全部都是,雖然我們是一年之前走出英文,但是我們也是一直都在做客戶,那麼在不斷地與客戶的練兵,或者實現我們產品的這個過程當中,實際上,我們產品整個的迭代、開發都是針對我們所遇到的客戶最迫切的需求,是針對這個市場上的一個空缺,那所以說我們這個產品發展方向,就是爲了來完全是針對用戶的痛點,一點一點演化成現在的樣子。

InfoQ:那在接下來,就是未來兩年,你們是打算在技術上更大的一個升級?或者有怎麼樣的開發想法?

常新宇:我們有很多非常好的新的特性,我們想要加到我們的系統當中,比如說舉個例子好了,比如加更多種類的索引的支持,比如加更多的算法的庫,比如,總之有很多,我們都有計劃要實現。

InfoQ:謝謝,以上就是我們今天的採訪,非常感謝常老師,謝謝。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章