免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123下一页
最近访问板块 发新帖
查看: 26588 | 回复: 23
打印 上一主题 下一主题

PostgreSQL性能问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-09-01 00:32 |只看该作者 |倒序浏览
最近在为一个项目做技术选型。Web项目,设计目标是承载大量的用户和数据,并涉及频繁的数据统计和分析,可能会运用到不少商业智能、统计模型和预测的应用。一直在犹豫到底是使用Postgres还是mySQL。

通常来说,mySQL更快速,更简单,也更流行,不仅适用于一些轻量级的应用,也有相当一部分大型站点都在使用mySQL。而PostgreSQL功能和特性更丰富。

但在海量数据和百万级用户以及高并发连接,以及复杂的业务逻辑的情况下,到底这两种数据库哪种表现更好--性能和稳定性?我查了很多资料,对比测试基本上都是两三年前的东西了。不知道对现在的MySQL5和PG8,有没有最新的这方面的数据。

有经验的大牛不妨指教下。在国内还是mySQL占绝大多数,但PG的很多特性让我心动。

论坛徽章:
0
2 [报告]
发表于 2006-09-01 22:49 |只看该作者
你的要求恐怕最好是使用Oracle,DB2 强力商业数据库才合适.

如果非要用开源的,在Mysql与PostgreSQL之间选,更合适的是PostgreSQL:

1."海量数据","复杂业务逻辑" 这两条 PostgreSQL占绝对优势,Mysql 的确快,但只是在小数据量时很快,但如果巨量数据,性能下降很快比PostgreSQL快多了.

在巨量数据条件下Mysql可靠性成问题,今天就有朋友给我抱怨"我也就做DIscuz-BBS Mysql 库也就10GB 大,数据时不时损坏,经常需要mycheck修复数据才行.很想让系统定期check";另一个朋友也插话说他的mysql数据库到了100G后三天两头数据损坏,搞的头大.

Postgresql 我所知道的例子是有库到了4TB 正常运行.

2."频繁的数据统计和分析,可能会运用到不少商业智能、统计模型和预测的应用" 这条也是 PostgreSQL占优势.

Mysql 只在到了5.0 时引进了,InnoBDB 数据表格式后 才具有初步的事务处理能力,目前还是很简陋,且,InnoBDB 比 默认的 MyISAM 性能差.

Mysql 如果只是查询数据(数据不多)性能不错,但其他操作就没那么出色.如果用InnoBDB 和开启 Mysql 5.0 以来添加的新的企业用途功能后,性能根本不能与PostgreSQL比.


PostgreSQL 功能很全,甚至有些功能商业数据库也不具备,用于商业事物处理的功能很久以前就很成熟.


呵呵,我也是PostgreSQL新手,只是喜欢探索和看书,看资料.

你这种要求,最好去咨询国内最著名的PostgreSQL 大牛 何伟平 -->去他的 www.pgsqldb.org 找他,他是创办人,有丰富的PostgreSQL商用经验,最近在 <<程序员杂志>>2006-6月号上发表一篇专门介绍 开源数据库的文章(Mysql,Postgresql,FireBird),也简单介绍了一个PostgreSQL商用案例.

[ 本帖最后由 likuku 于 2006-9-1 22:51 编辑 ]

论坛徽章:
0
3 [报告]
发表于 2006-09-01 23:31 |只看该作者
非常感谢!基本上确立了我使用PostgreSQL的信心!

之所以要采用开源数据库,原因很简单,就是成本问题。如果不考虑成本问题,肯定会选用oracle。而且我一直觉得良好的数据库设计非常之重要,如果这方面做得好的话,用开源数据库一样能支撑非常大规模的应用。有相当多的大型网站使用MySQL就证明了这一点。

论坛徽章:
0
4 [报告]
发表于 2006-09-03 21:37 |只看该作者
Eclipse 下有好几个DB开发工具,也有DB可视设计工具。

Aqura Data Studio 也是Postgresql 开发团队的一款免费数据库开发/管理工具。

论坛徽章:
0
5 [报告]
发表于 2006-09-04 00:41 |只看该作者
gh.duowan.com,使用PostgreSQL。

27G的数据量,200W的日访问量

下面是该网站维护者Chanix给我的回复,仅作参考:

---------------------------------

我的机房是电信线路,网通访问比较慢。这几天流量突涨,效率上正在进行优化。从最前端的 squid 到最后的 数据库服务器都在不断调整和优化中。

我负责的站也有社会性软件的思想设计的社区。可以看看 http://home.duowan.com

PG不是完美的数据库,肯定是有缺点的。我认为主要的缺点就是进程模式,一个进程处理一个连接,这样的处理方式较消耗资源。不过从另外一方面来讲,就是因为使用了“落后的”进程模式所以才能达到这么稳定的效果。世上的东西总是双刃剑。。。

