使用嵌入在Java应用程序中的Neo4j2.0,我该怎么办? 在一个过程中每5分钟进行一次批量插入(10M节点和13M关系) 在其他进程中读取同一数据库的操作? 虽然插入数据库已被锁定,因此无法打开读取操作的连接。
使用进行插入 BatchInserter inserter = BatchInserters.inserter(... *
使用
进行阅读* GraphDatabaseService graphDb = new GraphDatabaseFactory()。newEmbeddedDatabase(DB_PATH); *
请建议是否有替代方案或是否可以禁用锁定。
感谢。
答案 0 :(得分:1)
你无法开箱即用。
您可以做的事情是使用批处理插件从队列中读取插件。
每当您需要导入数据的新快照时,您都会关闭批量插入器,将数据库复制到事务应用程序并从该快照启动它。
否则,只需使用普通的事务API进行读写即可。
只要您批量写入,例如每批50k个节点/ rels,你应该仍然没问题,从同一个过程做两个。