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

2017-11-21 11:06:32 +08:00
 cstj0505

某业务部门的同事们,生成一亿条数据写入 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 相逢恨晚了。

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

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

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

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

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

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

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

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

MySQL 8 的性能太诱人了。实在没法喜欢 pg。
NeinChn
2017-11-21 11:49:26 +08:00
非常好奇什么叫做用 navcat 搬到 mysql 库.....
az8321550924
2017-11-21 11:57:11 +08:00
MySQL 8 来了
yangqi
2017-11-21 11:59:03 +08:00
这么明显的软文,呵呵
cstj0505
2017-11-21 12:25:05 +08:00
@jy01264313 第一个部门的 mysql 是阿里云的 RDS,8 核 16G。
第二个他们自己的业务系统的 mysql,具体配置我不清楚,不过 pg 也是在哪 2 个服务器上
cstj0505
2017-11-21 12:26:51 +08:00
@whx20202 oracle 当然是个很好的选择,数据源就是 oracle,不过这个试分析系统,不是业务系统,所以采用的开源数据库
cstj0505
2017-11-21 12:28:50 +08:00
@gouchaoer 你这个压测里面都是 insert,你试试 jdbc 的 copyin,这个就是 copyin 跑出来的
cstj0505
2017-11-21 12:29:42 +08:00
@whx20202 你的应用场景比较简单
cstj0505
2017-11-21 12:31:28 +08:00
@yangqi 我也不呵呵你了,不会仔细阅读原文啊,你有用过 copyin 吗,就说软文
cstj0505
2017-11-21 12:32:48 +08:00
@7654 oracle 是业务库,分析库估计不想买 license 了吧。不过不是一个部门,具体的原因我也不清楚。
yangqi
2017-11-21 12:37:27 +08:00
@cstj0505 呵呵,你会用 mysql 么。按照你的体验如果 pg 真比 mysql 强那么多倍,那么多年都比不过 mysql, 你以为大家都是傻子,有好的不用?不是软文就是你真的不懂
ren2881971
2017-11-21 12:39:15 +08:00
用 oracle 的瑟瑟发抖。。。
doubleflower
2017-11-21 12:42:21 +08:00
这算是黑 pg 吗,和 mysql 比什么也不要比性能...

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/408181

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX