2014-10-17 89 views
1

neo4j數據庫應該在哪種模式下使用嵌入式或休眠服務器?Neo4j rest服務器v/s嵌入式

我的主要問題是:

  1. 性能

  2. 水平擴展(HA,聚類) - 作爲重要的應用是非常大的。

  3. 事務支持(在像SDN,Grails的插件,structr等框架)

  4. 部署服務器支持像亞馬遜,GrapheneDB等

  5. 容易性的從一個切換到另一個

  6. Scaling(數據庫大小)

回答

1

聲明:我是其中的一位GrapheneDB

我不是嵌入模式的專家,所以我的答案可能有偏差,但我會盡我所能:

  • Embedded是在這個時候比服務器
  • 集羣中嵌入爲支持更好的性能以及在服務器中
  • 交易支持在兩種模式AFAIK中均可用。然而,Spring Data與Rest/server相比目前表現不佳。

從我的POV嵌入式有耦合到您的應用程序/服務器部署的缺點。

還有一個選項,你沒有提出,這是使用unmanaged server extensions

使用擴展,你可以得到最好的兩個模式:

  • 你寫在Java API的頂部您的代碼和它的本地執行,所以你得到非常不錯的表現。
  • 您可以在服務器模式下運行服務器,使操作更輕鬆,還可以讓您在任何雲環境中的單獨遠程主機上託管。

GrapheneDB支持非託管擴展,它是我們目前推薦的選項,用於需要額外性能的場景。

+0

感謝您的回答。我沒有得到非託管服務器擴展,我認爲我們沒有任何嵌入式neo4j服務器,我們是否需要在非託管服務器擴展模式下單獨使用neo4j服務器?我們必須編寫哪些類型的代碼,是因爲查詢數據庫時我使用的是SDN(spring-data-neo4j)以及本地意味着什麼,此代碼是否運行在應用程序服務器或數據庫服務器本身上。還有一些警告,因爲我認爲在非託管服務器擴展中編寫代碼很困難。 – 2014-10-17 06:47:16

+0

GrapheneDB是否支持嵌入模式? – 2014-10-17 13:22:11

+1

服務器擴展是一個小的java函數,可以訪問服務器上運行的嵌入式Neo4j數據庫,因此可以非常高效地訪問圖形功能,而無需使用中間的網絡層。是的GrapheneDB支持這些擴展。 – 2014-10-17 20:14:13