MYSQL的确是快,呵呵,特别是ISAM。目前使用MYSQL做SNS类型网站的成功案例也不少。例如 mixi.jp myspace.com LiveJournal.com 等等,都是上T容量,上百台数据库服务器。。。而且MYSQL支持的表的类型比较多,ISAM INNODB HEAP。。。可以按照数据的使用状态来进行灵活的使用。

说说为什么我选择PG吧。
我选择PG是因为从6系列开始我就一直在用,比较熟悉。而且我实在是不认为没有ACID的东西可以叫数据库。。。当时MYSQL还在3系列,连最基本的事务功能也没有,更加别说什么触发器,函数了。插入记录竟然还是表锁,并发插入一多,整个系统马上和纸搭的房子一样坍塌掉(很不幸,当时我做的那个应用插入比较多)。。。

MYSQL也有它的优点,这个不是重点,我就不多说了。

我对PG比MYSQL熟悉的多。所以我选择PG。这个是最主要的原因。到目前为止,PG还没有让我失望。我觉得你的选型也可以这样考虑的,从实际中看两者各有优劣。也各有成功案例。很难说SNS只有PG能做,或者只有PG能做。

还是那句话,没有好的数据库,只有合适的数据库。找到最合适你使用的数据库才是最好的选择 微笑 正如我虽然选择PG,但没有排斥MYSQL,在我负责的站点中,还是有很多应用是使用MYSQL的。


顺带说一句:
MYSQL要4系列以后,使用INOODB才支持事务。而INOODB与PG之间的效率差别我测试的结果不是很大。

有空可以去看看源代码。MYSQL支持事务的那段代码比起PG比较起来,PG的清晰多了(虽然,我哪个都写不出来 害羞 )。

PG的确稳定,我有个应用我正准备废掉,所以不想花时间优化了,那台数据库服务器每天UPTIME超100。我现在都懒的管了。反正只要访问的人少了,肯定能恢复过来。换成MYSQL,已经崩溃,数据库受损了。

PG一旦出问题,那就是真的出问题了。MYSQL不是,出问题了,你可以通过 repair 来修,不过修理的结果是对是错,你就自己掌握吧。我是试过一个表,系统很高兴的告诉我修理成功!结果发现唯一键字都出重复,害的我整了一通宵。

PG最大的问题我认为在于一个连接一个进程。一台机器上最大的进程数是有限制的,也就意味着可以同时处理的连接数比MYSQL小的多。

PG需要整理,虽然8系列以后出现了 auovaccum 但是还是很麻烦。这也是目前我比较头痛的问题。因为网站是24*7对外开放的,所以不可能停机去VACCUM FULL,幸好机器硬盘够大,呵呵。这个问题也是我一直想请教LARSER的。

PG的中文资料太少!用的人少,可以请教的人也不多。不象MYSQL,哪个书店里面都有什么XXX天精通MYSQL之类的书,到处都有人吹嘘自己精通MYSQL(即使他只会SELECT + UPDATE)。

论坛徽章:
0
6 [报告]
发表于 2006-09-04 00:43 |只看该作者
总结了两个最主要的问题:

  一个连接使用一个进程,并发连接受限;
  数据库需要整理,vaccum比较麻烦,因为在线服务不能中断

有经验的请不吝指教,欢迎讨论

论坛徽章:
1
荣誉版主
日期:2011-11-23 16:44:17
7 [报告]
发表于 2006-09-04 01:12 |只看该作者
这是我的一个案例,当时怕引起口水战,没直接放这里,不妨看着玩玩

论坛徽章:
0
8 [报告]
发表于 2006-09-04 10:15 |只看该作者

论坛徽章:
0
9 [报告]
发表于 2006-09-25 23:40 |只看该作者
原帖由 pilgrim_kevin 于 2006-9-4 00:43 发表
总结了两个最主要的问题:

  一个连接使用一个进程,并发连接受限;
  数据库需要整理,vaccum比较麻烦,因为在线服务不能中断

有经验的请不吝指教,欢迎讨论


并发连接受限,主要是由于平台的问题还是硬件资源的问题产生的???还是其他原因??

论坛徽章:
0
10 [报告]
发表于 2006-10-02 12:21 |只看该作者
"数据库需要整理,vaccum比较麻烦,因为在线服务不能中断"

这个就是我当初放弃 v7.2 的原因.原来选择数据库的时候,mysql还不能实现事务.因此用了 PGSQL,但是因为我的应用存在大量的 update, insert, delete 操作,最终 PGSQL 放弃,换成 mysql v4.0(支持事务).同样 Dual CPU的机器, mysql能处理的更多.数据不多,也就是几个G.

关心 PGSQL v8.x 在 VACUUM 方面的改进状况.我们的需求也是 24 X7 服务.
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP