1

我在 mysql 中有一个包含 60000 个项目的数据集,我正在尝试将其插入 neo4j。插入正在进行,但需要很长时间(大约每 3 秒 10-15 次)。有什么办法可以加快速度吗?还有什么办法我可以在neo4j中给出诸如唯一键之类的东西,这样重复索引就不会被索引?我是neo4j的新手。

我正在使用带有 PHP Everyman 驱动程序的 neo4j 1.8。

4

2 回答 2

1

如上所述,首选选项是批量导入器。

如果您需要通过 PHP 客户端,这里我举了一个使用 REST 批处理 api 的示例:http: //phpfiddle.org/main/code/mu3-sgk

您可以测试最适合您的系统的行/批次。对于我的笔记本电脑,它是 750,对于我的测试服务器,它是 1250。发生的 json_decode 在 CPU 上很重。

于 2013-01-15T16:26:10.380 回答
1

Max De Marzi 有一个很好的介绍,关于 ETL 到 Neo4j。

见:http ://www.slideshare.net/maxdemarzi/etl-into-neo4j

这取决于您要使用哪种语言,通过 jruby 嵌入的 java 和通过 ruby​​、php、python 远程嵌入的许多选项。

您可能希望在适当大小的交易中批量处理您的请求(例如,每笔交易 10k 个项目)。

可以使用我的批处理导入器或通过Neo4j 服务器的BATCH REST API将 CSV 文件直接导入数据库文件。

于 2012-12-03T16:49:37.603 回答