kyrre
V2EX  ›  数据库

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

  •  
  •   kyrre · Sep 1, 2016 · 1596 views
    This topic created in 3562 days ago, the information mentioned may be changed or developed.

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

    Supplement 1  ·  Sep 1, 2016
    就是想比较一下两个最新版的性能。
    目前的方法:
    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 replies    2016-09-01 16:37:42 +08:00
    julyclyde
        1
    julyclyde  
       Sep 1, 2016
    如果是 ORM 写入的数据的话,从 ORM 转一下应该是最靠谱的了
    处理 DUMP 文件太麻烦……
    moult
        2
    moult  
       Sep 1, 2016
    就一张表么,表结构处理忽略不计了。主要就传数据慢。
    毕竟两个数据库,肯定要先导出再导入的!试试看 Navicat 的数据传输功能。
    julor
        3
    julor  
       Sep 1, 2016 via Android
    为啥要换数据库?
    kyrre
        4
    kyrre  
    OP
       Sep 1, 2016
    @julyclyde ORM 肯定是最慢的了,中间环节太多,不值当。
    @moult 我直接在一台机器上搞,读本地文件就可以了, navicat 还要网络传输,太慢。
    PS ,我直接在一台 linux 上倒腾。
    wyntergreg
        5
    wyntergreg  
       Sep 1, 2016
    就是想比较一下两个最新版的性能。
    从题干来看比的是两个数据库的性能吧?两个数据库都建同样的表,写个脚本往里塞上测试数据,然后配上相应的 view 测试一下就知道了
    firefox12
        6
    firefox12  
       Sep 1, 2016
    load 是最快的, 原来我的数据库 2000w 纪录 也是用这个方案 备份恢复的。 512M vps 基本上 3-5 秒就好了。
    ppwangs
        7
    ppwangs  
       Sep 1, 2016
    获取你会想用 kettle 。
    jackysc
        8
    jackysc  
       Sep 1, 2016
    顶楼上 用 kettle 吧
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1376 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 37ms · UTC 23:54 · PVG 07:54 · LAX 16:54 · JFK 19:54
    ♥ Do have faith in what you're doing.