用了 mysql 的同事遇到 pg 都相逢恨晚 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
cstj0505
V2EX    数据库

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

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

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

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

    另外一个部门每天要把几亿条数据从 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  
    PRO
       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  
    PRO
       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 个并行。
    F281M6Dh8DXpD1g2
        39
    F281M6Dh8DXpD1g2  
       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     Solana     1317 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 35ms UTC 23:55 PVG 07:55 LAX 16:55 JFK 19:55
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86