我在mysql中有60000个项目的数据集,我正在尝试将其插入到neo4j中。插入正在进行,但需要很长时间(大约每3秒10-15次)。有什么办法可以加快速度吗?还有什么方法可以在neo4j中提供诸如唯一键之类的东西,这样复制索引就不会被索引了?我是neo4j的新手。
我正在使用neo4j 1.8和PHP Everyman驱动程序。
答案 0 :(得分:1)
Max De Marzi有一个很好的演讲,关于ETL进入Neo4j。
请参阅:http://www.slideshare.net/maxdemarzi/etl-into-neo4j
这取决于你想要使用哪种语言,从jruby嵌入的java和通过ruby,php,python远程嵌入的许多选项。
您可能希望在适当大小的交易中批量处理您的请求(例如,每tx 10k项)。
可以使用batch-importer或通过Neo4j服务器的BATCH REST API将CSV文件直接导入数据库文件。
答案 1 :(得分:1)
如上所述,首选选项是批量导入程序。
如果你需要浏览PHP客户端,我在这里举了一个使用REST批处理api的例子: http://phpfiddle.org/main/code/mu3-sgk
您可以测试最适合您系统的行/批次。 对于我的笔记本电脑,它是750,对于我的测试服务器,它是1250。 发生的json_decode在CPU上很重。