我使用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企业版。
答案 0 :(得分:0)
完成插入后,您是否正确关闭了批量插入器?
您使用的是哪种Neo4j版本和操作系统?
还要确保您的内存配置正确。在nodestore和relationshipstore之前正确配置内存映射,请参阅Rik's blog post。
它不是队列,而是直接写入这些记录。 你如何检查"和数?您不能同时访问数据库。
你能分享你的代码吗?