什么是 NebulaGraph
NebulaGraph 是一款開源的、分布式的、易擴展的原生圖數(shù)據(jù)庫,能夠承載包含數(shù)千億個點和數(shù)萬億條邊的超大規(guī)模數(shù)據(jù)集,并且提供毫秒級查詢。
什么是圖數(shù)據(jù)庫
圖數(shù)據(jù)庫是專門存儲龐大的圖形網(wǎng)絡(luò)并從中檢索信息的數(shù)據(jù)庫。它可以將圖中的數(shù)據(jù)高效存儲為點(Vertex)和邊(Edge),還可以將屬性(Property)附加到點和邊上。
圖數(shù)據(jù)庫適合存儲大多數(shù)從現(xiàn)實抽象出的數(shù)據(jù)類型。世界上幾乎所有領(lǐng)域的事物都有內(nèi)在聯(lián)系,像關(guān)系型數(shù)據(jù)庫這樣的建模系統(tǒng)會提取實體之間的關(guān)系,并將關(guān)系單獨存儲到表和列中,而實體的類型和屬性存儲在其他列甚至其他表中,這使得數(shù)據(jù)管理費時費力。
NebulaGraph 作為一個典型的圖數(shù)據(jù)庫,可以將豐富的關(guān)系通過邊及其類型和屬性自然地呈現(xiàn)。
NebulaGraph 的優(yōu)勢
開源
NebulaGraph 是在 Apache 2.0 條款下開發(fā)的。越來越多的人,如數(shù)據(jù)庫開發(fā)人員、數(shù)據(jù)科學(xué)家、安全專家、算法工程師,都參與到 NebulaGraph 的設(shè)計和開發(fā)中來,歡迎訪問 NebulaGraph GitHub 主頁參與開源項目。
高性能
基于圖數(shù)據(jù)庫的特性使用 C++ 編寫的 NebulaGraph,可以提供毫秒級查詢。眾多數(shù)據(jù)庫中,NebulaGraph 在圖數(shù)據(jù)服務(wù)領(lǐng)域展現(xiàn)了卓越的性能,數(shù)據(jù)規(guī)模越大,NebulaGraph 優(yōu)勢就越大。詳情請參見 NebulaGraph benchmarking 頁面。
易擴展
NebulaGraph 采用 shared-nothing 架構(gòu),支持在不停止數(shù)據(jù)庫服務(wù)的情況下擴縮容。
易開發(fā)
NebulaGraph 提供 Java、Python、C++ 和 Go 等流行編程語言的客戶端,更多客戶端仍在開發(fā)中。詳情請參見 NebulaGraph clients。
高可靠訪問控制
NebulaGraph 支持嚴格的角色訪問控制和 LDAP(Lightweight Directory Access Protocol)等外部認證服務(wù),能夠有效提高數(shù)據(jù)安全性。詳情請參見驗證和授權(quán)。
生態(tài)多樣化
NebulaGraph 開放了越來越多的原生工具,例如 NebulaGraph Studio、NebulaGraph Console、NebulaGraph Exchange 等,更多工具可以查看生態(tài)工具概覽。
此外,NebulaGraph 還具備與 Spark、Flink、HBase 等產(chǎn)品整合的能力,在這個充滿挑戰(zhàn)與機遇的時代,大大增強了自身的競爭力。
兼容 openCypher 查詢語言
NebulaGraph 查詢語言,簡稱為 nGQL,是一種聲明性的、部分兼容 openCypher 的文本查詢語言,易于理解和使用。詳細語法請參見 nGQL 指南。
面向未來硬件,讀寫平衡
閃存型設(shè)備有著極高的性能,并且價格快速下降,NebulaGraph 是一個面向 SSD 設(shè)計的產(chǎn)品,相比于基于 HDD + 大內(nèi)存的產(chǎn)品,更適合面向未來的硬件趨勢,也更容易做到讀寫平衡。
靈活數(shù)據(jù)建模
用戶可以輕松地在 NebulaGraph 中建立數(shù)據(jù)模型,不必將數(shù)據(jù)強制轉(zhuǎn)換為關(guān)系表。而且可以自由增加、更新和刪除屬性。詳情請參見數(shù)據(jù)模型。
廣受歡迎
騰訊、美團、京東、快手、360 等科技巨頭都在使用 NebulaGraph 。詳情請參見 NebulaGraph 官網(wǎng)。
適用場景
NebulaGraph 可用于各種基于圖的業(yè)務(wù)場景。為節(jié)約轉(zhuǎn)換各類數(shù)據(jù)到關(guān)系型數(shù)據(jù)庫的時間,以及避免復(fù)雜查詢,建議使用 NebulaGraph 。
欺詐檢測
金融機構(gòu)必須仔細研究大量的交易信息,才能檢測出潛在的金融欺詐行為,并了解某個欺詐行為和設(shè)備的內(nèi)在關(guān)聯(lián)。這種場景可以通過圖來建模,然后借助 NebulaGraph,可以很容易地檢測出詐騙團伙或其他復(fù)雜詐騙行為。
實時推薦
NebulaGraph 能夠及時處理訪問者產(chǎn)生的實時信息,并且精準推送文章、視頻、產(chǎn)品和服務(wù)。
知識圖譜
自然語言可以轉(zhuǎn)化為知識圖譜,存儲在 NebulaGraph 中。用自然語言組織的問題可以通過智能問答系統(tǒng)中的語義解析器進行解析并重新組織,然后從知識圖譜中檢索出問題的可能答案,提供給提問人。
社交網(wǎng)絡(luò)
人際關(guān)系信息是典型的圖數(shù)據(jù),NebulaGraph 可以輕松處理數(shù)十億人和數(shù)萬億人際關(guān)系的社交網(wǎng)絡(luò)信息,并在海量并發(fā)的情況下,提供快速的好友推薦和工作崗位查詢。