Tag: batch insert

使用REST优化大批量插入Neo4j

我需要通过REST API的Batch端点将大量节点与它们之间的关系插入Neo4j,大约5k记录/秒(仍在增加)。 这将是24×7的连续插入。 每条记录可能只需要创建一个节点,但其他记录可能需要创建两个节点和一个关系。 我可以通过更改程序或修改Neo4j的设置来提高插入的性能吗? 我到目前为止的进展: 1.我一直在测试Neo4j,但是我无法获得所需的性能 测试服务器盒:24核+ 32GB RAM Neo4j 2.0.0-M06作为独立服务安装。 在同一台服务器上运行我的Java应用程序。(Neo4j和Java应用程序将来需要在自己的服务器上运行,因此无法使用嵌入式模式) REST API端点:/ db / data / batch(target:/ cypher) 使用模式索引,约束,MERGE,CREATE UNIQUE。 2.我的架构: neo4j-sh (0)$ schema ==> Indexes ==> ON :REPLY(created_at) ONLINE ==> ON :REPLY(ids) ONLINE (for uniqueness constraint) ==> ON :REPOST(created_at) ONLINE ==> ON :REPOST(ids) ONLINE (for uniqueness constraint) ==> ON :Post(userId) ONLINE […]

如何使用地图列表在Spring中执行批量更新?

Spring的新手,我试图将List<Map>插入表中。 到目前为止,我一直在使用SqlParameterSource进行批量更新,这在向它们提供java bean时可以正常工作。 像这样的东西: @Autowired private NamedParameterJDBCTemplate v2_template; public int[] bulkInsertIntoSiteTable(List list){ SqlParameterSource[] batch = SqlParameterSourceUtils .createBatch(list.toArray()); int[] updateCounts = v2_template .batchUpdate( “insert into sitestatus (website, status, createdby) values (:website, :status, :username)”, batch); return updateCounts; } 但是,我尝试使用相同的技术代替bean的地图列表,它失败了(这是正确的)。 public int[] bulkInsertIntoSiteTable(List<Map> list){ SqlParameterSource[] batch = SqlParameterSourceUtils .createBatch(list.toArray()); int[] updateCounts = v2_template .batchUpdate( “insert into sitestatus (website, […]