- 论坛徽章:
- 0
|
Oracle 的主要缺陷和用户面对的风险
令人担忧,摇摆不定的公司策略
成立于70年代的Oracle公司,正如其中文译名——“甲骨文”所蕴涵的古旧气息一样,经历过IT业这么多年的风风雨雨后,背上了沉重的历史包袱,虽然力图使自己成为行业标准的制定者,但又往往不得不跟随别人的脚步。
70年代是大型机和集中计算模式大行其道的时期,初创的Oracle公司很自然地模仿当时的IT恐龙——IBM公司,按照主机—终端的方式构造DBMS核心结构,但基于多进程体系结构的数据库服务器缺乏有效的扩展能力,再强大的硬件扩充也追赶不上业务规模的扩张速度。
在80年代末、90年代初,Oracle公司遭受到从未有过的最大打击,Sybase公司的成立和核心产品的发布,宣告了Client/Server计算时代的到来,基于单进程/多线索体系结构的Sybase数据库产品,完全适应于当时刚刚兴起的网络计算模式,在这种Client/Server网络化的应用模式下,数据库管理系统按单进程多线索的方式运行在数据库服务器上,全部客户应用运行在客户工作站的图形操作系统(如Windows,OS/2等)上,操作界面友好,简单易学,完全抛弃了原有终端的种种弊病,而数据库服务器由于不再需要管理这些终端交互,并基于线索进行资源调度,因此核心大大简化,性能大幅度提高。在这一阶段,Oracle公司的数据库产品在经历了版本5、6的巨大混乱之后,最终非常勉强地转移到版本7——Oracle的第一个真正的Client/Server结构体系数据库,Oracle 7由于有这一段尴尬的历史,因此其核心呈现为多进程、多线索混合体系结构是毫不奇怪的。
近年来Oracle公司已经把更多的注意力转移到应用软件和中间件领域,尽管其仍然号称为一个数据库厂商,但实际的Oracle数据库产品收入尚不到其年收入的1/4。在Oracle公司的视野里,未来的信息世界是由功能简单的网络计算机-NC和庞大无比的网络服务器构成的,因此两年前推出的Oracle10g围绕着集中式处理进行了大量的想象,并准备以其恐龙般庞大而臃肿的体态来拥抱一个由联机事务处理、数据仓库、移动计算和Internet组成的现实世界。
但随着应用对Internet利用的深度和广度不断加大,用户对网上事务处理能力的要求日益增高,单凭后台数据库的处理能力已经不能满足用户的需求,同时这种方式对用户的资源消耗极大,因此独立的中间层应用服务器越来越成为事实上的标准。面对这一尴尬的局面,Oracle又不得不重新支持Internet三层体系,通过匆忙收购一家公司推出了其中间层应用服务器——这就是Oracle9iAS的由来,而现在Oracle又为如何将该技术无缝集成到Oracle产品体系中而努力。
因此,任何一位用户在看到Oracle摇摆不定的技术策略和公司目前的市场重点(不要忘了,现在Oracle公司3/4的赢利都依赖非数据库产品)后,都会很自然地问:Oracle数据库到底路在何方?
领先的数据库“宣传”厂商
Oracle公司的宣传常常凌驾于实际的产品和技术,就像Oracle8i, iFs等技术一样,早在1997年Oracle就已经开始声势浩大的Oracle8i宣传,但1999年才真正面市,传说中的iFs则更晚才交付到用户手中。与Oracle以往的版本一样, Oracle 9i也是一个为了强占市场的预先新闻发布,事实上早在2000年10月就已发布但至今并未开始销售,著名的评测机构Gartner Group指出: “我们确信直到2002年中期Oracle 9i才会真正部署。”。同时Oracle一直强调的市场占有率其实是由很多因素决定的,诸如客户基础,厂商进入市场的时间,和应用产品的兼容性、产品价格,产品质量和服务等等,因此市场占有率高并不意味着该产品一定是最优秀,最适合用户的需求的产品,也并不能衡量性能的高低和技术的优劣——比如保时捷汽车——并不是市场占有率的领先者却是世界上性能最好的汽车。
而且Oracle极力鼓吹——使用其产品可以极大地节省用户的投资的说法也具有欺骗性,针对这种宣传我们可以看看InternetWeek针对Oracle关于节省开支的说法的读者投票(3/9/2001):
你是否相信Oracle所说的通过使用他们自己的软件及Internet减少了10亿美金的开支?
是的,我完全相信
10%
部分相信
31%
不,我根本不相信任何Oracle的宣传
58%
圣迭戈的一家位于法律机构也对这种说法提出诉讼,指明Oracle实现这一目标的方式是通过解雇2000名雇员而不是通过他们所说的使用自己的软件。
针对Oracle一直宣传的RAS功能,事实上到现在为止并没有一家用户成功实施该技术:
“Oracle 极力吹捧的这一新技术并未得到证实,而且对于大多数用户而言太复杂以至于无法实施。” (Giga,2001)
“我们确信直到2002年中期Oracle 9i才会真正开始部署。而且其Real Application Clusters 并不能真正支持Oracle宣称所提供的数据库可用性保证” (Gartner Group,2001)
事实上以前的OPS也并不能保证像宣称的那样可以在服务器切换时内存数据不丢失,用户可能为OPS或现在的RAC支付了巨额的开销而没有得到任何回报。
而且在许多中情况中Oracle通过修辞使其拥有许多性能如:non-escalating的行级锁或Advanced复制。
“Oracle领先创新”只不过是简单的宣传。他们的确领先——当然不包括:存储过程,触发器,多线索结构,客户/服务器架构,在线备份,远过程调用,OpenServer API,异步复制,XQL等技术时——事实上这些技术都是Oracle在数据库厂商中最后实现的。
较低的系统性能价格比
Oracle为达到用户的业务需求往往需要用户投入更多的人力物力。以300GB数据量,500个用户的典型应用为例:采用Oracle,用户需要比采用其它数据库产品的厂商多支出一百四十万美金的软硬件费用。事实上,存储相同数量的数据,Sybase只占Oracle一半的磁盘空间。这可由SMP环境下的性能测试结果来证明。Oracle的高性能和可扩展性依靠大量的硬件设备,即使软件是免费的,用户也要在硬件上多投资。
ASE Oracle
数据库大小 20亿行 20亿行
索引+数据 170 GB 303 GB
总磁盘空间 256 GB 526 GB
购买磁盘的费用 $150,000 $350,000
磁盘5年的维护费 $157,500 $367,500
购买内存的费用 $187,500 $375,000
5年费用总和 $495,000 $1,093,000
因此,总体拥有成本Sybase 比 Oracle少占一半
采用Sybase 5年中可节省: $598,000
硬盘费用:$500/GB;
内存费用:$5,000/GB;
维护包括每年15%的备份。
据IDC提供的调查报告显示“Sybase ASE提供了有助于控制成本的三个重要特性:它易于管理;它使资源的使用更有效;它提供了自动化的资源优化。客户还证实了备份的简便性以及软件本身的高质量,从而使得它成为一个非常可靠的平台。而且,当需要获得Sybase的技术支持时,其技术支持的质量和低廉的成本是一个明确的优势。”而Oracle并未入围此项评测。
巨大的系统维护开销
北加利福尼亚的一个大型银行中内部负责支持25个ORACLE数据库的DBA人员为15名;而同样在此银行中,支持25个SYBASE数据库只需3名DBA.由于SYBASE公司提供了动态的空间分配技术,并为DBA提供了多种调试的工具,使得SYBASE的管理变得十分简单。在ORACLE的技术中,它的空间管理是对象级别,因此DBA必须不断监测每一个索引和表,如果其中一个耗尽资源,必须将它停止并重新创建。ORACLE 同样不提供类似的性能调试的工具。
如果我们假设一个DBA每年需要花费$100,000,包括管理费用,这家银行在DBA上所花的费用是:
25 Databases #/DBA’s 每年DBA总费用
ORACLE 15 $1,500,000
SYBASE 3 $300,000
从以上的数据可以看出Oracle 所需的数据库维护人员是SYBASE 的3—5倍
对Internet支持的混乱性和不足之处
Oracle公司较早地进入了Internet领域,首先提出了NCA体系结构,发展了iFS技术,试图取代操作系统的功能,希望以大而全的Oracle 8i实现Internet计算。而Oracle公司所作的一切不过是出于商业目的——不惜一切的竞争并试图击败Microsoft。原因非常简单:只有确保用户只使用浏览器和基于Oracle存放的Offices文件,才可能绕过Window NT服务器,只有放弃中间层,才可能绕过Microsoft的DCOM组件技术和MTS应用服务器。但随着用户应用的不断扩充,中间层应用服务器模式逐渐成熟和普及,Oracle不得不放弃了NCA的概念,从9i开始正式发展其应用服务器产品(而Sybase,BEA,IBM等厂商早在98年就开始推出中间层应用服务器产品),匆忙通过收购一家公司(CacheFusion)填补了产品线的空白,推出了Oracle 9i Application Server,但该产品缺乏对流行的TIBCO、MS MTS和IBM MQ Series等中间件的支持,极大地限制了其分布式处理的功能。同时Oracle显然将不会支持Microsoft的.NET技术,这就意味着用户今后在使用Oracle产品的同时将不得不面临极其痛苦的选择和风险——选择Oracle就意味着放弃Microsoft。
技术的封闭性
Oracle追求技术的封闭性,希望将用户所有的应用都纳入到Oracle的技术路线中,从表面上看这样会提高系统的集成度同时加快系统的开发效率,但这种方式同时给用户带来了功能的限制、开放性和可扩展性的风险——更重要的是可以不断地从用户口袋中掘取利益。经由PL/SQL接口的WEB应用服务器是封闭的。用于封装的cartridge策略也是封闭的和专用的,Inter Cartridge Exchange也是一个封闭的模式。Oracle使所有ODBC客户对数据库的访问序列化, 这种做法给具有异构环境的用户造成很大的麻烦,而且Oracle的异构数据库数据复制只限于单向。同时Oracle的开发工具Developer2000/Designer2000只限于Oracle数据库应用的开发,无法针对其他公司的产品进行开发,极大限制了应用的开放性和可扩展性。而更重要的是由于对Microsoft的抵制,用户无法在Oracle平台上使用Microsoft的标准和技术,包括重要的分布式架构(DTC)、DCOM技术和.NET技术,而这些技术都代表了未来IT应用发展的方向,因此选择了Oracle就意味着今后将不得不任Oracle宰割而无任何还手之力。
匮乏的数据仓库支持
目前,Oracle有许多建立数据仓库的独立工具软件,如关于 Express Line的工具, 为Oracle数据库提供界面的工具Discovery,一个从SAP中提取数据的工具及一个从Peoplesoft中提取数据的分离工具。Oracle宣告了很多提高决策支持查询速度的新技术,但是在灵活性及使用简单方面没有一项能同Sybase 公司的产品相比。因为利用Oracle 传统数据库建立的数据仓库中采用的是通常的表和列方式存储,用户不得不采用通常的方式提高性能。这包括创建星模式,用Hash和Range算法在分区中分割数据,Partition-wise连接,运用并行查询,为派生数据创建自动摘要表,创建表之间的预计算连接等。所有这些方式都仅仅对计划查询起作用,但同时将增加数据仓库的复杂性,并且将增加数据仓库的大小。
总结
从以上分析我们可以得出结论,虽然Oracle公司的数据库产品在全球市场占有率较高,但这并不意味着其公司的发展方向符合用户业务的发展方向,并不意味着其产品最符合用户应用的需求,同样也并不意味着可以为用户提供高质量的售后服务……而这些都是用户在选择产品时必须考虑的重要因素。事实上,在SAP Sybase等产品的追赶下,Oracle数据库市场份额近些年来以出现逐年递减的趋势。而对一个采购企业做出明智的选择并不复杂——揭开Oracle表面强大的面纱,探寻事实的真相,再做出适合自身需求的决定。
|
|