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