平台和工作负载 以下是使用MySQL或者PostgreSQL具有代表性的网站: MySQL: ●Slashdot(资讯科技网站) ●Wikipedia(维基百科) PostgreSQL: ●Yahoo运行一个多拍字节修改后的PostgreSQL数据库处理每天数十亿事件 ●Reddit(新闻网站) ●Disqus(社会性媒体) MySQL和PostgreSQL有很多共同点,它们都可以运行在多个操作系统上,如Linux、 Unix、Mac OS X和Windows系统;它们都是开源的和免费的,因此测试只需要耗费时间和硬件;它们都很灵活,使用范围很广,不管是小型部署还是大型分布式系统均可使用。MySQL比PostgreSQL小一个级别,利用libmysqld进入嵌入式空间。PostgreSQL不支持嵌入式应用,坚持替代传统客户机/服务器架构。 MySQL通常被认为是网站和应用程序最快捷的数据库后台,执行快速读取和大量琐碎查询,但是提供较少的复杂功能和数据完整性检查。PostgreSQL被认为是正式的、功能齐全的、讲求实际的事务型企业应用主力,完全符合ACID原则以及大多数据完整性检查。为了使某些任务的速度更快,MySQL分别执行不同的存储引擎。MySQL的MyISAM是迄今为止最快的引擎,因为它执行最少的数据完整性检查。MyISAM为繁忙的只读网站后台工作,但是任何读/写数据库都包含敏感数据将会成为灾难,因为MyISAM表将不可避免的损坏。MySQL对已损坏的MyISAM表有恢复工具,但对于敏感数据,InnoDB引擎是一个更好的选择,因为它符合ACID原则。 相比之下,PostgreSQL是一个完全与独立存储引擎集成的数据库服务器。通过调整postgresql.conf的参数,并对查询和处理稍作调整,便可以提高性能。 MySQL和PostgreSQL都是可配置的,并可以为不同的任务调整以优化性能。新增功能都支持扩展。 人们通常认为MySQL比PostgreSQL更容易学习。其实关系数据库管理系统都是复杂的,规则较多,因此这两个数据库具有相似的学习曲线。 |