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