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

用了 mysql 的同事遇到 pg 都相逢恨晚

  •  1
     
  •   cstj0505 · 2017-11-21 11:06:32 +08:00 · 10656 次点击
    这是一个创建于 2345 天前的主题,其中的信息可能已经有所发展或是发生改变。

    某业务部门的同事们,生成一亿条数据写入 mysql 数据库,花了好几个小时。

    我告诉他 pg 一秒可以写十几万条,并拿出压测数据的时候,他们纷纷表示非常震惊。 这几位程序员,运维的都是工作好些年的,但之前都没听过 pg。

    另外一个部门每天要把几亿条数据从 oracle 库用 navcat 搬到 mysql 库(恩,他们也没听过 pg,把最后的 mysql 库作为结果查询库),然后每天要跑 7 个小时。 听说我们大数据很快,就过来问我们怎么加快速度。乱七八糟的叹了一下午,他们想法很多,最后说要加快速度你可以装个 pg 试试。

    然后他们在原来的 mysql 集群上,装了个 pg 的主备。在 oracle 生成了几亿条数据。然后分别跑了测试。 mysql 的速度和上面差不多, 但是 pg 呢,开了 10 个并行,原话如下: “ pg 的 copyin 方式,432 秒拷贝 3.68 亿条记录,cpu 最高 62%,磁盘写 io 最高 100MB/s,网络带宽最高 670Mbps。另外,磁盘占用比 mysql 少多了(大概少 50GB )。”

    估计现在他们也会感觉和 pg 相逢恨晚了。

    112 条回复    2017-11-23 14:04:08 +08:00
    1  2  
    congeec
        1
    congeec  
       2017-11-21 11:14:48 +08:00
    各有优势啊
    还是来个 benchmark 比较实在
    gouchaoer
        2
    gouchaoer  
       2017-11-21 11:16:51 +08:00   ❤️ 1
    二者实现原理上差别不大,性能差别不大,压测: http://blog.csdn.net/liyuming0000/article/details/51240798
    whx20202
        3
    whx20202  
       2017-11-21 11:26:46 +08:00   ❤️ 2
    只有我对 pg 不感冒吗

    我之前用的 mysql 用的很爽。
    pg 是堆表,不按照主键排序,mysql 的 innodb 是索引组织表,虽然说是各有利弊

    实际使用上我用 mysql 更舒服一点

    postgresql 那些什么多数据源,gist gin hash 索引我也用不到,还得担心 pg 的多版本并发控制带来的表膨胀

    另外 pg 进程模型,写日志却是单进程,连接数很大的时候,慢 SQL 进程争抢管道导致 系统 high load,进而更多的 SQL 变成慢 SQL 需要打日志,然后滚雪球了。。

    个人偏好还是 mysql
    dawncold
        4
    dawncold  
       2017-11-21 11:27:31 +08:00
    pg 性能并不一定最好,但绝对不会成为你的瓶颈,而且语法异常亲民!
    jy01264313
        5
    jy01264313  
       2017-11-21 11:27:33 +08:00
    MySQL 你用的是默认配置吧
    7654
        6
    7654  
       2017-11-21 11:30:44 +08:00
    有 oracle 为什么还要上面的 mysql 和 pg
    whx20202
        7
    whx20202  
       2017-11-21 11:34:45 +08:00
    对了,如果真想搞事情,oracle 也是个好选择,是不是最先进的不好说,起码功能很强大
    est
        8
    est  
       2017-11-21 11:45:28 +08:00   ❤️ 6
    MySQL 你是用 默认配置吧 +1

    关索引,关事物,调 innodb 缓存,用 csv 秒灌。

    pg 为什么当年玩不过 MySQL ?性能不行。

    MySQL 8 的性能太诱人了。实在没法喜欢 pg。
    NeinChn
        9
    NeinChn  
       2017-11-21 11:49:26 +08:00
    非常好奇什么叫做用 navcat 搬到 mysql 库.....
    az8321550924
        10
    az8321550924  
       2017-11-21 11:57:11 +08:00
    MySQL 8 来了
    yangqi
        11
    yangqi  
       2017-11-21 11:59:03 +08:00
    这么明显的软文,呵呵
    cstj0505
        12
    cstj0505  
    OP
       2017-11-21 12:25:05 +08:00
    @jy01264313 第一个部门的 mysql 是阿里云的 RDS,8 核 16G。
    第二个他们自己的业务系统的 mysql,具体配置我不清楚,不过 pg 也是在哪 2 个服务器上
    cstj0505
        13
    cstj0505  
    OP
       2017-11-21 12:26:51 +08:00
    @whx20202 oracle 当然是个很好的选择,数据源就是 oracle,不过这个试分析系统,不是业务系统,所以采用的开源数据库
    cstj0505
        14
    cstj0505  
    OP
       2017-11-21 12:28:50 +08:00
    @gouchaoer 你这个压测里面都是 insert,你试试 jdbc 的 copyin,这个就是 copyin 跑出来的
    cstj0505
        15
    cstj0505  
    OP
       2017-11-21 12:29:42 +08:00
    @whx20202 你的应用场景比较简单
    cstj0505
        16
    cstj0505  
    OP
       2017-11-21 12:31:28 +08:00
    @yangqi 我也不呵呵你了,不会仔细阅读原文啊,你有用过 copyin 吗,就说软文
    cstj0505
        17
    cstj0505  
    OP
       2017-11-21 12:32:48 +08:00
    @7654 oracle 是业务库,分析库估计不想买 license 了吧。不过不是一个部门,具体的原因我也不清楚。
    yangqi
        18
    yangqi  
       2017-11-21 12:37:27 +08:00
    @cstj0505 呵呵,你会用 mysql 么。按照你的体验如果 pg 真比 mysql 强那么多倍,那么多年都比不过 mysql, 你以为大家都是傻子,有好的不用?不是软文就是你真的不懂
    ren2881971
        19
    ren2881971  
       2017-11-21 12:39:15 +08:00
    用 oracle 的瑟瑟发抖。。。
    doubleflower
        20
    doubleflower  
       2017-11-21 12:42:21 +08:00
    这算是黑 pg 吗,和 mysql 比什么也不要比性能...
    panpanpan
        21
    panpanpan  
       2017-11-21 12:43:52 +08:00
    我看到用'''navcat 搬到 mysql 库'''...我就感觉是不是你们的方式不太对
    xi_lin
        22
    xi_lin  
       2017-11-21 12:49:57 +08:00
    @panpanpan 求教一下正确的方式是啥?用 mysqldump 对吗?
    caotian
        23
    caotian  
       2017-11-21 12:51:18 +08:00
    呃,工作几年的开发不知道 pg, 有情可原, 运维也不知道?
    cstj0505
        24
    cstj0505  
    OP
       2017-11-21 13:30:48 +08:00 via Android
    @yangqi 懒得泼妇骂街,就问问你啊,几亿条数据,怎么搞到 mysql 里面去,要花多久。
    你有好方案我和同事说了告诉他们去
    cstj0505
        25
    cstj0505  
    OP
       2017-11-21 13:32:55 +08:00 via Android
    @doubleflower 这有什么不能比的,可能某些事物场景下 mysql 有优势,但是大数据量下的并行查询,copyin 的数据写入不是性能吗
    realpg
        26
    realpg  
       2017-11-21 13:39:40 +08:00 via Android
    没过 GRE 不敢用
    glues
        27
    glues  
       2017-11-21 13:48:43 +08:00
    PG 现是在公认的最好的开源数据库,MySQL 自从被 Oracle 收购后几乎没啥进步了。
    楼上的那些无脑黑估计这辈子只用过单机 MySQL 吧,所以对他们来说用什么数据库是无所谓的
    stabc
        28
    stabc  
       2017-11-21 13:52:12 +08:00
    虽然数据库的选择方面我也站 PG,但是真要和 MYSQL 对比的话,最好还是公平点,严格点吧。我看你写的内容,无法确定对比的公平性。
    cstj0505
        29
    cstj0505  
    OP
       2017-11-21 14:00:27 +08:00
    @stabc 这个确实不是严格的压测,现在他们第一个最大的问题就是把几亿条数据从 oracle 搬到 mysql。mysql 他们去年就开始在客户那边用了,你要说他们会做有多少优化我不知道,但我觉得给几十个客户用了再生产上肯定不会是默认配置吧。还有另一个部门用的阿里云的 RDS8 核 16G。这个项目上几百个 mysql 实例了。


    但是就 pg 这样的写入速度,他们在 mysql 上应该是没见过。
    描述里面第二个场景服务器资源完全一样,因为在同样两台机器上分别做的测试。
    glues
        30
    glues  
       2017-11-21 14:02:11 +08:00   ❤️ 1
    肯定又有人说为什么阿里腾讯都用 MySQL,其实他们已经在大规模用了

    阿里双十一秒杀背后的技术
    https://yq.aliyun.com/articles/64351

    微信支付商户系统中运行近 3 年,管理超过 230 个节点和 400T 的数据量,也是全球最大的 PostgreSQL 集群之一
    https://www.qcloud.com/community/article/465912
    keymao
        31
    keymao  
       2017-11-21 14:03:41 +08:00
    不要用 navicat 导出导入脚本。 mysqldump 导出最佳,max_allowed_packet 调大些。

    至于 PG, 没用过,不评价。MySQL 的话优点,emmm 免费, 然后? 你问我然后? 没了。
    stabc
        32
    stabc  
       2017-11-21 14:08:47 +08:00
    @cstj0505 影响数据写入速度的因素很多,CPU 和内存速度,单个条目数据大小,数据关联程度等。超大量写入的话还要加上硬盘速度。我的建议还是要同样条件的公平对比。
    mazyi
        33
    mazyi  
       2017-11-21 14:12:47 +08:00 via iPhone
    不就导个几亿条数据嘛,工具不会用倒是怪起了数据库?
    Pastsong
        34
    Pastsong  
       2017-11-21 14:16:26 +08:00
    MariaDB 呢?
    cstj0505
        35
    cstj0505  
    OP
       2017-11-21 14:19:36 +08:00
    @stabc 就是同样的条件。就两台机器,同时装了 mysql 和 pg 的主备。起 mysql 的时候 pg 停掉,pg 的数据清掉。起 pg 的时候 mysql 停掉,mysql 的数据清掉。
    数据源都是同样几张来自 oracle 的数据表。
    stabc
        36
    stabc  
       2017-11-21 14:25:18 +08:00
    @cstj0505 并行呢?
    yushiro
        37
    yushiro  
       2017-11-21 14:28:40 +08:00 via iPhone
    @cstj0505 同一数据库的不同导入方式,性能会有巨大差异。以前用 insert 往 mssql 插入数据,那么叫慢啊,后来换用 mssql 的命令行 bcp 导数据,速度快了好几个数量级。
    cstj0505
        38
    cstj0505  
    OP
       2017-11-21 14:30:37 +08:00
    @stabc 都是一样的,一开始开了 100 个,cpu100%,然后我说你就 8 核的,就开了 10 个并行。
    liprais
        39
    liprais  
       2017-11-21 14:33:36 +08:00
    大部分工程师连 sql 都不会写,觉得数据库 = mysql ,说这些他们听不懂的
    cstj0505
        40
    cstj0505  
    OP
       2017-11-21 14:38:08 +08:00
    @yushiro insert 确实不会太快,不过我本地 pg ( i76700hq,16g,256SSD )当时开了 4 个线程 insert 到了 7 万 /s.同等情况下 mysql 只有 2 万。
    用 pg jdbc 的 copyin 更夸张,13w 行 /s.
    sunchen
        41
    sunchen  
       2017-11-21 14:40:18 +08:00   ❤️ 1
    不了解 postgres 的人可以看看这个博客 https://github.com/digoal/blog, 你就会对 postgres 有相见恨晚的感觉了
    wsy2220
        42
    wsy2220  
       2017-11-21 14:40:27 +08:00
    搞数据库的不知道 pg?
    tyfulcrum
        43
    tyfulcrum  
       2017-11-21 14:40:42 +08:00
    流行程度和好不好没关系,别拿这个来给 MySQL 背书。worse is better。
    torbrowserbridge
        44
    torbrowserbridge  
       2017-11-21 14:42:35 +08:00 via Android
    没听过 pg,鬼才信
    tabris17
        45
    tabris17  
       2017-11-21 14:42:46 +08:00
    我也知道 pg 比 mysql 好。但是还是用 mysql。

    为什么?

    因为 mysql 用的人多,如果有坑,会有人在你之前去趟平。。。
    stabc
        46
    stabc  
       2017-11-21 14:43:27 +08:00
    @cstj0505
    所以,你的意思是同样配置同样数据,MYSQL 100 个并行,PG 10 个并行,结果是 MYSQL 几个小时(我们就当超过 2 个小时),PG 只要 7 分钟。
    那么我认为你还是忽略了某些很重要的因素,因为单纯数据库的性能不可能差距这么大。
    cstj0505
        47
    cstj0505  
    OP
       2017-11-21 14:43:32 +08:00
    @wsy2220 比别说,听过就算不错了。我旁边十几年的 oracle dba,维护者上百个 oracle 实例,完全没听过。
    其他人也都是开始给他们用了才知道的
    buliugu
        48
    buliugu  
       2017-11-21 14:44:34 +08:00
    cstj0505
        49
    cstj0505  
    OP
       2017-11-21 14:45:06 +08:00
    @stabc 除了并行基本上都是对的,mysql,pg 应该最后都是 10 个并行。
    picone
        50
    picone  
       2017-11-21 14:45:33 +08:00
    @glues #30 这已经是 16 年的文章了。阿里早就放弃开源数据库,NoSQL 或者 Oracle 系了,自己弄了个 OceanBase,而且逐步取代原有的数据库。今年双 11 支付宝完全是跑在 OceanBase 了。
    BBCCBB
        51
    BBCCBB  
       2017-11-21 14:47:00 +08:00
    @liprais 从哪儿得出的结论呢??
    picone
        52
    picone  
       2017-11-21 14:48:54 +08:00
    MySQL 的配置太多,它默认的配置只是比较保守的配置。
    如果真要大批量导入数据,可以试试 disable key 了再导入,飞一般的体验。
    cstj0505
        53
    cstj0505  
    OP
       2017-11-21 14:50:10 +08:00
    @picone 看下面回复,刚才特意问了,不是默认配置。用作生产的不可能是默认配置
    picone
        54
    picone  
       2017-11-21 14:55:07 +08:00
    @cstj0505 #53 关闭索引导入有试过吗,这个提升很大的
    stabc
        55
    stabc  
       2017-11-21 14:56:31 +08:00
    @cstj0505 不是默认配置不代表是最优配置。你问问他们写入瓶颈在哪里看他们是否清楚就能猜到一二了。

    PG 是以“稳固、先进”著称的,如果谁问我选什么数据库我会优先推荐 PG,但是如果单纯问哪个数据库更快我还是会说 MySQL。
    cstj0505
        56
    cstj0505  
    OP
       2017-11-21 15:03:34 +08:00
    @picone 有试过,之前建议他们关闭索引,有改善但不明显。

    都有索引(他们索引比较多,貌似 60 还是 100 来个)的情况下,mysql 写入一分钟只有 3 万行 /s,pg 是 387 万行 /s
    cstj0505
        57
    cstj0505  
    OP
       2017-11-21 15:10:16 +08:00
    @stabc 是不是最优配置我就不清楚了,那个环境我也没登上去过。pg 的配置也只是从开发环境拷过去的一个配置,当时应该是按照 8 核 16GB 来配的。

    他们这个场景应该是个 olap 的场景,在这方面,pg 的优化器更先进,数据吞吐量更大,查询可以并行执行的特点其实更适合他们
    thecon
        58
    thecon  
       2017-11-21 15:14:59 +08:00
    几亿条数据用 navcat 导入..., 我也是醉了
    Hozzz
        59
    Hozzz  
       2017-11-21 16:00:39 +08:00
    oracle 不是随便用?被查到最多买几套意思下继续用...
    leopardwei
        60
    leopardwei  
       2017-11-21 16:07:21 +08:00
    不想说哪个好哪个差,用最熟悉最合适的就好,都有一堆的解决方法
    cstj0505
        61
    cstj0505  
    OP
       2017-11-21 16:20:41 +08:00
    又问了下,pg 的 4 多秒的时候是带索引的写入,一共有 100 个索引。
    crazyneo
        62
    crazyneo  
       2017-11-21 16:23:59 +08:00
    说都说不到点子上,一般吹 pg 比 mysql 好都是要吹流复制、并行读写、pgxz/gpdb 的事务管理,还有就是更完整的软件生态比如 cuda/ml 接口库,比如多应用类型支持,比如扩展数据源接口等等等等,有时候还会吹一吹查询优化器的遗传算法+动态规划。你这个例子里 pg 支持的列存引擎是速度差异的最重要因素,估计你光看结果都不知道为啥……
    只做应用和运维的话,最好不要贬低一个抬高另一个。
    assad
        63
    assad  
       2017-11-21 16:51:03 +08:00
    还是喜欢 Mysql,坑大家都踩的差不多了。好解决
    sunsh2017
        64
    sunsh2017  
       2017-11-21 17:11:24 +08:00
    我用 pg 的原因是,它支持的数据类型比较多,array,jsonb 数据类型,都很不错。
    cstj0505
        65
    cstj0505  
    OP
       2017-11-21 17:15:09 +08:00
    @crazyneo 你哪里看到我用了列存?还是你自己脑补的,“估计你光看结果都不知道我说了什么吧”

    你列的那些需要吹吗,用过的人自然懂,没用过的你和他说他也不知道。基本的 copyin 你看有几个人知道
    XIVN1987
        66
    XIVN1987  
       2017-11-21 17:24:53 +08:00
    好奇,,为什么快那么多??原因是啥?
    按说都是一个时代的东西,不可能 PG 有什么高科技技术 MySQL 开发人员不会啊!
    acczefly
        67
    acczefly  
       2017-11-21 18:18:55 +08:00
    一个级别的东西,没必要鼓吹某一个。。。
    pg 要真能这么好大家早就全切换 pg 了
    crazyneo
        68
    crazyneo  
       2017-11-21 18:21:36 +08:00
    @cstj0505 什么,你用 pg 做 olap 不用列存…… copyin 这是客户端的水果糖而已,字节流而已,实际上就是命令行的 copy,mysql 对应的是 csv load data,你先查查这二者的对比再来说……
    你抬 pg 我不知道啥基本想法,德哥给 pg 打过多少年广告了,从来没有什么拿 copyin 来作为切入点的。顺便给德哥打个广告,https://github.com/digoal/ 算是国内 pg 业界内资深大佬吧。
    cstj0505
        69
    cstj0505  
    OP
       2017-11-21 18:36:59 +08:00
    @crazyneo 谁告诉你 olap 就必须用列存的。再说列存也不是 pg 原生支持的,pg 的优化器并没有为列存专门做优化,列存相比原生的堆处理能有多大优势。你自己脑补的够多的。

    话说 pg 好用我还不能抬 pg 了?什么时候自己的嘴要账在别人身上。至于为什么说 copyin,只是恰好别人跑压测测到这个环节而已。批量导入确实谁都有,在你眼里 copyin 就是命令行的 copy 命令,那是你没玩好,copyin 在实时数据导入,流处理方面好处多了去。

    德哥为 pg 做的贡献搞 pg 的谁不知道。
    crabRunning
        70
    crabRunning  
       2017-11-21 19:08:22 +08:00
    还在用 5.5 各位大佬都用 8 了
    cjyang1128
        71
    cjyang1128  
       2017-11-21 19:13:58 +08:00
    特别不习惯 pg 命令行那些反斜杠开头的命令
    notreami
        72
    notreami  
       2017-11-21 19:41:27 +08:00
    pg 多少钱,我 oracle 买了!!!
    est
        73
    est  
       2017-11-21 19:52:06 +08:00
    @cstj0505 OLAP 列存储,100 亿条数据 groupby,70ms 出结果。
    frittle
        74
    frittle  
       2017-11-21 19:57:17 +08:00
    没用过 postgresql 不奇怪,但没听说过就太孤陋寡闻了吧?
    owenliang
        75
    owenliang  
       2017-11-21 20:00:01 +08:00
    看过 instgram 用 pg 做图片服务器,前面加一层 http cache。
    sfqtsh
        76
    sfqtsh  
       2017-11-21 20:00:55 +08:00 via Android
    pg 的文档写的非常好
    cstj0505
        77
    cstj0505  
    OP
       2017-11-21 20:15:03 +08:00 via Android
    @est 列存我知道好,不过 pg 优化器没有专门为列存做优化,我看一些评测下面 pg 下列存的效果不明显。
    sunchen
        78
    sunchen  
       2017-11-21 21:47:32 +08:00
    @est 生产环境 postgres + vertica + s3 + kafka 一套看上去很简单的组件, 但是干啥都是美滋滋
    yangqi
        79
    yangqi  
       2017-11-22 01:39:05 +08:00
    @cstj0505 看你这么外行,懒得多说。才几亿条数据 mysql 都不能快速搞定就白混那么多年了。
    azh7138m
        80
    azh7138m  
       2017-11-22 02:01:59 +08:00 via Android
    @panpanpan 一般用 navicat 迁移的,都是不建索引的主,性能慢其实也可以理解了:)
    kn007
        81
    kn007  
       2017-11-22 07:47:24 +08:00 via Android
    呵呵
    cstj0505
        82
    cstj0505  
    OP
       2017-11-22 08:34:50 +08:00 via Android
    @yangqi 你内行,几亿条数据你 7 分钟从 oralce 搞进 8 核 16g io100 左右的机器上的 mysql 我就服你,有本事别只会打嘴炮啊
    cstj0505
        83
    cstj0505  
    OP
       2017-11-22 08:35:56 +08:00 via Android
    @azh7138m 后来直接用 java 写了代码开了 10 个线程写,也就 30000 条一分钟
    cstj0505
        84
    cstj0505  
    OP
       2017-11-22 08:37:06 +08:00 via Android
    @sunchen 我们自己用的是 pg+hawq+spark+kafka,也好使
    azh7138m
        85
    azh7138m  
       2017-11-22 08:49:51 +08:00 via Android
    @cstj0505 MySQL 性能没这么不堪,姿势不对而已,
    光说数据量没啥意思啊,load file 导入 20+G 数据,7.5kw 条,DO 的小 VPS 也就用了 30 分钟
    cstj0505
        86
    cstj0505  
    OP
       2017-11-22 08:54:20 +08:00 via Android
    @azh7138m load file 当然快啊,但是 load file 要先把数据从 oracle 里面写出来落地吧,再 load 到 mysql。不知道您这个数据多少索引,他们是几十张表,一共上面有 100 个索引
    DavidGao
        87
    DavidGao  
       2017-11-22 09:01:52 +08:00
    目前使用 PG 9.5,准备紧跟时代步伐使用 PG 10
    hjlmjx
        88
    hjlmjx  
       2017-11-22 09:05:39 +08:00 via Android
    呵呵,呵呵,呵呵呵
    leeg810312
        89
    leeg810312  
       2017-11-22 09:07:44 +08:00 via Android
    在 lz 的环境中 pg 性能好就符合 lz 的观点了,认为 lz 不对的,lz 放点模拟数据出来,让楼上试试 mysql,有更好的方案也好让大家学习,也可以证明 mysql 的性能,这样互相嘴炮有啥意思?
    kindjeff
        90
    kindjeff  
       2017-11-22 09:10:51 +08:00 via iPhone
    为啥我用 mysql5.6 load data 四百万条数据才几十秒钟。
    cstj0505
        91
    cstj0505  
    OP
       2017-11-22 09:18:08 +08:00
    @kindjeff 这种导出到文件的,每个数据库都快。

    我们同事是数据在 oracle 里面,不在文件里面。如果导文件每天要倒一次还要比较记录条数,控制数据格式,重建索引,如果把这个做成一套逻辑的话就比较麻烦了
    zacard
        92
    zacard  
       2017-11-22 09:23:09 +08:00
    围观数据库大佬的解决方案
    sagaxu
        93
    sagaxu  
       2017-11-22 09:23:43 +08:00 via Android
    copyin 和 insert 原理不同,你应该分别尝试下 mysqldump 的几种不同体位
    azh7138m
        94
    azh7138m  
       2017-11-22 09:27:16 +08:00 via Android
    @cstj0505 就个 hash 索引
    你不是 navicat 迁移的数据?这么搞没索引的啊
    cstj0505
        95
    cstj0505  
    OP
       2017-11-22 09:31:26 +08:00
    @sagaxu 他们数据源在 oracle 里面,不好用 mysqldump 吧

    实际业务场景就是 oracle 与文物库里面的数据,每天算好报表以后同步到 mysql。大概几十张表,100 个索引,数据量 40 多 G。
    cstj0505
        96
    cstj0505  
    OP
       2017-11-22 09:36:29 +08:00
    @azh7138m navcat 是现在在生产上跑的。

    然后这次测试他们有分别用过 kettle/和手写 java 程序 先导数据,再建索引;索引存在的时候导数据。测下来 10000 条 /30s 左右就没测了。数据落地的方案肯定要快些,但是流程控制比较长,他们也没人专门维护这个,所以不愿意选择
    janxin
        97
    janxin  
       2017-11-22 09:36:49 +08:00
    MySQL 优点,用的人多,当然坑也多,好歹搜索能找到答案=,=
    kiddult
        98
    kiddult  
       2017-11-22 09:51:10 +08:00
    看楼主描述大概能猜出同事的水平了,一个事情如果两种方式做,能有数量级的差距,基本是方式问题,不过具体到工具上,楼主真的觉得 MySQL 的开发人员智商会比 PG 的低一个数量级?我是不信 O(∩_∩)O
    cloudzhou
        99
    cloudzhou  
       2017-11-22 10:06:48 +08:00
    这个事情我刚好测试过,分别是:
    1 单个插入
    2 批量插入
    3 批量 + 事务
    4 Load File
    并且 Sql vs PrepareStatement,不同的批量个数,并发等
    几种方式比较,时间数量级别的差距

    所以这个本身你们就是要考虑的,需要仔细调优
    robinlovemaggie
        100
    robinlovemaggie  
       2017-11-22 10:42:33 +08:00
    用 NoSQL 的表示笑而不语,你们接着吵……
    1  2  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1023 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 45ms · UTC 19:20 · PVG 03:20 · LAX 12:20 · JFK 15:20
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.