转载 - Oracle与SQL Server选型时不得不说的三个小差异

http://database.51cto.com/art/200807/83465.htm
原文是2008-07-31

甲骨文微软两大数据库产品,是数据库发展史上的两座大山。这让我们在数据库选型的时候,基本上没有多大的选择余地,不是微软就是甲骨文。但是,从他们两者来说,还是有比较大的差异。今天笔者就谈谈在数据库选型的时候,不得不关注的他们之间的三个小差异。了解这些区别,能够给我们数据库选型带来很大的指导作用。
  一、 所支持平台的差异。
  甲骨文的数据库系统,是在JAVA平台上开发起来的,所以,保持着众多JAVA程序的特性。如有很多功能都需要利用命令来完成; 如一些辅助工具也都是类似DOS窗口的命令行形式的窗口,等等。而基于JAVA平台开发的数据库版本,也继承了JAVA 的一个很重要的性能,就是跨平台性能。甲骨文的Oracle数据库可以在现有的大部分操作系统上顺利运行,如无论是开源的Linux系统还是微软的服务器系统,又或是苹果操作系统等等,都可以跑Oracle数据库系统。
  而微软的SQL Server数据库系统,其只能够在微软的操作系统上运行,这除了技术上的因素之外,可能也是微软捆绑销售以及垄断的商业策略的体现吧。
  但是,从各个方面考虑,数据库能够支持多个平台的特性,已经越来越重要。
  一是从服务器稳定的角度考虑。到现在为止,开源的UNIX还是首选的服务器操作系统。UNIX服务器操作系统的稳定性是有目共睹的;而微软的服务器软件漏洞之多、稳定性之差也是大家感同身受的。相比之下,在一些稳定性要求比较高的应用上来说,大家更加喜欢使用UNIX(或者其分支LINUX)作为服务器软件。虽然,其在维护成本上可能会高于微软的服务器操作系统。既然在服务器操作系统上有多个平台可以选择,那么无论是企业还是软件公司,在数据库选型上,也必须要考虑这个趋势。若商业软件公司,他们开发的软件只支持微软的数据库,而不支持甲骨文的数据库的话,则他们开发的软件,就只能够在微软的操作系统平台上应用,而不能在如LINUX的平台下应用,这必将失去很大的一部分市场。在这方面,我们公司的CRM软件业务就吃过一次亏。由于我们公司的CRM软件是从其他公司收购过来的,其只支持微软的数据库产品。虽然跟微软的数据库产品捆绑销售,据说企业也从微软那边拿到了不少的返点,但是,也失去了不少的客户。因为现在不少客户在选型的时候,都需要CRM软件能够支持跨平台运行,特别是服务器上,出于稳定性考虑,他们都采用LINUX作为后台服务器的操作系统。但是,我们公司的CRM软件无法适应这个跨平台的需求,所以,被迫放弃了很多项目。现在研发部门正在研究,准备开发出一套能够支持跨平台的CRM软件。而要实现这个目标,首先要考虑的就是数据库要能够支持跨平台。
  二是从客户端的部署成本考虑。跨平台也是一个必然的选择。现在微软进一步加强对盗版的打击力度,这虽然可能会增加微软的销售额,但是,也在一定程度上,把微软的用户向Linux等开元操作系统转移。为了适应这个趋势,企业在软件选型的时候,不仅在服务器上有所体现,在客户端上,企业也要求能够支持Linux等开源的操作系统。这个趋势,也给微软当头一棒。虽然说,信息化管理软件的跨平台性能除了跟数据库有关外,还跟信息化管理软件的开发平台相关。但是,从客户端的部署成本来考虑,大部分企业还是会采用免费的开源操作系统,而软件公司为了满足企业的这一需求,也会采用支持跨平台的开发语言;而他们也就自然而然会支持甲骨文的操作系统。这必将大大的影响微软数据库系统的市场占有率。
  所以,笔者认为,不能够支持跨平台运行,这是微软数据库系统跟甲骨文数据库系统在市场竞争中,最大的劣势吧。
  二、 部署成本上的区别。
  在数据库部署成本上,两者的差异可以用一句话概述,就是甲骨文的数据库性能比微软的数据库性能要高几十倍,但是,部署价格的话,甲骨文系统也比微软的数据库系统高贵好几倍。当然,这是一个比较笼统的说法,在实际数据库选型中,还需要实际情况实际分析。
  1Oracle数据库也有一些免费的版本。为了吸引更多的客户,甲骨文数据库系统也推出了一些针对中小型企业的免费数据库系统,如XE等等。这些免费的数据库虽然比收费的数据库系统在某些方面受到了一些限制,如支持CPU以及数据库容量上有一定的限制,但是,对于小型企业的应用来说,没有多大的影响。而微软的数据库系统无论是大型应用还是小型应用,都是需要收费的。虽然,根据笔者的了解,不少中小型企业,在数据库选型的时候,选择了相对复杂的Oracle数据库系统,而放弃了收费高昂的微软的数据库系统。从这方面考虑,甲骨文的数据库实施成本反而比微软的数据库要小的多。
  2Oracle数据库部署成本高的原因,是他们还提供了很多收费的维护工具。其实,甲骨文的数据库系统,不仅仅是一个数据库软件,还有很多维护工具,而这些维护工具是跟数据库本身分开卖的。若就一个数据库系统,则对于大部分数据库管理员来说,是管理不好甲骨文的数据库系统的;如不少的甲骨文数据库管理员,失去了SQL*plus工具,就手足无策了。巧妇难为无米之炊,没有这些辅助工具,甲骨文的数据库管理员就好像魔术师失去了道具,无所适从。真是因为这些原因,甲骨文的数据库部署与维护成本,比微软的数据库系统要高的多。微软基本上没有什么收费的数据库系统官方工具,就是一个数据库系统,在里面也自带了企业管理器。利用这个企业管理器环境,基本上可以完成微软数据库系统的维护工作。正是因为如此,微软的数据库系统的部署与维护成本,要比甲骨文的低许多。当然,这是微软数据库系统以牺牲数据库的性能为代价的。毋庸置疑,真是因为这些丰富的甲骨文数据库辅助工具,才能够保障甲骨文数据库的高性能。
  3、从数据库管理员的价值来说,两者之间也有比价到的差异。若把数据库管理员当作一个商品的话,则甲骨文的数据库管理员与微软的数据库管理员,同一个档次的,则前者比后者要贵许多。虽然都是数据库管理员,但是,就好像一个是本地组装的,一个是原装进口的,两者在价格上有很大的差异。不是笔者自夸,在同一个水平下,聘请一个甲骨文的数据库管理员,就可以凭请两到三个微软数据库管理员了,甚至更多。光从数据库维护人员的支出考虑,数据库维护成本,甲骨文的操作系统就要比微软的数据库操作系统贵两倍到三倍。这也正是甲骨文数据库维护成本比较高的另一个重要原因。不过,对于刚入门的数据库管理员来说,两者没有很大的区别;级别越高,两者的价格,差异就越大。
  三、 社区氛围的差异。
  社区氛围上的差异,这不仅是微软与甲骨文数据库系统上的差异,也是这两家公司经营文化上的差异。
  微软非常注重整个产品的社区氛围。如笔者在数据库这个行业也已经有很长的经验了,笔者曾多次受到微软公司的邀请,听他们的新产品发布会、研讨会之类的;而且,在网上,还有专门的免费教育。在GOOGLE上,输入微软数据库教学,可以查询到很多官方的培训视频。但是,甲骨文公司在这点上,明显不如微软。笔者使用了这么多年的Oracle数据库,从最初的9开始,到现在的这个最新的版本,这么多的版本变更,笔者从来没有听说过,甲骨文公司什么时候在全国各地开过产品发布说明会了,更没有用户研讨会了。而且,在网站上查找一下,也很难查到官方的培训光盘。所以说,微软是比较重视他们的用户群体的。
  这一点不光是反映在他们的数据库产品上,在他们的CRM软件业是如此。正是这一点,让微软抓住了很多用户的心,这对于他们开拓市场,具有很好的辅助作用。

  微软积极营造的这种社区氛围,对于用户了解微软的数据库产品,学习他们的数据库产品技术,是非常有帮助的。而由于甲骨文缺少这种氛围,所以,基本上只有通过培训才能够进入甲骨文的数据库管理员这个团队,入门比较困难。