受訪者 | 邵宗文,騰訊云圖數據庫產品經理
記者| 夕顏
出品 | CSDN(ID:CSDNnews)
AI 技術生態論」 人物訪談欄目是 CSDN 發起的百萬人學 AI 倡議下的重要組成部分。通過對 AI 生態頂級大咖、創業者、行業 KOL 的訪談,反映其對于行業的思考、未來趨勢判斷、技術實踐,以及成長經歷。
本文為 「AI 技術生態論」系列訪談第三十四期。
百萬人學 AI 你也有份!今日起,點擊閱讀原文報名「2020 AI開發者萬人大會」,使用優惠碼“AIP211”,即可免費獲得價值299元的大會在線直播門票一張。限量100張,先到先得。
近日,又一國產數據庫誕生!這次是騰訊家推出的分布式圖數據庫產品——騰訊云數圖 TGDB(Tencent Graph Database)。
據稱,這款數據庫能夠實現萬億級關聯關系數據實時查詢,高效處理異構數據,支持實時圖計算。從理論上說,該圖數據庫的集群節點規模可以達到萬臺以上,在不同的公開數據集下查詢速度比世界市場占有率最高的 Neo4j 快 20-150 倍!
在近年,圖數據庫逐漸火爆起來,據 Gartner 在《十大數據分析技術趨勢》預測,2012 年至 2022 年,全球圖處理及圖數據庫的應用都將以每年 100% 的速度迅猛增長,DB Engines 近 7 年數據庫流行趨勢也顯示,圖數據庫相較其他主流數據庫受歡迎程度遙遙領先。
此前,業內主流圖數據庫產品主要為國外廠商,國內金融、電商、能源等重點行業只能依賴于國外圖數據庫產品。在此背景下,關于我們什麼時候能擁有真正能滿足國內企業需求的強大國產數據庫,成為大家關心的熱門話題。好在隨著大數據,尤其是圖數據的重要性被更多廠商意識到之后,國內大小廠也相繼推出了自己的圖數據庫產品,試圖打破國外技術廠商的壟斷,包括大廠阿里云的圖數據庫 GDB,螞蟻金服自主研發的分布式圖數據庫 GeaBase,華為的 GraphBase,小企業如杭州歐若數網科技也有自己的圖數據產品 Nebula Graph,維加星信息科技的TigerGraph 等。
按照理論,從技術適配性、安全性、成本上來說,國產數據庫產品應該更加符合國內企業的需求和信息化的節奏。事實上是這樣嗎?我們今天的關注重點,是與已經發布的圖數據庫產品和國外數據庫產品相比,騰訊云數圖新發布的這個 TGDB 有哪些特別之處?是否比它們更有優勢?為此,CSDN 邀請到騰訊云圖數據庫產品經理邵宗文,來從研發背景到上層設計,全面評估一下這個圖數據庫產品是否名符其實。
TGDB 的研發背景
在 5G、物聯網、人工智能等數字化技術的推動下,企業數據呈爆發式增長,數據間的關聯復雜度也隨之劇增。傳統關系型數據庫在處理復雜關聯數據時運算效率較低,且難以幫助企業進一步挖掘海量關系數據背后的價值。為了更好地利用數據間的連接,企業需要一種將關系存儲為實體、靈活拓展數據模型的數據庫技術,騰訊看到了圖數據庫潛藏的機會。
在深入調研后,騰訊發現客戶其實往往需要的是一輛車,除了制造圖數據庫發動機之外還需要一系列合作伙伴來做配套,才能滿足企業的需要。目前,騰訊的圖數據庫生態構成主要都是行業頂尖數據庫人才和及相關上下游合作伙伴,其中有海歸,和 10 多年數據庫領域的資深專家構成,重點研究方向包括圖數據庫分布式存儲、高性能計算、圖算法,以及生態組件如遷移工具、可視化、數據抽取、數據建模等。
圖數據庫技術上的突破
相比于國內外其他圖數據庫產品,TGDB 有一些獨特的特性。總的來說,正是因為 TGDB 在技術上的一些突破帶來了性能上的提升和架構上的靈活擴展,才實現了全新的特性,包括去中心化純分布式架構、高效的原生存儲、圖切割和分布式算法等。
去中心化分布式系統架構
據邵宗文介紹,TGDB 采用了去中心化分布式架構,理論上支持線性擴展,從目前的部署和使用來看,TGDB 的圖數據存儲極限還遠沒有到達極限,在實驗室中,團隊曾在測試中測得圖數據集群節點數量為 100 臺,但根據理論推演,TGDB 圖數據庫的集群節點規模可以達到萬臺以上,在不同的公開數據集下查詢速度比世界市場占有率最高的 Neo4j 還要快 20-150 倍。
如此大規模的存儲極限和極快的查詢速度,與 TGDB 的系統架構設計分不開。
TGDB 分布式圖數據庫從內部架構上主要分 3 層:
資源管理層:負責對底層計算與數據資源進行管理和調配,簡單地說,就是負責協調把每個計算任務和對應的數據按照某種算法分發到各個分布式節點上執行、監控、容錯并匯總結果;
數據抽象層:提供了屬性圖(Property Graph)的抽象,涉及到圖的數據結構、存儲方法、訪問模式和消息協議;
上層算法應用層:提供了基于分布式計算引擎的算法,這些算法需要訪問數據抽象層的圖數據,按照每個算法不同設計,把算法的執行變為可以分布式并行處理的單元,交給資源管理層執行。
TGDB 圖數據庫系統在集群部署的架構是完全分布式去中心化的,各個節點都很平權,不存在單 master 的單點故障或為了防止該問題而導致的系統復雜度。
底層數據一致性基于一套穩定的消息隊列和快照機制,使得任何節點和過程都可以假設一個虛擬的穩定的中間信息交互平臺,并且平臺保證消息的全局一致性、排序、最高一次送達等保證,同時支持多份熱備,結合合理的機柜布局,可以保證高容錯能力。
從技術層面上來講,TGDB 是如何才能實現萬億級關聯關系數據實時查詢?對此,邵宗文做了詳細的解釋。
他說到,大規模的實時查詢不是一個簡單的查詢分流或者優化就可以解決的,需要查詢計劃優化、高并發任務處理機制、分布式底層資源管理與系統部署架構的緊密配合才能高效實現。
具體來說,TGDB 首先把每個查詢或計算請求變成一個優化的 DAG(Directed Acyclic Graph),分布式任務通過 DAG 模型保證前置依賴正確完成,每個 DAG 的頂點是一個可執行任務,邊是一個邏輯先后關系或數據傳輸任務,各個機器節點并行調度分解任務,每個 DAG 被分解成了多個沒有相互依賴的獨立計算任務,這類計算任務變的非常容易被并行的分發與執行,因為任務之間沒有了依賴關系以及消息發送/接受/處理等問題,大大降低了系統任務控制復雜度,實現了高并發計算工作流優化控制。
TGDB 分布式資源管理邏輯負責統一管理和調度集群的計算資源和數據存儲資源,任何分布式機器節點上都可以進行任務注冊和發布,支持跨多平臺移植,功能上提供任務的監控、轉移和恢復。分布式資源管理使用了 bag of tasks 模式,在平臺內構建了資源池,使得其中的計算任務可以被各個節點智能獲取執行,高效發揮去中心化自組織架構的優勢,實現最優化、無瓶頸、高容錯的調度分布式資源。
簡單地說,基于這樣的設計,高并發的實時查詢可以被系統分拆成易于分布式并行執行的單元,被整個系統優化執行。
原生圖存儲
從存儲計算方式上來說,TGDB 使用了原生圖存儲,不依賴于任何第三方數據存儲平臺,如 HBase 或 RocksDB 等,存儲系統是騰訊自主研發,這一點和國外的 Neo4j 等原生圖類似,而不同于開源的 JanusGraph 等產品。
相比之下,原生圖在查詢和運算速度上比非原生圖有巨大的性能優勢。為了說明這一點,邵宗文打了個比方:原生圖上層和存儲通訊相當于一個人自己與自己在腦中對話,非原生圖上層和第三方存儲通訊相當于人和人之間用語言來溝通,需要喊一聲,對方聽到,再回復。可以看到,非原生模式下,性能代價更高,尤其是在進行深度圖查詢、多輪迭代計算、圖的數據量變時,劣勢會更加明顯。
圖切割算法
傳統的圖算法大多是基于矩陣來進行表達和運算的,而 TGDB 的另一個技術特點是分布式,不僅是系統架構和部署上的分布式,更重要的是分布式的圖分割算法和其他分布式圖算法的設計和實現。是否支持圖分割也是一個圖數據庫是否能真正支持線性擴展的關鍵,這一點與一些其他數據庫產品有本質區別。TGDB真正實現了把一張大圖分割成一片一片的小圖,分散到各個分布式節點存儲,而不是用 Raft 協議等搭建一個單節點,全圖沒有圖切割、分布式節點上每一個節點都是全圖的存儲方式。顯然,后者本質上還是要把所有數據在一臺單機上存儲,無法真正支持數據量的延展。TGDB 是原生的分布式圖數據庫,數據存儲抽象就是頂點和邊,不是矩陣的形式,同時進行了圖分割,把一張大圖分成了很多片存放在了多臺服務器上。在這種新的結構下,傳統的圖算法需要徹底重寫,變成用頂點和邊的形式、充分考慮圖數據分片的分布、極致優化跨服務器消息傳輸的方式,以實現可擴展的分布式并發執行。
其他特性
查詢語言支持 Neo4j 的 Cypher 語言
在查詢語言方面,TGDB 支持 Neo4j 的 Cypher 語言,可以和 Neo4j 進行簡單替換,也支持易用的圖形用戶界面,讓分析人員不用編程就可以快速進行圖管理和圖迭代分析。
TGDB 具有高擴展、高集成、運算快、輕部署等特點,核心功能如下表:
與 AI 前沿技術相結合
TGDB 目前支持多種算法并在不斷增加,同時,它可以和騰訊的柏拉圖計算引擎平臺結合,輸出算法能力,包括一些圖神經網絡的算法。另外,邵宗文提到,如前所述,傳統圖算法在分布式架構下需要被重構優化,TGDB 在這方面還有很多科研任務要完成,這也是學術上的一個前沿領域。
圖數據庫展望:首先在金融領域有爆發式增長
作為圖數據庫領域專家,邵宗文從技術創新和應用兩方面對圖數據庫未來的發展趨勢做了一個預測。
他預計,圖數據庫預計會首先在金融領域有爆發式增長,因為之前傳統的關系型數據庫或大數據其實受限于先天架構問題,比如傳統數據庫無法很好解決金融風控相關問題,以及員工和親屬、員工與客戶、客戶之間的關系、業務合規的關系,這些都是非常復雜的關系。
另外,隨著 5G 時代的到來,人與人、人與物、物與物的聯結信息會越來越多,這也為圖數據庫提供了很好的發展機會。
TGDB 未來規劃:到傳統行業大展拳腳
當前,TGDB 的應用場景包括互聯網、金融風控、物聯網、電力網絡、電子商務、智慧交通、生物序列研究、醫療診斷決策、疾病傳播分析、輔助司法決策、公共安全等。但在未來,邵宗文表示,TGDB 還將深挖傳統行業,如能源、電力行業數據之間的關聯。他說道,這些行業雖然已經具備了一定的數據整合能力,但數據之間關聯關系的挖掘其實還比較困難,以電力知識圖譜為例,支持對電網中接入的各類時序量測數據進行存儲和更新,并直接對電網中電力設備的從屬關系和拓撲結構進行表示,全面揭示設備狀態和設備之間的關系,實現全網設備的監控與管理。不同于傳統的基于向量和矩陣進行大型運算的耗時操作,由于復雜的電力網絡及知識以圖結構進行了表示,可以直接在圖上進行查詢和計算,并將計算結果直接作為圖中的元素進行存儲,大幅提升電網計算和分析效率,實現電網運行方式檢索、設備狀態推理、設備畫像和家族性缺陷分析等應用。
而這些,都是 TGDB 未來可以大展拳腳的領域。
☞劉強東賣光碟,周鴻祎“電腦算命”,馬云賣鮮花,盤點 IT 大佬擺過的地攤
☞從地攤看云計算:規模產業歷程大揭秘
☞頭條和百度“大打出手”時,微信搜索去哪兒了?
☞怒肝 8 個月源碼,我成為了 Spring 開源貢獻者
☞干貨 | 基于SRS直播平臺的監控系統之實現思路與過程
☞挖礦仍然有利可圖嗎?
本文來自:解夢佬,原地址:https://www.jiemenglao.com/suanming/376811.html