数据以 300-500 TPS 的速率持续进入系统。我需要使用以下方案将其导入 neo4j:
- 如果 N 节点不存在,则创建它
- 如果关系 N-[rel:rel_type]->X 不存在,则创建它
- 增加相对重量
使用 REST 批处理似乎无法解决问题。不同的密码查询太长,因为它们会生成许多小事务。
Gremlin 的工作速度要快得多。我在数组中收集 gremlin 脚本的参数并将其作为批处理执行。但即使我几乎无法达到 300 TPS 的速度。
我应该提一下,除了会有大约 500 TPS 的查询流:
START N=node(...) MATCH N-[rel:rel_type]->X return rel.weight,X.name;
堆大小设置为 5 Gb。附加选项:
-XX:MaxPermSize=1G -XX:+CMSClassUnloadingEnabled -XX:+UseParallelGC -XX:+UseNUMA
导入此类数据的最佳方式和配置是什么?