解讀圖資料庫技術路線

qing_yun發表於2024-01-18

圖資料庫是基於圖理論或圖資料模型的NoSQL資料庫型別。IDC調研發現,95%的企業認為圖資料庫是重要的資料管理工具,超過65%的廠商認為在業務上圖資料庫優於其他選擇。

技術的發展日新月異,當前,市場上湧現出了很多圖資料庫,從技術角度來看,這些圖資料庫有不同的技術路線。可以按照不同的維度進行以下分類:

1、原生圖資料庫 vs 多模資料庫

對圖形資料庫進行分類的一種方法是按其原生格式或多模型格式進行分類。

原生圖資料庫是“圖優先”的。廣義上的原生圖資料庫,指的是隻支援圖模型。代表有Neo4j、TigerGraph、Galaxybase、StellarDB、NebulaGraph、Ultipa等。狹義的原生圖資料庫是按照底層儲存劃分,狹義的原生圖資料庫,使用原生圖儲存,代表有Neo4j、TigerGraph、Galaxybase等。狹義的非原生圖資料庫,即底層儲存使用非圖模式進行儲存,有的使用關係型資料庫儲存資料,有的使用鍵值或文件儲存儲存資料,在邏輯層以圖的方式去運算元據,代表有CosmosDB、JanusGraph、Titan等。在大資料量、深度複雜查詢以及高併發場景,採用原生圖儲存的圖資料庫效能更佳。根據 Gartner 的《2022 年圖資料庫管理市場指南》,原生圖資料庫“可能更適用於涉及實時計算、機器學習的資源密集型處理,甚至是對擁有數十億節點和邊的圖進行查詢”。

多模資料庫將圖模型與其他NoSQL資料模型相結合。這種“兼收幷蓄”的方法可以實現更大的靈活性,而無需承擔多個供應商帶來的風險和複雜性。例如,ArangoDB和Cosmos DB、OrientDB等是多模資料庫。

值得一提的是,隨著AIGC和大模型不斷髮展,很多圖資料庫如Neo4j、Cosmos DB、ArangoDB、NebulaGraph等也提供了向量檢索支援。

2、RDF與屬性圖

圖資料庫的另一種分類方法是按其資料結構分類。圖資料庫通常以RDF、屬性圖中的一種或兩種底層資料模型儲存資訊:

  • 屬性圖:將資訊儲存為節點(實體)、邊(實體間的連線)以及描述節點和邊的屬性。

  • RDF:使用主體-謂詞-物件模型儲存資訊,不含屬性(如“銀行賬戶”--“已”--“警告標誌”)。RDF-star 是 RDF 的擴充套件,允許巢狀三元組,它的引入使這種區分變得不那麼重要,但每種選擇都有自己的優勢。

有專家指出,如果想去刻畫一個更客觀的實際場景,可能更適合選擇屬性圖,如果構建更偏向於使用三元組就能實現的場景,會考慮採用RDF。在工業界,屬性圖會多一些,在學術界RDF偏多,RDF在知識圖譜的應用也較多。

例如,Neo4j、TigerGraph、Galaxybase、NebulaGraph、StellarDB、TuGraph、嬴圖等支援屬性圖;Ontotext GraphDB、gStore等支援RDF;也有一些圖資料庫如Amazon Neptune、Stardog等同時支援RDF和屬性圖。

3、OLTP、OLAP,還是HTAP?

第三種分類方法是從負載支援的角度劃分。OLAP(聯機分析處理)和 OLTP(聯機事務處理)這兩種負載在其他資料庫模型中可能並不陌生,他們同樣也適用於圖資料庫。

OLTP 最適合欺詐檢測、身份和訪問管理、供應鏈、產品推薦等實時場景,在這些用例中,資料不斷變化,資訊實時新增、刪除和修改。在這種情況下,資料庫的寫入效能非常重要。

OLAP 更適合對更廣泛但更靜態的資料集進行復雜分析,如商業智慧和知識圖譜分析。在這些情況下,能夠處理複雜的查詢最為重要。

HTAP是比較確定的發展趨勢,大多數產品都能同時處理這兩類負載,但各有偏重。例如,Amazon Neptune的可能更適合 OLTP,而Neo4j 則在 OLAP 用例中很受歡迎。

4、集中式 vs 分散式

以屬性圖為核心模型的圖資料庫經歷了從單機到分散式的演進,圖資料庫剛剛興起時,圖資料庫採用小規模原生圖儲存,是單機圖資料庫,如早期的Neo4j。隨著大資料、移動網際網路、物聯網的發展,資料海量增長,擴充套件性成為行業痛點,分散式圖資料庫發展起來。

現在市場上多數的圖資料庫產品都是採用分散式架構。如TigerGraph、Amazon Neptune、Galaxybase、NebulaGraph、StellarDB、TuGraph、嬴圖等。

一些廠商在探索單機分散式一體化,以滿足更多業務的多樣化需求。

上面我們提到對事務的支援是圖資料庫比較明確的發展趨勢,專家指出圖的分散式事務更難一些,首先圖資料庫的資料結構非常複雜,圖上面一條邊連著兩個點,這兩個點只要不在一臺機器上,加這條邊就是一個跨節點的事務,這是圖資料庫目前最大的難題之一。

小結

一款圖資料庫產品的應用效果要考慮很多因素,很難籠統地說一種架構絕對優於另一種架構,一種技術路線好於另一種技術路線。不同的圖資料庫,各自其對應的應用場景,“與其說哪個技術更有優勢,不如說哪個場景可能成為未來的主流,當某一場景成為主流的時候,可能支撐該場景下的技術就成為主流。”

參考資料:

《How to choose a graph database: we compare 6 favorites》

來自 “ ITPUB部落格 ” ,連結:https://blog.itpub.net/69925873/viewspace-3004265/,如需轉載,請註明出處,否則將追究法律責任。

相關文章