如何从mysql加速neo4j的插入?
我在mysql中有一个60000个项目的数据集,我正试图将它插入neo4j。插入正在进行,但需要很长时间(大约每3秒10-15次)。有什么办法可以加快速度吗?还有什么方法可以在neo4j中提供一些东西,比如unique key,这样重复索引就不会被索引了吗?我是neo4j的新手如何从mysql加速neo4j的插入?,mysql,nosql,neo4j,graph-databases,Mysql,Nosql,Neo4j,Graph Databases,我在mysql中有一个60000个项目的数据集,我正试图将它插入neo4j。插入正在进行,但需要很长时间(大约每3秒10-15次)。有什么办法可以加快速度吗?还有什么方法可以在neo4j中提供一些东西,比如unique key,这样重复索引就不会被索引了吗?我是neo4j的新手 我正在将neo4j 1.8与PHP Everyman驱动程序一起使用。Max De Marzi做了一个很好的演示,介绍了如何将ETL转换为neo4j 见: 这取决于您想要使用哪种语言,从java到jruby嵌入,再到ru
我正在将neo4j 1.8与PHP Everyman驱动程序一起使用。Max De Marzi做了一个很好的演示,介绍了如何将ETL转换为neo4j 见: 这取决于您想要使用哪种语言,从java到jruby嵌入,再到ruby、php、python远程嵌入,都有很多选项 您可能希望在适当大小的事务中批处理您的请求(例如,每发送10000个项目)
可以使用my或通过Neo4j服务器的直接将CSV文件导入数据库文件。如上所述,首选的选项是批量导入器 如果您需要查看PHP客户端,这里我提供了一个使用REST批处理api的示例: 您可以测试行/批处理哪些最适合您的系统。 我的笔记本电脑是750,测试服务器是1250。
发生的json_解码对CPU来说是一个沉重的负担。您能更具体地说明这个操作吗?据我所知,你不能只在MySQL文件中解析Neo4j;这意味着,您必须首先从MySQL中提取数据,然后将其存储在Neo4j中;其次,性能取决于这两个步骤。您使用BatchInserter吗?数据是使用select查询从mysql中提取的,我没有为此使用BatchInserter。由于我对这一点还不熟悉,我将遵循jadell()的示例。有更好的方法吗?您提到的php代码对每个节点的创建和属性设置都执行一个http操作,这至少应该是rest批处理的,最好使用cypher(也是rest批处理的),或者使用导入工具完成。您给我举了一个例子,在php中将数据从mysql传输到neo4j?这对我真的很有帮助。Neo4j在插入过程中总是很慢。通过批量插入,我最多可以达到每秒100个节点。有没有办法插入,我有大约2M个节点要从我的MySQL数据库中创建,然后将它们关联起来。这似乎与neo4j没有直接关系。我从来没有这么慢的插入时间,我做了很多psql->neo4j导入。我猜您是在移动中从mysql查询数据-尝试首先查询数据并将其插入graphML或geoff xml格式。然后简单地使用一些内置函数,比如gremlins g.loadGraphML('mysqlexport.xml')-neo可以每秒导入多达1M个节点:)使用类似于上述批插入器的东西,它只需要csv文件,即使使用php,您也可以轻松地从mysql生成这些文件。