值得推薦的四款優秀圖形數據庫
譯文
【51CTO.com快譯】圖形數據庫明確表達了節點之間的關系,在分析網絡(計算機、人類、地理或其他對象)時比關系數據庫更有效。這讓圖形數據庫在面對欺詐檢測和推薦系統等應用場景時更勝一籌。
圖形數據庫的主要優點之一是能夠運行圖形計算算法。這些算法用于不是很適合關系數據庫的任務,比如圖形搜索、路徑尋找、中心性、PageRank和社區檢測。圖形算法主要在分析(OLAP和HTAP)圖形數據庫中受到支持,不過Neo4j等一些事務(OLTP)圖形數據庫也支持它們。
本文討論的所有圖形數據庫都有良好的橫向可擴展性。一些還支持讀取副本、全局分布和自動橫向分片。
1.Amazon Neptune
Amazon Neptune是一種完全托管的事務(OLTP)圖形數據庫服務,擁有ACID屬性和即時一致性,其核心是一個定制的高性能圖形數據庫引擎,該引擎針對存儲數十億個關系,并查詢圖形(毫秒級延遲)進行了優化。Neptune支持兩種流行的開源圖形查詢語言:Apache TinkerPop Gremlin和W3C SPARQL。
Neptune數據庫集群可以在跨三個可用區的六個數據副本中擁有高達64 TB的自動擴展存儲,如果你在另外的可用區使用讀取副本以啟用高可用性,可以使用更多的存儲容量。 Neptune會自動檢測數據庫崩潰,并重新啟動——通常在30秒或更短時間內,無需執行崩潰恢復或重建數據庫緩存,因為緩存與數據庫進程隔離開來,重新啟動后繼續有效。如果整個主實例失效,Neptune會自動故障切換到最多15個讀取副本中的一個。備份不斷流式傳輸到Amazon S3。
可以通過修改實例來增減Neptune集群,或者通過添加所需大小的實例來避免停運,一旦數據副本遷移過去,將新實例提升為主實例,就可以關閉舊實例。Neptune虛擬機實例的大小從db.r4.large(2個vCPU和16 GiB的內存)到db.r4.8xlarge(32個vCPU和244個GiB的內存)不等,使Neptune的寫入動態范圍為16倍,讀取動態范圍為256倍(計數讀取副本)。
鏈接:
2.AnzoGraph
AnzoGraph是一種大規模并行的內存中OLAP圖形數據庫,與企業數據源兼容,并行加載RDF和CSV格式的數據。AnzoGraph可以部署在單節點沙箱中,也可以部署在擁有生產環境所需的眾多節點的集群中。AnzoGraph擁有ACID事務屬性。
AnzoGraph使用W3C標準的RDF三元組和四元組數據及SPARQL 1.1查詢。它支持作為RDF存儲一部分的標記屬性圖,符合提議的RDF *和SPARQL *標準,它還有SPARQL的擴展件,以支持圖形算法、推理、窗口聚合、BI函數和命名視圖。計劃支持與Neo4j兼容的OpenCypher語言和Neo4j協議Bolt。
AnzoGraph擁有高性能圖形查詢執行和可擴展性(可擴展至數十億甚至數萬億個三元組),以及不需要使數據庫下線的快速并行數據加載。AnzoGraph集群可以部署在CentOS、Kubernetes和AWS上。部署在谷歌云平臺和Azure上的AnzoGraph通常被當作部署的Kubernetes來對待。AnzoGraph在綜合基準測試中可以擴展至40個節點。
鏈接:
3.Neo4j
Neo4j是一種可擴展的OLTP圖形數據庫,擁有一些OLAP功能。Neo4j是最初的圖形數據庫,創建于1999年,如今繼續是市場領導者。
開源Neo4j社區版僅限于單臺服務器,Neo4j企業版卻讓你可以根據性能需要,為集群添加任意數量的節點。
Neo4j高可用性集群中的每個節點都包含數據庫和集群管理組件,集群則可以通過負載均衡系統來訪問。整個圖復制到集群的每個實例,每個HA集群的讀取能力隨服務器實例的數量呈線性增加。Neo4j每秒可以提交數萬次寫入,同時保持完整的ACID事務。
在Neo4j因果集群中,讀寫服務器的核心集群與一個或多個異步更新的讀取副本集群相結合。為任何應用程序保證了因果一致性,這意味著即使硬件和網絡出現故障,也能保證至少讀取自己的寫入。因果集群中的讀取副本可能分布在不同地域,為靠近副本的用戶改進查詢性能。
鏈接:
4.TigerGraph
TigerGraph是一種實時原生并行HTAP圖形數據庫,可在云端或本地部署。TigerGraph支持ACID屬性,內置數據壓縮,可自動分區集群內的圖形,聲稱速度比競爭對手更快。它使用一種天生并行的消息傳遞架構,可隨數據大小而擴展。
TigerGraph旨在能夠執行深度鏈接分析以及實時聯機事務處理和大批量數據加載。TigerGraph的“深度鏈接分析”是指從一個頂點開始遍歷圖,找到三個或更多的跳轉關系,并分析結果。
雖然幾種開源圖形查詢語言已得到廣泛采用,比如Cypher、Gremlin和SPARQL,但TigerGraph有一種新的查詢語言GSQL。GSQL結合了類似SQL的查詢語法和類似Cypher的圖形導航,以及過程編程和用戶定義的函數。TigerGrpah可以為遷離Neo4j數據庫的人將Cypher轉換成GSQL。
TigerGraph擁有托管云產品,目前處于有限預覽版狀態。結果表明,TigerGraph在運行有8臺機器的讀寫集群時速度可以提升6.7倍,但讀取副本或地理分布方面未透露任何信息。
鏈接:
原文標題:The best graph databases,作者:Martin Heller
【51CTO譯稿,合作站點轉載請注明原文譯者和出處為51CTO.com】