PostgreSQL 与 MySQL 相比,优势何在?

一、 PostgreSQL 的稳定性极强, Innodb 等引擎在崩溃、断电之类的灾难场景下抗打击能力有了长足进步,然而很多 MySQL 用户都遇到过Server级的数据库丢失的场景——mysql系统库是MyISAM的,相比之下,PG数据库这方面要好一些。
二、任何系统都有它的性能极限,在高并发读写,负载逼近极限下,PG的性能指标仍可以维持双曲线甚至对数曲线,到顶峰之后不再下降,而 MySQL 明显出现一个波峰后下滑(5.5版本之后,在企业级版本中有个插件可以改善很多,不过需要付费)。
三、PG 多年来在 GIS 领域处于优势地位,因为它有丰富的几何类型,实际上不止几何类型,PG有大量字典、数组、bitmap 等数据类型,相比之下mysql就差很多,instagram就是因为PG的空间数据库扩展POSTGIS远远强于MYSQL的my spatial而采用PGSQL的。

四、PG 的“无锁定”特性非常突出,甚至包括 vacuum 这样的整理数据空间的操作,这个和PGSQL的MVCC实现有关系。
五、PG 的可以使用函数和条件索引,这使得PG数据库的调优非常灵活,mysql就没有这个功能,条件索引在web应用中很重要。
六、PG有极其强悍的 SQL 编程能力(9.x 图灵完备,支持递归!),有非常丰富的统计函数和统计语法支持,比如分析函数(ORACLE的叫法,PG里叫window函数),还可以用多种语言来写存储过程,对于R的支持也很好。这一点上MYSQL就差的很远,很多分析功能都不支持,腾讯内部数据存储主要是MYSQL,但是数据分析主要是HADOOP+PGSQL。
七、PG 的有多种集群架构可以选择,plproxy 可以支持语句级的镜像或分片,slony 可以进行字段级的同步设置,standby 可以构建WAL文件级或流式的读写分离集群,同步频率和集群策略调整方便,操作非常简单。
八、一般关系型数据库的字符串有限定长度8k左右,无限长 TEXT 类型的功能受限,只能作为外部大数据访问。而 PG 的 TEXT 类型可以直接访问,SQL语法内置正则表达式,可以索引,还可以全文检索,或使用xml xpath。用PG的话,文档数据库都可以省了。
九,对于WEB应用来说,复制的特性很重要,mysql到现在也是异步复制,pgsql可以做到同步,异步,半同步复制。还有mysql的同步是基于binlog复制,类似oracle golden gate,是基于stream的复制,做到同步很困难,这种方式更加适合异地复制,pgsql的复制基于wal,可以做到同步复制。同时,pgsql还提供stream复制。
十,pgsql对于numa架构的支持比mysql强一些,比MYSQL对于读的性能更好一些,pgsql提交可以完全异步,而mysql的内存表不够实用(因为表锁的原因)

最后说一下我感觉 PG 不如 MySQL 的地方。
第一,MySQL有一些实用的运维支持,如 slow-query.log ,这个pg肯定可以定制出来,但是如果可以配置使用就更好了。
第二是mysql的innodb引擎,可以充分优化利用系统所有内存,超大内存下PG对内存使用的不那么充分,
第三点,MySQL的复制可以用多级从库,但是在9.2之前,PGSQL不能用从库带从库。
第四点,从测试结果上看,mysql 5.5的性能提升很大,单机性能强于pgsql,5.6应该会强更多.
第五点,对于web应用来说,mysql 5.6 的内置MC API功能很好用,PGSQL差一些。

另外一些:
pgsql和mysql都是背后有商业公司,而且都不是一个公司。大部分开发者,都是拿工资的。
说mysql的执行速度比pgsql快很多是不对的,速度接近,而且很多时候取决于你的配置。
对于存储过程,函数,视图之类的功能,现在两个数据库都可以支持了。
另外多线程架构和多进程架构之间没有绝对的好坏,oracle在unix上是多进程架构,在windows上是多线程架构。
很多pg应用也是24/7的应用,比如skype. 最近几个版本VACUUM基本不影响PGSQL 运行,8.0之后的PGSQL不需要cygwin就可以在windows上运行。
至于说对于事务的支持,mysql和pgsql都没有问题。

时间: 2024-11-08 23:29:48

PostgreSQL 与 MySQL 相比,优势何在?的相关文章

30、40多岁的人互联网创业优势何在?

  每年的中国首富排行榜大家都盯着的,不是李彦宏,就是马化腾,下一步应该是在美国上市后的新贵马云了.他们都很年轻地拥有了数百亿的财富,他们也都曾白手起家,并非富二代官二代.不可否认的是互联网行业不仅在中国乃至世界都是发财最快的行业.   说说雷军,2010年专注移动互联网和手机创业,小米公司估值百亿美元,雷军创业三年仅是小米公司估值已让他成为数百亿身家的人.   唯品会,中国第四大互联网公司,上市后股价达到170美元.市值超过100亿美元,唯品会的两位创始人沈亚是传统贸易行业出身,另外一名合伙人

