百度開源Hugegraph圖數據庫

HugeGraph項目介紹

圖數據庫所提供的關聯分析能力是金融反欺詐、威脅情報、黑產打擊和案件溯源等業務所需要的核心能力。百度安全對圖數據庫的需求非常多,例如金融安全業務希望使用圖數據庫進行金融反欺詐關聯分析、威脅情報業務希望通過圖數據庫進行黑產研究和情報分析、還有社交關係分析、知識圖譜等需求場景。我們也試用過包括TitanDB、Neo4j在內的多款圖數據庫產品,但由於各種原因無法滿足實際業務需求。在此背景下我們基於對安全業務的理解和自身業務需求,設計了HugeGraph圖數據庫系統。

HugeGraph的特點

HugeGraph是一款面向分析型,支持批量操作的圖數據庫系統,它能夠與大數據平臺無縫集成,有效解決海量圖數據的存儲、查詢和關聯分析需求。HugeGraph支持HBase和Cassandra等常見的分佈式系統作為其存儲引擎來實現水平擴展。HugeGraph可以與Spark GraphX進行鏈接,藉助Spark GraphX圖分析算法(如PageRank、Connected Components、Triangle Count等)對HugeGraph的數據進行分析挖掘。

HugeGraph的主要特點包括:

基於TinkerPop 3 API實現,支持Gremlin圖查詢語言;

擁有完善的周邊工具鏈和相關功能組件,可以滿足圖數據庫開發的基本需求,提供易用高效的使用體驗;

具備獨立的Schema管理模塊,豐富完善的Schema校驗機制,確保圖數據庫中的數據完整性和一致性;

支持數據的備份和還原,可以在不同的後端存儲之間轉換;

多種ID生成策略應對不同業務場景,擁有完善的索引管理機制,支持多種索引查詢操作;

可以實現與Hadoop、Spark、HBase、ES等大數據系統集成,支持多種Bulk Load操作,實現海量數據快速插入。

HugeGraph的系統架構

作為一款通用的圖數據庫產品,HugeGraph需具備圖數據的基本功能。如圖2所示,HugeGraph的系統架構主要包括存儲層、計算層和用戶接口層三個功能層次。

百度開源Hugegraph圖數據庫

HugeGraph的存儲層包括圖數據(頂點、邊和屬性等)存儲、索引數據存儲和Schema元數據存儲。HugeGraph後端存儲會採用插件化方案,目前已經支持RocksDB、Cassandra、ScyllaDB、HBase、Doris(原Baidu Palo)和MySQL等,後續會適配更多的後端存儲系統。

HugeGraph的計算層包括OLTP和OLAP兩種類型。其中HugeGraph重點實現了OLTP核心功能,而OLAP部分功能需要和Spark GraphX相結合完成。

HugeGraph提供了多種接口方式,用戶可以根據自己的業務需求和喜好,選擇相應的接口來操作HugeGraph,具體包括

HugeStudio(基於Web的IDE可視化編輯環境)

HugeLoader(數據導入工具)

HugeConsole(基於命令行的Gremlin接口)

HugeApi(基於Rest的Api接口)

HugeClient(基於Java的客戶端驅動程序)


分享到:


相關文章: