近日,東方國信發佈了分佈式圖數據庫CirroData-Graph,以滿足包括深度關係探索、關聯分析、路徑搜索、特徵抽取、數據聚類、社區檢測、知識圖譜等應用場景對圖數據庫的需求。CirroData-Graph基於開源項目HugeGraph研發,並在HugeGraph的基礎上實現了分佈式開發集成。較單機版圖數據庫來說CirroData-Graph提升了圖計算性能的同時還完美的解決了單點故障所帶來的高可用性問題。目前CirroData-Graph已經在實際生產環境中投入使用。

近十年來圖數據庫的關注度增速最高

圖數據庫(Graph Database,GDB)是使用圖結構進行語義查詢的數據庫,它使用節點、邊和屬性來表示和存儲數據。

比起傳統的信息存儲和組織模式,圖數據庫能夠很清晰的揭示覆雜的關係,尤其在錯綜複雜的社交,物流,金融風控行業效果更爲明顯。

傳統關係型數據庫做千萬級的關聯(join)操作尚能應對,但當計算量再大時,很多關聯查詢就會達到瓶頸。

圖數據庫則爲關聯數據(無論大小)提供了卓越的性能。圖模型提供了固有的索引數據結構,因此它不需要爲給定條件的查詢加載或接觸不相關的數據。這使得它成爲更好、更快的實時大數據分析查詢的絕佳解決方案。

互聯網時代新的應用場景帶動了圖數據庫的興起。在社交網絡的應用中,傳統關係型數據庫基本無法實現超過三層好友關係的查詢,而圖數據庫則能將數十億個關係查詢延遲降低到秒級;在金融風控場景的應用中,基於圖數據庫可以提供實時用戶行爲檢測,識別敏感用戶,及時識別欺詐風險;在推薦引擎的應用場景中,使用圖數據庫使得平臺能夠通過用戶興趣、好友和閱讀歷史記錄等信息之間的關係,向用戶提供推薦。

據DB-Engines的數據顯示,近十年來,圖數據庫的關注度增速遠超其他類型的數據庫。Gartner預測2020年以後,全球圖處理及圖數據庫的應用市場都將以每年100%的速度迅猛增長。

東方國信順勢而爲,憑藉開發CirroData分佈式數據庫多年積累的技術經驗和渠道優勢,在國產數據庫領域的細分領域進行產業佈局。CirroData-Graph分佈式圖數據庫應運而生,以滿足公安、金融、互聯網等行業的客戶需求。

CirroData-Graph:功能完備的分佈式圖數據庫

CirroData-Graph是基於開源項目HugeGraph研發的一套分佈式圖數據庫,繼承了HugeGraph的所有功能和特性,並進行了優化,使其提供更爲友好的用戶體驗和便捷的運維方式。

  • CirroData-Graph基於Apache TinkerPop3框架,支持Gremlin圖查詢語言;
  • 支持屬性圖,使頂點和邊均可添加屬性,支持豐富的屬性類型;
  • 可對頂點和邊屬性建立索引,支持精確查詢、範圍查詢和全文檢索;
  • 支持多頂點ID策略,CirroData-Graph支持主鍵ID,支持自動生成ID,支持用戶自定義字符串ID,支持用戶自定義數字ID;
  • 支持功能豐富、簡單易用的HTTP Restful接口。提供頂點、邊、元數據等的基本操作接口;此外還提供各種高級查詢接口,包括最短路徑、多路徑、交叉點、N步可達鄰居等;
  • CirroData-Graph支持Java 語言客戶端。

此外CirroData-Graph在圖數據庫周邊生態上提供圖形化的一鍵安裝部署、集羣監控、智能運維工具,讓安裝部署和運維完全實現圖形化操作。

CirroData-Graph採用先進的分佈式存儲技術及Loader模式

不同於單機版原生HugeGraph數據庫,CirroData-Graph實現了分佈式存儲,有效的解決了單點故障帶來的宕機問題,實現了系統高可用。

同時,CirroData-Graph支持百億以上的頂點和邊的快速導入,並提供毫秒級別的關聯關係查詢

CirroData-Graph採用Multi-raft-group邏輯分區技術,保證在批量插入數據時,每個節點都會工作。並且保證高可用,只要服務集羣中超過半數節點正常工作,系統即可正常對外提供服務。

使用PD(Placement Driver,PD服務需要單獨部署,主要負責整個集羣的管理調度,Region ID生成等)集羣來記錄各Store中的region信息和狀態,客戶端訪問時,通過PD獲取region信息,然後向對應region的leader發起請求。

此外,爲了提升分佈式圖數據庫的數據加載性能,CirroData-Graph新增了Loader模式。在分佈式系統中,需要保證數據的一致性,數據加載是一個主要的性能瓶頸。在普通模式下,數據經由API、計算引擎加載到一個節點的存儲引擎中,再通過JRaft同步到其它兩個節點中,效率低,加載慢。引入Loader模式後,數據經由API、計算引擎先落地到RocksDB中,再將RocksDB的sst文件以異步任務的方式通過JRaft同步到所有節點,這樣在保證了數據一致性的前提下,也讓加載性能有質的提高。

從上圖可以看出,在Loader模式下的數據加載性能可達單機版HugeGraph性能的70%左右,對於分佈式系統來說這是一個非常不錯的數字。之後我們還會繼續完善Loader模式,達到在加載性能方面與HugeGraph持平的標準,此外通過擴大集羣規模也可能使CirroData-Graph超越HugeGraph的加載性能。

在國產化生態適配方面,目前CirroData-Graph分佈式圖數據庫已經與華爲鯤鵬芯片完成了兼容性測試互認證,獲得華爲鯤鵬計算領域OpenLab授予的鯤鵬技術認證書。雙方產品相互兼容,整體運行穩定,能夠滿足用戶的性能需求。

在產品應用方面,CirroData-Graph已經成功與東方國信“數據魔方”產品實現了兼容適配,完全替換其底層neo4j圖數據庫,並與“數據魔方”一起在公安、電信、金融、工業等領域投入使用。

相關文章