只需一步,快速开始
使用道具 举报
mark35 发表于 2012-6-7 10:42 直观技术对比: http://bbs.chinaunix.net/thread-1688208-1-1.html (CU正在维护中) 更详尽的 ...
六、那么我究竟应该使用MySQL还是PostgreSQL 这个问题很难说得清,而且事实上除了MySQL和PostgreSQL外,使用Oracle、Sybase、Informix等也是明智的选择。如何你确定只在MySQL和PostgreSQL中进行选择,以下规则总是有效的。 1、如果你的操作系统是Windows,你应该使用MySQL。 2、如果你对数据库并不了十分了解,甚至不知道事务、存储过程等究竟是什么,你应该使用MySQL。 3、如果你的应用对数据的完整性和严肃性要求不高,但是追求处理的高速度。例如是一个论坛和社区,你应该使用MySQL。 4、你的应用是一个严肃的商业应用,对数据完整性要求很高。而且你希望对一些商业数据逻辑进行很好的封装,例如是一个网上银行,你应该使用PostgreSQL。 5、你的应用处理的是地理数据,由于R-TREES的存在,你应该使用PostgreSQL。 6、你是一个数据库内核的狂热爱好者,你甚至希望拥有你自己版本的数据库,毫无疑问,你必须使用PostgreSQL,没准下一个PostgreSQL版本中某一个模块的作者就是你。 原文地址:http://it.chinawin.net/database/article-5c10.html
开源数据库不一样的声音!您所不了解的PostgreSQL!(获奖名单已公布-2012-5-23) http://bbs.chinaunix.net/thread-3701209-1-1.html
在技术上,我觉得POSTGRESQL跟商业的数据库上差异并不很大,随着更多的商业公司开始资助POSTGRESQL项目,这种技术上的差异,会更加缩小, 比如著名的网络电话公司SKYPE使用POSTGRESQL支撑全球业务,巴西CAIXA银行核心业务上使用它,就有力地证明在技术上的可行。 在海量数据处理年代,使用传统的商业数据库成本越来越昂贵,而事实上,新崛起的大型网络数据处理公司,基本上都是用开源解决方案,连淘宝这种有钱的公司,也开始逐步要“去ORACLE化”,可见,开源数据库的应用具有趋势性,掌握一种主流的开源数据库,是从事数据处理技术人员的一种必须工具。 POSTGRESQL由于在8.0之前,没有原生的WINDOWS版,导致应用面比较窄,使MYSQL这种缺乏很多数据库基本特性的产品,大行其道。 现在我们公司的一个小型系统中,就使用了POSTGRESQL来处理数据,感觉很爽,我可以在LINUX、FREEBSD等操作系统中测试折腾,在配置文件中,设定参数,调整优化,还可以看源代码,他们是怎么处理的(虽然看不太懂,但起码也能满足我的好奇心 ^_^),使用微软的SQL SERVER就无法有这种体验和乐趣。 在稳定性上,采用进程体系的,比线程要稳定,因为线程体系,很多数据都是共享的,一旦某个线程出了问题,就会污染公共数据,导致整体系统错误, 而进程体系的数据库,大部分都有自己的数据空间,不需要共享,出错也只能影响本进程,对其他进程不影响。这就是ORACLE、DB2比SQL SERVER要稳定的原因。而POSTGRESQ就是进程体系,所以,它比采用线程的MYSQL 要稳定多。 POSTGRESQL的存储过程语法和常用函数跟ORACLE一模一样,从开发员的角度上,掌握了PG的存储过程编写,就几乎很容易学会ORACLE的存储过程编写,特别是现在新版的DB2也兼容ORACLE语法,所以,学会POSTGRESQL开发,就几乎会ORACLE,DB2开发,一举三得!而MY SQL跟ORACLE语法和函数相差大,学习成本高太多了。 希望POSTGRESQL的下一版中,能加个调度功能,就像SQL SERVER代理服务器那样,可以在里面设定调度任务,比如做备份,虽然现在可以通过操作系统来实现,但觉得还是有些问题。 另外,在过程语言中,不知道现是否有类似ORACLE的 BULK COLLECT功能,加快批量数据处理速度,如果没有,希望能再加上这个特性。 原文:http://bbs.chinaunix.net/forum.php?mod=redirect&goto=findpost&ptid=3701209&pid=22020116
枯心树 发表于 2012-6-12 01:22 主机商那边还好对付,安装两种数据库就可以支持。问题是程序那边。 你还没有说明,如果需要过度到 ...
如果需要过度到新的数据库平台pgsql,容易吗?这个问题最主要。主要是转换数据库平台这个影响太大了。如果需要过度,那么DZ就必须要从新写?哇,这个工程浩大了,没有三年五载估计不行吧?
http://it.chinawin.net/database/article-5c10.html你的应用处理的是地理数据,由于R-TREES的存在,你应该使用PostgreSQL。 MySQL使用了线程,而PostgreSQL使用的是进程。在不同线程之间的环境转换和访问公用的存储区域显然要比在不同的进程之间要快得多。 MySQL可以适应24/7运行。在绝大多数情况下,你不需要为MySQL运行任何清除程序。PostgreSQL目前仍不完全适应24/7运行,这是因为你必须每隔一段时间运行一次VACUUM。
http://bbs.chinaunix.net/forum.php?mod=viewthread&tid=3701209&page=6#pid21998370 在MySQL中你失去的主要功能是subselect语句,而这正是其它的所有数据库都具有的。换而言之,这个失去的功能是一个痛苦,但是它可以被克服。 局限性 Postgres的主要局限性并不是它的性能(因为大多数网站将永远不会陷入这个问题)。但是由于编码硬化的限制,像每行8k的限制(日期会回到以前的时期)。当我使用Postgres设计Geocrawler.com,我不得不将大的e-mail分成每8k一块以绕过这个僵硬的限制。在默认情况下,Postgres被编译成只支持32个连接,这是不足以用来作高流量网站应用的,特别是考虑到Postgres生成每页的速度要比MySQL慢。 另一个限制可警惕许多PHP的用户:Postgres没有与MySQL的mysql_insertid()等价的函数调用。如果在MySQL的数据库中插入一行数据,MySQL将返回这行主关键字的ID。而在Postgres中完成这样一个操作需要绕许多圈子,这是一件非常头痛的事,而且如果用的多可能会降低效率
POSTGRESQL由于在8.0之前,没有原生的WINDOWS版,导致应用面比较窄,使MYSQL这种缺乏很多数据库基本特性的产品,大行其道。
第一次真正接触PostgreSQL,是通过greenplum数据库。 后台完全的PostgreSQL,数据处理性能强大的令人震惊,特别能把多核的cpu性能发挥到极致。 同样的服务器,同样的数据,同样的查询语句,MySQL 1到2 个小时,都跑不完的sql语句,gp几分钟就可以出来。 可惜,mysql 就没有类似的产品。。。 http://bbs.chinaunix.net/forum.php?mod=redirect&goto=findpost&ptid=3701209&pid=21994147
您需要 登录 才可以下载或查看,没有账号?立即注册
查看全部评分
枯心树
本版积分规则 发表回复 回帖后跳转到最后一页
手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )
GMT+8, 2024-11-17 00:40 , Processed in 0.037935 second(s), 5 queries , Gzip On, Redis On.
Powered by Discuz! X3.4
Copyright © 2001-2023, Tencent Cloud.