云时代 刀片服务器优势何在?

由于http://www.aliyun.com/zixun/aggregation/13883.html">虚拟化技术和云计算的大行其道,刀片服务器似乎也顺应这一大潮成为用户更青睐的硬件选择.但是刀片服务器机柜的市场终究还在起步阶段,刀片服务器的出货量在整个服务器产品中的份额比重并不大. 但是由于刀片的高计算密度.灵活管理等特性,使得刀片服务器尤其适用于计算密集型的企业应用,比如说适合以集群方式部署成HPC应用,在这一点上,刀片服务器机柜有着机架式不可比拟的优势. 什么是刀片服务器? 刀片

服务器市场:刀片当道 优势何在?

由于http://www.aliyun.com/zixun/aggregation/13883.html">虚拟化技术和云计算的大行其道,刀片服务器似乎也顺应这一大潮成为用户更青睐的硬件选择.但是刀片服务器机柜的市场终究还在起步阶段,刀片服务器的出货量在整个服务器产品中的份额比重并不大. 但是由于刀片的高计算密度.灵活管理等特性,使得刀片服务器尤其适用于计算密集型的企业应用,比如说适合以集群方式部署成HPC应用,在这一点上,刀片服务器机柜有着机架式不可比拟的优势. 什么是刀片服务器? 刀片

PostgreSQL实现MySQL"insertignore"语法

          对MySQL熟悉的人可能都知道,MySQL 有一个"insert ignore" 语法来忽略已经存在的记录. PostgreSQL暂时不提供这样的语法,但是可以用其他方法来代替. t_girl=# d insert_ignore Table "ytt.insert_ignore" Column | Type | Modifiers ----------+------------------------+----------- id | integ

PostgreSQL和MySQL的存储层深度解析

PostgreSQL和MySQL的存储层深度解析 李海翔  DTCC2014 PostgreSQL是以加州大学伯克利分校计算机系开发的 POSTGRES,现在已经更名为PostgreSQL,版本 4.2为基础的对象关系型数据库管理系统(ORDBMS).PostgreSQL支持大部分 SQL标准并且提供了许多其他现代特性:复杂查询.外键.触发器.视图.事务完整性.MVCC.同样,PostgreSQL 可以用许多方法扩展,比如, 通过增加新的数据类型.函数.操作符.聚集函数.索引免费使用.修改.和分

PostgreSQL VS MySQL's Storage EngineSss..

初次接触MySQL,简单的和PostgreSQL做一个对比,主要是存储引擎这块.(个人认为虽然MySQL支持存储引擎的热插拔,并且存储引擎五花八门,MySQL的说法是适应不同的应用场景,非常抱歉的是现在的应用都是比较综合型的,MySQL的大多数引擎已经不能适合现在的应用,而PostgreSQL应对现在的高并发业务非常适合,对比如下)参考<High Performance MySQL>一书,书是2008年6月份出版的(因此可能以下的对比拿到现在会有些出入).首先简单的介绍一下MySQL的架构,如

PostgreSQL and MySQL lock compare ext.

事情的起因是这样的,今天同事碰到MYSQL奇怪的慢查询问题,大概如下: select * from table where id=? id是主键,按常理,这条SQL应该很快才对,但是每天都有不定期的出现慢的情况. 这个表只有三种操作,insert delete ,select. 经过下面的实验发现了一个很严重的问题,MYSQL的锁似乎有点暴力,在对表进行DML操作的时候,SELECT需要等待. 测试如下(分别对MyISAM和innodb引擎的表进行了测试): create table tbl_t

挑战谷歌云存储 微软SkyDrive优势何在

Google Drive的发布使得人们开始重视云存储,虽然云存储巨头Dropbox尚且沉默应对,但是作为同样的IT巨头,微软在谷歌推出云存储的一天后就推出SkyDrive来应对谷歌的竞争,微软新的SkyDrive改进了同步文件上传和存储的能力,同时增加了对Windows平台外的终端支持,包括苹果的OS X.iPad.iPhone等等都可以运行微软的SkyDrive应用程序,这是自2007年以来,五年后微软第一次推出在线存储解决方案. 如果你的企业正在寻找一个跨平台的多个设备的云同步存储服务,面对

服务器用双核处理器优势何在

服务器 英特尔预计: 在2006年将有超过85%的服务器处理器采用双核或多核架构.现将读者对双核技术的一些疑惑和问题进行整理解答,以便其共享.那到底什么是双核处理器? 简单的说,所谓双核处理器就是在一个处理器基板上集成两个功能相同的处理器核心,即将两个物理处理器核心整合入一个内核中.处理器实际性能是处理器在每个时钟周期内所能处理指令数的总量,因此增加一个内核,处理器每个时钟周期内可执行的单元数将增加一倍. 事实上,将两个处理器内核放到一个物理核心之上并不是什么新技术.在上个世纪末期,高端多处理机