【IT168 分析】
引言
企业级数据库的市场高端被Oracle、DB2、微软SQL Server 2005所把持,并且各自的位置已经连续数年保持不变。SQL Server 2005做为微软公司冲击企业级数据库高端市场的新品,在性能特性和提升微软的市场份额增长方面都起到了一定作用。本文中,结合一组调查数据分析了SQL Server 2005作为企业级数据库有哪些方面还需要再完善。
全球数据库市场分析
据IDC报告数据显示,2006年全球数据库市场规模达到了165亿美元。虽然现在开源数据库的势头不可阻挡,但在全球数据库市场分布中,前三甲的位置始终被Oracle、DB2、SQL Server所占据。
占据榜首位置的依然是Oracle。Oracle在2006年中的销售额为73亿美元,销售额同比增长额为14.7%。Oracle占据了44.4%的市场份额,。
IBM凭借DB2,在2006年中的销售额同比增长了11.9%,2006年全年销售额为35亿美元,占据市场份额为21.2%。
排在第三位置的依然是微软公司的SQL Server。虽然SQL Server在2006全年销售额为31亿美元,市场份额为18.6%。但是,SQL Server的销售额同比涨幅达到了最高,为25%,远远超过了Oracle和DB2的同比涨幅额度。
对比2004—2006年三大企业级数据库的市场份额是涨幅变化,如下图:
图1:2004—2006年全球关系型DBMS软件厂商利润和市场份额分布
从图1中可以看出,纵然前三甲的排名在2004—2006年间没有发生变化,但看一下各数据库厂商在2005—2006年间各自的市场份额的变化情况,可以看出写端倪。2005—2006年间,Oracle的市场份额增长了0.1个百分点,而DB2不升反降,市场份额下跌了0.4个百分点,而微软SQ Server的市场份额从2005年的17%上升到了18.6%。
无论是销售额的同比增长幅度,还是市场份额的增长数,微软SQL Server都超过了Oracel和DB2。也许这就要归功于微软公司在2005年12月份推出的新一代DBMS(Database Manage System,数据库管理系统)产品——SQL Server 2005。
微软五年磨一剑打造出的SQL Server 2005似乎没有让微软失望,也没有让用户和业界失望。
Windows的普及平台成就SQL Server?
用户对于数据库产品的选择历来最为各数据库厂商所关注,也是各大厂商争夺的焦点所在, 在开发项目中数据库软件产品使用的往往就代表了该产品的市场占有情况。
微软凭借Windows操作系统除了赚得满盆满钵之外,还笼络了大批的Windows平台的坚实拥趸。Windows平台的普及为用户和开发人员应用SQL Server奠定了基础。
根据2006年12月份的最新调查数据显示,在开发项目中使用的数据库软件品牌和公司、企业内部使用的数据库软件品牌分布调查中,微软的SQL Server都排居前列(如图2、图3)。
图2:在开发项目中使用的数据库软件品牌分布调查
图3:公司和企业内部使用的数据库软件品牌分布调查
Oracle数据库可以在Unix/Linux/Windows等多数平台上使用,排在第一为自然是情理中的事情。
微软Windows的普及,成就了SQL Server的普及。在对客户推荐的数据库软件品牌分布状况调查中,SQL Server仍然位居前列(如图4所示)。
图4:向客户推荐的数据库软件品牌分布状况调查
但是,对于Windows平台的依靠,无疑让微软握住了一把双刃剑。应用部署系统平台的单一化,限制了SQL Server的在更高端应用领域的使用。虽然在客户端的安装可以不限制平台选择,但是,服务器端的安装只能是Windows平台。并且,也并不是所有的Windows平台都能够安装SQL Server,Windows NT Server和Workstation的版本平台,所安装的SQL Server版本也不一样。况且,Windows系统平台的安全性,一向是人们广为诟病的一个软肋。对于多类型部署平台的支持,微软SQL Server应该向Oracle看齐。
SQL Server 2005是否来的稍晚一些?
SQL Server 2005耗费了微软五年的时间,并在这期间,微软还多次推迟产品发布的时间。微软似乎和五年很有缘份,SQL Server 2000和SQL Server 2005、IE 6和IE 7,至于从WindowsXp到Vista,究竟用了几年的时间,大家心里都清楚。微软的延期发布新产品几乎已经成为了习惯,有人也一度把微软形容为以混淆产品发布日期和产品名称而著称。
据说微软每次推迟发布都和来自竞争对手新产品的压力有关,那就来看看Oracle的产品更新情况。
图5:Oracle年度产品更新
通过更直观的图表我们可以看到Oracle整个产品序列的发布时间:
图6:Oracle年度产品更新对比
从Oracle 6开始,Oracle的版本更新平均只需要3.2年,看来Oracle公司的产品更新能力果然不同凡响。在微软进行埋头开发的五年中,Oracle已经发布了两个主要版本Oracle 9i和Oracle 10g,而且Oracle也正是通过不断的新产品升级保持领先优势,并给竞争对手施加压力。
微软最终认识到让用户用五年时间来等待升级实在是过于漫长,于是成立了一个SRI(Software Reengineering Initiative)部门,用来确保用户升级不用等待超过两年的时间。微软SRI部门负责人甚至总结到:在过去的五年中,Oracle推出了两个升级版本,IBM公司也是如此。
谁会选择SQL Server 2005 ?
纵然有新品SQL Server 2005的推出,但一些开发者还是对SQL Server 2000情有独钟,从对开发者对微软SQL Server的版本使用状况调查中可以看出(如图7所示)。
图7:开发者对微软SQL Server的版本使用状况调查
从图7中可见SQL Server 2000单一版本使用率是相当高的。
Windows阵营中的坚实拥趸已经在“内部”分割出了SQL Server 2005的一部分用户,而在现有的企业级数据库用户中,又有多少人愿意把自己的数据库平台迁移到SQL Server上呢?
图8:开发者转移数据库平台的选择状况调查
从图8的调查结果来看,有25.7%的用户计划迁移到Oracle数据库,有3.5%的用户计划向微软SQL Server迁移。况且,还不能完全保证这3.5%的用户完全向SQL Server 2005迁移。微软在争夺或者说争取企业级用户方面,需要付出更大的努力。
SQL Server 2005究竟差在哪里?
微软辛辛苦苦研发出来的SQL Server 2005究竟差在哪里?SQL Server 2005距离真正的高端企业级数据库还有多远?
先来看一下用户对数据库选择和应用有哪些需求。
图9:开发者对数据库软件选择的标准分布状况调查
用户最关心的是数据库的稳定性,有超过半数的用户将数据库的稳定性放在了首位。看来在用户心目中,再多的功能、再强大的特性都比不上稳定性的重要,稳定性能压倒一切。如果数据库不能稳定持续运行,其他一切都是空谈。所以稳定性、高可用性仍然是数据库最重要的特性之一。
图10:开发者开发数据库应用的规模分布状况调查
从图10的统计数据可以看到,微型数据库应用和小型数据库应用合计份额占到46.9%,这两者通常属于较为初级的企业应用或者系统实施初期,数据处于积累过程之中。而大型数据库应用占13.6%,超大型数据库占有11.7%,这两者之和占到了25.3%,这一类应用一般集中于电信、金融、电子商务等领域,由于数据量增长迅速,这类企业应用通常面临很大的存储压力,存储升级是这些企业经常要考虑的内容。在面对数据增长之后,很多企业都将注意力集中到存储的解决和优化上来,这个数据应该是存储厂商最希望看到的。 而中型数据库应用占27.8%,这部分用户正经历着从“业务应用”级别向“数据存储”级别的演进,他们中的大多数都开始考虑数据积累后的存储问题以及应用问题。
从图9和图10的调查统计可以看出,数据库的稳定性和对海量数据的处理能力成为高端企业级数据库首要面对和解决的问题。
在SQL Server 2005正式面世之前,研究机构Forrester在2005年的一份报告称,在高端性能处理方面 SQL Server 2005 的表现可能并不出众。之所以有这样的结果,主要是因为在当时微软所宣称的正式发布日期临近到来之时(当时定为2005年夏天),SQL Server 2005的TPC-C测试结果仍然没有公布,这就意味着测试人员很可能并没有从对SQL Server 2005的高端处理测试中获得什么益处。而不管是IBM 还是 Oracle,在其最终产品出来数月前都会不断地公布其TPC-C测试报告。微软在当时没有拿出测试报告,很可能是当时的SQL Server 2005没达到高端性能处理的要求。
而对海量级数据的处理能力,从侧面又印证了用户对数据库稳定执行能力的要求。
虽然SQL Server 2005如今已经不再是当初的测试版本了,但对稳定性和海量数据的处理能力的要求应该始终成为微软对自身企业级数据库产品的严格要求。
结束语
从上面的调查数据库和分析可以看出,微软凭借SQL Server 2005冲击和占领企业级数据库高端市场已经取得一定效果。但SQL Server 2005在部署平台单一性、系统运行稳定,以及高性能事务处理能力等方面应该有更完善的解决。在企业级数据库高端应用和解决的道路上,SQL Server 2005有更长的路要走。毕竟,微软SQL Server 2005面对的Oracle和DB2这两个强劲对手,都不会甘心把自己盘子中的蛋糕分给别人。