2014-03-04 61 views
0

我有一個關於neo4j的嵌入式驅動程序的一般問題。除了低層次和高性能之外,嵌入的意義究竟是什麼。它是數據庫服務的實際實例,還是連接到現有數據庫進程或服務的驅動程序。例如neo4j嵌入式驅動程序是否鎖定db文件?

  • 是否使用嵌入式驅動程序庫獲取數據庫文件的獨佔鎖定?
  • 多個客戶端可以同時使用嵌入式驅動程序使用同一個數據庫嗎?
  • 它可以針對已經具有數據庫服務(以及REST API)運行的數據庫運行嗎?由於初始化測試引發了文件鎖定異常,因此初始測試似乎表明不是。
  • 嵌入式驅動程序是否必須與數據庫服務在同一臺機器或進程上?例如,如果db數據文件位於多臺計算機可以訪問的共享SAN上,並且存在另一臺運行REST API和neo4j服務的服務器。驅動程序上的配置似乎直接指向數據文件,而不是服務或端口。

回答

0

我在項目中使用嵌入式Neo4j。

嵌入式Neo4j是由您的應用程序啓動和關閉的Neo4j服務器。所以它不僅僅是一個用於連接到某個獨立服務器的驅動程序。對於獨立服務器,您可以在Rest上使用Neo4j(本地或遠程)。

由於它的實現,嵌入式neo4j只能被一個應用程序使用 - 啓動嵌入式實例的應用程序。它會檢索圖形文件上的鎖定,並且只要嵌入式服務器正在運行,就不能使用任何其他應用程序(例如neo4j-sh)來訪問這些文件。

相關問題