今天做一个 python 链数据库的练习。 结果 psycopg2 和 pg9.6 不兼容。 就另外装了 mysql5.5 。
机器: OS:debian jessie cpu : 6700hq 内存: 16G 硬盘: 256 ssd+2T 机械硬盘 数据库 datadir 都在 ss 上。
都是默认配置,没有任何优化。
导数:使用 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 这波鸡血打的真足。
![]() | 1 est 2016-08-12 12:14:11 +08:00 9.6 怎么也得跟 5.7 比吧。 |
![]() | 2 aphorism 2016-08-12 12:29:21 +08:00 按照我一直以来的看法, PostgreSQL 的功能、性能、可扩展性等比 MySQL 不知道高到哪里去了;不过说到流行度, MySQL 就要略胜一筹。 |
![]() | 4 okampfer 2016-08-12 12:41:45 +08:00 跟 python 的连接库有没有关系呢? |
5 nikoukou 2016-08-12 12:42:21 +08:00 求问楼主的实验数据哪里弄来的。。 pq 对地理数据的支持是最好的。 |
![]() | 6 mathgl 2016-08-12 12:58:05 +08:00 试试看 percona mysql 5.7 + rocksdb engine |
![]() | 7 greenskinmonster 2016-08-12 13:08:03 +08:00 via Android 前几天看新 Uber 从 PostgreSQL 迁移到 MySQL 了,不过一直都想试试 PostgreSQL |
8 zwh8800 2016-08-12 14:55:33 +08:00 索引呢?表结构呢?这些不讲的话结果没意义。 |
11 yangdehua 2016-08-12 16:41:22 +08:00 innodb 的配置敢不敢发一波,说不定是你的配置不匹配呢, heavy write 的场景下, innodb 也有很多优化手段的 |
13 zwh8800 2016-08-12 16:50:30 +08:00 @cstj0505 不加索引, select 肯定慢出翔。学数据库很大部分是学怎么加索引。 你不如在 mysql 下执行一下 `explain select clientip,sum(totservertime) from videolog group by clientip order by sum(totservertime) desc;` mysql 会给你讲解出你这条语句为什么执行的这么慢。 |
![]() | 14 pubby 2016-08-12 16:54:34 +08:00 楼主在测默认配置的 全表扫描,怎么楼上都开始讲索引了? |
15 cstj0505 OP |
16 cstj0505 OP |
17 cstj0505 OP |
19 jjx 2016-08-12 17:01:01 +08:00 postgresql 默认 100 个连接 |
20 cstj0505 OP |
![]() | 21 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 的基础上改造了。 |
![]() | 22 greenskinmonster 2016-08-12 20:43:15 +08:00 @aphorism 嗯,我只是提一下这个事情,并没说 Mysql 和 Postgres 谁好谁坏。根据自己的应用场合选择不同的解决方案,这个才是更重要的。 |
24 jjx 2016-10-19 16:45:28 +08:00 |