关系型数据库 10 亿级别数据迁移到 neo4j 图数据库

2022-03-26 17:40:33 +08:00
 liangkang1436

现在有一个需求,需要将 Oracle 数据库中的 10 亿级别的数据迁移到 neo4j 数据库中,每天定时同步

我的做法

查了 neo4j 的数据导入相关的官方文档,发现首先需要数据编写成 CSV 文件的格式,然后再用 LOAD CSV 命令导入到 neo4j 中,于是我用 Spring 写了个服务,先用多线程同时分页读数据库,将数据库中的数据存成 csv 文件,然后用 Java 驱动建立和 neo4j 数据的链接,然后用 LOAD CSV 命令插入数据,先跑一遍全量,然后每天定时跑增量,性能勉强可以接受。

我的疑问

2197 次点击
所在节点    Java
3 条回复
buliugu
2022-03-26 17:52:31 +08:00
官方的 Neo4j-import 最适合导入离线数据,速度非常快,就是需要停机。增量的话用 LOAD CSV 或者 Apoc 都行
liangkang1436
2022-03-26 17:57:22 +08:00
@buliugu 这个方案我也看到了,搜了很多,好像都是这个方案。
andytao
2022-03-26 18:31:04 +08:00
迁移到 MySQL 、PostgreSQL 上不香吗?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/843065

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX