Neo4J是如何幹掉OrientDB、Titan的

  • 2020 年 2 月 18 日
  • 筆記

Neo4J是如何幹掉OrientDB、Titan的

TitanDB 數據庫

我們先研究了 TitanDB,它各項強大的功能和極佳的可擴展性一開始讓我們非常振奮。可惜的是,TitanDB 的啟動和維護都非常複雜,必須得從 Cassandra 或 HBase 後台運行。

我們關心的另一個功能是最終一致存儲,它並不符合 ACID 原理。這表示,如果我們要長時間運行大型圖形數據庫,最後可能會出現不一致現象。

TitanDB 確實提供了一個基本可長期運行的流程,能夠始終如一地穿行整個圖形,以期探測和修復不一致問題。除了這些不一致之外,TitanDB 還可以作為不基於圖形的本地存儲之上的層。

OrientDB 數據庫

接下來我們又了解了 OrientDB。OrientDB 啟動起來似乎簡單得多,還具備大量針對文檔的功能。但從社區的評論來看,性能和可擴展性是個問題。另外,OrientDB 把自己宣傳成多模式數據庫 ——圖形和 SQL。這種宣傳缺乏對純圖形操作的針對性,讓我很是憂心,我們不僅想要做圖形,還要做好圖形。

發現 Neo4j

然後我們發現了 Neo4j。Neo4j 可高度擴展,對節點、關係或索引的數量沒有限制。同時 Neo4j 入門也相當簡單,這對我們是很大的誘惑;在使用第三個數據庫時,必須得迅速投入運行。

性能表現極佳,擴增也非常廣泛,並且只專註於圖形用例。Titan 確實提供映射(作為本地節點類型)支持,但我們知道,即使沒有這一支持我們也可以繼續下去。

總的來說,我們之所以選擇 Neo4j,有以下原因:

我們使用 Neo4j 企業版已有大約 16 個月,體驗一直非常美好。Neo4j 易於使用,設置和維護也很簡單,實現甚至超出了我們的預期。它讓我們超越了我們的概念點,非常非常迅速地投入運行和構建新事物。

在本文的第二部分,將詳細介紹使用 Neo4j 之後,作者學習到的經驗教訓,敬請期待。

本文系 OneAPM 工程師整理呈現。OneAPM 能為您提供端到端的應用性能解決方案,我們支持所有常見的框架及應用服務器,助您快速發現系統瓶頸,定位異常根本原因。分鐘級部署,即刻體驗,性能監控從來沒有如此簡單。想閱讀更多技術文章,請訪問 OneAPM 官方技術博客

本文轉自 OneAPM 官方博客

原文地址:https://dzone.com/articles/from-good-to-graph-choosing-the-right-database