V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
liangkang1436
V2EX  ›  Java

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

  •  
  •   liangkang1436 · 2022-03-26 17:40:33 +08:00 · 2396 次点击
    这是一个创建于 964 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    我的做法

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

    我的疑问

    • 又没有专门的 neo4j 数据库数据导入工具?比如封装好的 Java 类库?
    • 如果没有这样的类库,还有没有其他更好的方案?
    • 我也是 neo4j 的新手,大佬勿喷
    3 条回复    2022-03-26 18:31:04 +08:00
    buliugu
        1
    buliugu  
       2022-03-26 17:52:31 +08:00
    官方的 Neo4j-import 最适合导入离线数据,速度非常快,就是需要停机。增量的话用 LOAD CSV 或者 Apoc 都行
    liangkang1436
        2
    liangkang1436  
    OP
       2022-03-26 17:57:22 +08:00 via Android
    @buliugu 这个方案我也看到了,搜了很多,好像都是这个方案。
    andytao
        3
    andytao  
       2022-03-26 18:31:04 +08:00
    迁移到 MySQL 、PostgreSQL 上不香吗?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5798 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 03:29 · PVG 11:29 · LAX 19:29 · JFK 22:29
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.