mysql, pgsql 默认配置情况下吹一波 postgresql 了

2016-08-12 11:43:27 +08:00
 cstj0505

今天做一个 python 链数据库的练习。 结果 psycopg2 和 pg9.6 不兼容。 就另外装了 mysql5.5 。

机器: OS:debian jessie cpu : 6700hq 内存: 16G 硬盘: 256 ssd+2T 机械硬盘 数据库 datadir 都在 ssd 上。

都是默认配置,没有任何优化。

导数:使用 kettle 把机械硬盘上的文本写到数据库里。 etl 程序同一个,就是改了数据库链接。数据条数 700 多万条。 pg 写入速度: 25000r/s mysql:12000r/s

查询: select clientip,sum(totservertime) from videolog group by clientip order by sum(totservertime) desc; 运行时间: pg : 3s mysql : 1 min 4.60 sec

postgresql 这波鸡血打的真足。

2026 次点击
所在节点    数据库
25 条回复
aphorism
2016-08-12 20:01:15 +08:00
@greenskinmonster

看了一下这篇 https://eng.uber.com/mysql-migration/ 和这篇 https://eng.uber.com/schemaless-part-one/ ,其实准确地讲, Uber 不是转到了 MySQL ,而是转到了以 MySQL 为基础开发形成的一个私有数据库实现 SCHEMALESS 上。按照他们在博客中提到的, PostgreSQL 在基于互联网的数据复制方面有一些设计缺陷,这是很正常的。这不能证明 MySQL 比 Postgresql 更强,但可以说明 MySQL 的有些设计对于 Uber 的应用而言更合适,而且做一个 MySQL mod 比在 PostgreSQL 基础上改动可能更容易。其实要是我,可能就直接在 PostgreSQL 的基础上改造了。
greenskinmonster
2016-08-12 20:43:15 +08:00
@aphorism 嗯,我只是提一下这个事情,并没说 Mysql 和 Postgres 谁好谁坏。根据自己的应用场合选择不同的解决方案,这个才是更重要的。
mathgl
2016-10-19 15:06:36 +08:00
@jjx 有 connection pool 100 个也够了。
jjx
2016-10-19 16:45:28 +08:00
@mathgl

企业软件每个事务时间长, 有时会不够, 互联网应用可能好些

现在自己部署都是默认 100 个不变, rds 用的是 200
mathgl
2016-10-19 19:12:53 +08:00
@jjx 如果是很长的事务是不是用队列做更好些?

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

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

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

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

© 2021 V2EX