我使用Neo4j API批量插入数百万条记录,如果单独完成,通常需要更长的时间。导入完成得快得多,但我没有看到插入的数百万条记录。Neo4j是否为批处理插入保留某种形式的队列并随时间插入?
如果是,我如何看到这个队列的进度?我正在计数,我注意到记录在增加,但速度很慢。
我正在使用Neography gem的批量插入(https://github.com/maxdemarzi/neography/wiki/Batch),并进行批量插入的代码如下:
User.find_in_batches(batch_size: 500) do |group|
$neo4j.batch(*group.map { |user| ["create_unique_node", "users", "id", user.id, user.graph_node_properties] })
end
在Ubuntu 12.04 LTS上运行Neo4j 2.1.2企业版
完成插入后是否正确关闭批处理插入器?
您使用的是哪个Neo4j版本和操作系统?
还要确保您的内存配置是正确的。正确配置节点存储库和关系存储库之前的内存映射,请参阅Rik的博客文章。
它不是一个队列,它直接写那些记录。你如何"检查"和计数?不能并发访问数据库。
你能分享你的代码吗?