Oracle10g/PSQL8/MySQL5特性比拼 (1)
时间:2008-03-25 来源:剑心通明
这是我在安装和开始使用Oracle 10g, PostgreSQL 8 ,以及MySQL 5时做出的比较。我从以下三种艺术形态来比较一下三种类型的数据库:商业vs.学术vs.因特网模型。这是从一个想要安装数据库并对其进行学习的初级使用者的角度做出的比较。我试图以家庭或者小型商业用户的视角来进行说明。
完全大揭密:我非常倾向于Oracle,并且真的希望没有其他的任何产品能够真正与之抗衡。
许可费用:我不想要卷入开源和资源保密的争论中去。Oracle是一个商业的数据库,要想使用就必须交纳许可费用。MySQL 和 PostgreSQL则是开源项目。Oracle为你提供了免费的开发许可证,用来试验并创建原型。
配置:我使用的是一台较老的机器,内存256兆,硬盘40G,CPU是633Mhz 的赛扬。操作系统是Windows 2000 专业版。我想要在低端配置上进行安装,以便于衡量对于家庭用户类型的安装的性能。
操作系统:我选择在Windows下面进行比较,因为我相信这仍然是新近使用数据库的人们的最常见的平台。我的意思是人们在家里进行安装。对于新的公司用户来说,他们就无须对操作系统或者数据库进行选择,当然这个比较也就没有意义了。
版本:
PostgreSQL 8.0——PostgreSQL 8.0是一款非常新的产品。我选择8.0是因为它是最新的版本,并且它很本来就支持Windows。这是第一个不需要模拟器或者第三方重新编译的真正支持Windows的版本。
MySQL ——MySQL 5.0也是一款非常新的产品。实际上,我使用的版本v5.0.4是一款beta版。我对于应该选择稳定的v4还是beta版的v5犹豫了一阵子。最后我选择v5是因为v4无法与PostgreSQL 或者 Oracle 进行竞争。V4没有存储过程、触发器、视图等。没有上述特性,我认为它不具有竞争者的资格,而v5则支持上述特性。
Oracle 10g——这是Oracle的最新版本,去年发布的。我认为,Oracle 10g是数据库重的黄金标准。然而,我还是认为它太过昂贵,并且在产品环境需要相当的知识才能对其进行维护。
得分指标:文档和入门支持;易于安装;易于检验安装是否成功;非管理员用户的创建;运行第一个查询的时间;资源需求;得分:我给每一个指标打一个从1到10的分数,10表示最好或者最高。
文档和入门支持
PostgreSQL ——我找到了它对以前很多版本的支持(在Linux, Cygwin等环境下),但是对Windows的支持却只有8.0。PostgreSQL 文件管理网站,http://www.postgresql.org/docs/,提供了非常好非常完整的文档。我认为,过去PostgreSQL的一个长处就是它的文档。
这个网站包括了非常好的安装文档。然而,安装后的文档和入门文档就非常有限。我希望他们能够及时改变这种状况。
我在google上查询了“PostgreSQL入门”,获得上千个点击,但是几乎都是版本7的。PostgreSQL 有一些Usenet新闻组支持,但是我发现他们不是很活跃。PostgreSQL 文档得分:5。
MySQL ——因为v5是如此的新,以至于现在还没有很多的文档。满世界都是MySQL v3和v4的文档。查看Amazon 或者BN.com ,MySQL 似乎是相当多的较小的因特网和面向java的公司的选择。
因为v5是beta版本,我不会给这个指标打分,因为文档会在发布的时候给出。V4拥有令人惊讶的文档,我也非常期望v5在发布产品的时候能够拥有同样多的文档。我根据v4的文档给出得分。
我在google上查询“MySQL入门”,获得了数百万的点击,几乎都是v4的。我没有找到针对MySQL 的Usenet 新闻组支持,但是我发现comp.databases 组中发表了一些对MySQL 的支持。MySQL 文档得分:8。
Oracle ——Oracle ,作为一个商业产品,它拥有一大批全职的技术编辑。每个特性都有说明,并且许多特性都有自己的手册。Oracle提供的安装文档非常不错,但是缺点就是它是由Oracle专用的第三方网站组成的。文档,和文档入口一样,都非常成熟。
除了针对每个操作系统的安装文档之外,Oracle还提供了一个《2天成为数据库管理员》的指南。这个文档对于新用户来说是不可缺少的。
我在google上搜索“Oracle入门”,可以查到数百万个点击。Oracle还拥有鲁棒的Usenet 新闻组支持。Oracle文档得分:10。
易于安装
PostgreSQL
我以前没有在Cygwin(一种用于Windows的Unix环境)之上使用过PostgreSQL 。我对于安装赶到非常惊讶。它运行起来非常自然,没有丝毫纰漏。安装过程也非常快。
PostgreSQL 的安装是最快的。根据文档描述,你可以在没有管理权限的情况下进行安装。因为这是支持Windows(没有Cygwin)的第一个PostgreSQL 版本,我想要测试一下服务支持。PostgreSQL 作为服务安装,在机器重启之后可以没有问题的启动。PostgreSQL 安装得分:10
MySQL
我过去构建了一个网站,主要用于自己娱乐,使用了MySQL 作为数据库。我使用的技术是Java/Apache/MySQL 。根据已往的经验,我十分期望MySQL 可以在安装方面胜出。然而,MySQL 是惟一一个在安装过程中失败的。我执行了清除,然后重新运行安装程序。又失败了。我再次清理,重新启动电脑,然后重新运行安装程序。这次成功安装。我不确定是什么引起了错误。它隐藏得很深,但是它导致了数次的失败。然而,我可以强制通过。记住,这只是一个beta版本。
MySQL 还可以作为服务进行安装,在机器重启之后没有错误的启动。当它运行正确的时候,安装进行得也很快。MySQL 安装得分:5
Oracle
Oracle再一次证明了它是一个非常成熟的产品。在三者当中,Oracle是唯一一个不需要管理员权限就可以安装的。这个选项非常好。
并且,它确实非常容易安装。我没有碰到错误。Oracle也是惟一一个在安装的最后提示我按下一步按钮的。这个方法对于新用户来说非常有用,它几乎不需要任何努力。所有的数据库都应该提供这种支持。
实际上,Oracle有一个诟病就是它的安装花费的时间。这对于家庭用户来说确实是一个问题。有好几次,我都怀疑我的机器挂掉了,因为我在很长一段时间内没有得到任何的反馈。Oracle安装得分:7
易于检验安装是否成功
要验证安装是否成功有一点困难,但是上述三种数据库都提供了数据访问工具。我根据提供的文档中的指示,在三种环境都中可以访问到服务器。以上三种数据库的验证得分:10
非管理员用户的创建
PostgreSQL :PostgreSQL 使用了标准的CREATE USER语法,我可以轻松地执行这个任务。文档可以指导用户通过这个任务(出于安全的需要)。PostgreSQL 创建用户得分:10
MySQL :在v5版本中也可以使用CREATE USER语法。以前发布的版本则不可以。因此,文档是不完整的;不能明显地看出是否可以使用CREATE USER。对于新用户,这有点令人困惑。MySQL 创建用户得分:7
Oracle:Oracle 使用标准CREATE USER语法,我能够轻松地执行这个任务。文档可以指导用户完成这个任务。Oracle创建用户得分:10
运行第一个查询的时间
上述三种数据库文档集都提供了连接并运行第一个查询的指南。上述三种数据库的第一个查询得分:10
资源需求
PostgreSQL ——我对于PostgreSQL 的最小资源需求感到十分吃惊。我进行了一些测试,例如在远程连接的时候打开网络浏览器和MS-Word ,可以看到我的测试机器上面没有收到任何影响。我没有找到最小的硬件需求,但是旧机器上的256兆内存看起来足够了。PostgreSQL 资源得分:10
MySQL ——MySQL 的资源需求非常小是众所周知的。这就是它的一个最大的卖点,并且一直如此。我进行了与在PostgreSQL上面进行的同样的测试,MySQL 执行得与PostgreSQL 一样好。
非常奇怪的是,我也没有找到MySQL 的最小硬件需求,但是旧机器上面的256兆内存看起来是足够了。MySQL 资源得分:10
Oracle——Oracle 使用了大多数的内存,并且Oracle 10g使用得比以前的版本还多。实际上,它最好运行在512兆内存的机器上,我推荐1G的内存。
在测试机上,仅是Oracle的启动就花了很长时间。当我打开Word,内存开始不断地交换和停滞。开启了多个远程连接之后,数据库开始停顿。Oracle可以安装并运行在256兆内存的机器上,但是我不推荐。Oracle资源得分:3
那么综合评定如何呢?下面是最终得分:
PostgreSQL: 55
MySQL: 50
Oracle: 50
那么,这就是安装和第一次使用的得分。这根本不是我期望的结果。我认为这三者得分如此的高是非常好的。我本没有期望会得到这个结果,或者是Oracle和MySQL不分胜负。我也没有预料到PostgreSQL 会成为第一名。