neo4j嵌入式驱动程序是否锁定了db文件?

时间:2014-03-04 17:00:00

标签: neo4j

我对neo4j的嵌入式驱动程序有一般性的疑问。嵌入式究竟是什么意思,除了它更低级别和更高性能。它是数据库服务的实际实例,还是仅用于连接到现有数据库进程或服务的驱动程序。例如

  • 使用嵌入式驱动程序库是否获取了对数据库文件的独占锁定?
  • 多个客户端可以使用嵌入式驱动程序同时使用同一个数据库吗?
  • 是否可以针对已经运行数据库服务(以及REST api)的数据库运行?初始测试似乎表明没有,因为它会引发文件锁定异常。
  • 嵌入式驱动程序是否必须与数据库服务位于同一台计算机或进程上?例如,如果db数据文件位于多台计算机可以访问的共享SAN上,并且还有另一台服务器正在运行REST api和neo4j服务。驱动程序上的配置似乎直接指向数据文件而不是服务或端口。

1 个答案:

答案 0 :(得分:0)

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

嵌入式Neo4j是由您的应用程序启动和关闭的Neo4j服务器。因此,它不仅仅是用于连接到某个独立服务器的驱动程序。对于独立服务器,您可以使用Neo4j over Rest(本地或远程)。

由于嵌入式实现,neo4j只能由一个应用程序使用 - 启动嵌入式实例的应用程序。它检索图形文件的锁定,并且只要嵌入式服务器运行,就不能使用任何其他应用程序(例如neo4j-sh)来访问这些文件。