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

从 PG 到 Mysql 倒腾数据,有啥高效的方案?

  •  
  •   kyrre · 2016-09-01 10:41:46 +08:00 · 1022 次点击
    这是一个创建于 2796 天前的主题,其中的信息可能已经有所发展或是发生改变。

    PG 数据量 5 千万条,只有一个表,外加若干索引。总共 14G 。 跑的版本是 9.5.4 现在要在 percona 5.7 里倒入这张表,有啥快一点的方案/工具吗?

    第 1 条附言  ·  2016-09-01 14:22:24 +08:00
    就是想比较一下两个最新版的性能。
    目前的方法:
    pg_dump 出一个 csv 文件,再在 mysql 里手动建好表,设好 PK , index 先不建,然后用
    load data infile '/var/lib/mysql-files/dump_db.csv' into table mydb.mytable FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"';
    导入 mysql 。
    最后再加上 index 。
    8 条回复    2016-09-01 16:37:42 +08:00
    julyclyde
        1
    julyclyde  
       2016-09-01 11:21:12 +08:00
    如果是 ORM 写入的数据的话,从 ORM 转一下应该是最靠谱的了
    处理 DUMP 文件太麻烦……
    moult
        2
    moult  
       2016-09-01 12:15:59 +08:00
    就一张表么,表结构处理忽略不计了。主要就传数据慢。
    毕竟两个数据库,肯定要先导出再导入的!试试看 Navicat 的数据传输功能。
    julor
        3
    julor  
       2016-09-01 12:44:48 +08:00 via Android
    为啥要换数据库?
    kyrre
        4
    kyrre  
    OP
       2016-09-01 14:25:33 +08:00
    @julyclyde ORM 肯定是最慢的了,中间环节太多,不值当。
    @moult 我直接在一台机器上搞,读本地文件就可以了, navicat 还要网络传输,太慢。
    PS ,我直接在一台 linux 上倒腾。
    wyntergreg
        5
    wyntergreg  
       2016-09-01 14:33:25 +08:00
    就是想比较一下两个最新版的性能。
    从题干来看比的是两个数据库的性能吧?两个数据库都建同样的表,写个脚本往里塞上测试数据,然后配上相应的 view 测试一下就知道了
    firefox12
        6
    firefox12  
       2016-09-01 16:21:50 +08:00
    load 是最快的, 原来我的数据库 2000w 纪录 也是用这个方案 备份恢复的。 512M vps 基本上 3-5 秒就好了。
    ppwangs
        7
    ppwangs  
       2016-09-01 16:36:55 +08:00
    获取你会想用 kettle 。
    jackysc
        8
    jackysc  
       2016-09-01 16:37:42 +08:00
    顶楼上 用 kettle 吧
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   4414 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 526ms · UTC 04:07 · PVG 12:07 · LAX 21:07 · JFK 00:07
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.