ORACLE公司之起源

ORACLE公司之起源

很难想象,ORACLE公司的这一段传奇居然要从IBM开始。

1970年的6月,IBM公司的研究员埃德加·考特 (Edgar Frank Codd) 在 Communications
of ACM 上发表了那篇著名的《大型共享数据库数据的关系模型》(A Relational Model of
 Data for Large Shared Data Banks)的论文。这是数据库发展史上的一个转折。要知道
,当时还是层次模型和网状模型的数据库产品在市场上占主要位置。从这篇论文开始,拉开
了关系型数据库软件革命的序幕。

虽然早在1970年就诞生了关系模型理论,但是市场上迟迟不见关系型数据库管理软件的推出
。主要原因是很多反对者认为关系型数据库速度太慢,比不上当时的层次式数据库。值得好
笑的是,IBM虽然1973年就启动了System R的项目来研究关系型数据库的实际可行性,也没
有及时推出这样的产品,因为当时IBM的的IMS(著名的层次型数据库)市场不错,如果推出
关系型数据库,牵涉到IBM很多人的自身利益。再者,IBM庞大复杂的官僚机构处在决策上远
不那么灵活。

1977年6月,Larry Ellison与Bob Miner和Ed Oates在硅谷共同创办了一家名为软件开发实
验室(Software Development Laboratories,SDL)的计算机公司(ORACLE公司的前身)。
那个时候,32岁的Larry Ellison,这个读了三家大学都没能毕业的辍学生,还只是一个普
通的软件工程师。公司创立之初,Miner是总裁,Oates为副总裁,而Ellison,因为一个合
同的事情,还在另一家公司上班。没多久,第一位员工Bruce Scott(用过ORACLE数据库软
件的人都知道有个Scott用户的吧?没错,就是这个Scott,至于Scott用户的密码Tiger,那
是Scott养的猫的名字)加盟进来,在Miner和Oates有些厌倦了那种合同式的开发工作后,
他们决定开发通用软件,不过们还不知道自己能开发出来什么样的产品。Oates最先看到了
埃德加·考特的那篇著名的论文连同其他几篇相关的文章并推荐Ellison和Miner也阅读一下
。Ellison和Miner预见到数据库软件的巨大潜力(跟着IBM走,没错),于是,SDL开始策划
构建可商用的关系型数据库管理系统(RDBMS)。

很快他们就弄出来一个不太像样的产品,或者具体的说,更像一个Demo。根据Ellison和Min
er他们在前一家公司从事的一个由中央情报局投资的项目代码,他们把这个产品命名为ORACL
E。因为他们相信,ORACLE(字典里的解释有“神谕, 预言”之意)是一切智慧的源泉。197
9年,SDL更名为关系软件有限公司(Relational Software,Inc.,RSI),毕竟“软件开发
实验室”不太像一个大公司的名字。1983年,为了突出公司的核心产品,RSI再次更名为ORA
CLE。


发展与壮大

RSI在1979年的夏季发布了可用于DEC公司的PDP-11计算机上的商用ORACLE产品,这个数据库
产品整合了比较完整的SQL实现,其中包括子查询、连接及其他特性。但不得不说,软件不
是很稳定,并缺少事务处理这样的重要功能。出于市场策略,公司宣称这是该产品的第二版
,但却是实际上的第一版。之所以被命名为第2版而不是第1版,是因为Ellison认为潜在的
客户更愿意购买第2个版本,而不是初始版本。(虽然这样做有些不太诚实,还是要承认这
是个十分高明的技巧。到现在还有一些公司把自己卖给客户的版本叫做1.0 ,学学1979年的
ORACLE吧!)多年以后的今天,ORACLE公司声称是他们第一个提供了第一个SQL关系型数据
库管理系统。

虽然软件不是很好,但是客户还是有的。美国中央情报局迫不及待的想买一套这样的软件来
满足他们的需求。但在咨询了IBM公司之后发现IBM没有可以商用的产品,他们联系了RSI。
于是RSI有了第一个客户。在当时,政府和军方的机构往往同时有几种计算机,而那时还没
有什么“软件可移植”这样的说法,当然,也几乎没有具有这样的能力的应用软件。也就是
说,给PDP-11开发的ORACLE数据库不能用在IBM主机和DEC的VAX上。很快用户就表现出来这
样的需求:ORACLE能否同时在不同的操作系统上运行?这给RSI带来了新的挑战(主要是Min
er和Scott)。70年代末期和80年代早期的软件一般都设计成在单一操作系统上运行,具有
可移植能力的软件很少。

1983年3月,RSI发布了ORACLE第三版。Miner和Scott历尽艰辛用C语言重新写就这一版本。
要知道,C语言当时推出不久,用它来写ORACLE软件也是具有一定的风险的,但除此之外,
别无他法。很快就证明了这样做是多么的正确:C编译器便宜而又有效,还有很好的移植性。
从现在起,ORACLE产品有了一个关键的特性:[可移植性]。ORACLE第3版还推出了SQL语句和
事务处理的“原子性”--SQL语句要么全部成功,要么全部失败,事务处理要么全部提交,
要么全部回滚。ORACLE第3版还引入了非阻塞查询,使用存储在"Before Image File"中的数
据来查询和回滚事务,从而避免了读锁定(read lock)的使用(虽然通过使用表级锁定限
制了它的吞吐量)。同样是1983年,IBM发布了姗姗来迟的Database 2(DB2),但只可在MV
S上使用。不管怎么说,ORACLE已经占取了先机。

在开发第三版还没有结束的时候,Scott离开了ORACLE。当时用C语言改写ORACLE的压力很大
,无休止的软件调试终于让Scott不堪重负,选择了一走了之。把剩下的重担交给了Miner一
个人。在出售了自己的%4的股票之后,Scott 后来创建了Gupta公司(现更名为Centura Sof
tware)和PointBase公司(提供百分之百纯Java嵌入式数据库),都是开发和数据库相关的
产品。多年后有人问到他的%4的ORACLE股票的时候,Scott,这个曾经给ORACLE写出第一行
代码的技术高手,也只能报以一笑了。如果能坚持下来,那是一笔几亿美金的财富。不过当
时的Scott没有那么多的想法,他只是太累了。

ORACLE最先将其软件移植到DEC VAX计算机上的VMS操作系统上。早在1979年公司就已经雇了
一位DEC公司的技术高手Robot Brandt进行VAX上ORACLE的开发。开始的时候资金有限,只能
到加州大学伯克利分校去蹭机器进行开发,后来好一些,但机器也是借来的。尽管困难重重
,Brandt还是比较成功的完成了移植工作。随着VAX小型机的大量销售乃至供不应求,ORACL
E软件也成为VAX上最受欢迎的程序。这一点要归功于Larry对市场的先知先觉。如果说,是I
BM引领着ORACLE公司走上数据库的大船,那么DEC公司的VAX就是带着他们扬帆出海了。短短
的几年之后,ORACLE数据库被移植到各种主要平台之上。ORACLE产品也一直因为有可移植性
这个关键特性而被那些潜在的客户关注。

Oates这个时候因为婚姻趋于破裂而情绪沮丧,已经不能把精力全部放到公司上,不得不离
开公司。几年后,他又重返公司,重新为ORACLE做出巨大的贡献,他许下诺言,在公司员工
超过1万人的时候会再度离开。1999年,他完成了心愿。现在他正在纵情于音乐,自得其乐

很长一段时间里,公司研发由Miner独力承担。Miner视金钱如无物,为人低调,和Ellison
的锋芒必露形成鲜明的对比。在公司里,大家一致认为他是老好人,他也深受员工爱戴。El
lison是公司的大脑,Miner则当之无愧的成为公司的心脏。他是个沉默的英雄,正如Steve
Jobs背后的Steve Wozniak一样。

1984年10月,ORACLE发布了第4版产品。产品的稳定性总算得到了得到了一定的增强,用Min
er的话说,达到了“工业强度”。但是还不够令人满意,用户对产品的抱怨似乎永无休止。
这一版增加了读一致性(Read Consistency),这是数据库的一个关键特性,可以确保用户
在查询期间看到一致的数据。也就是说,当一个会话正在修改数据时,其他的会话将看不到
该会话未提交的修改。可以看到,在ORACLE第四版之前,产品始终是不稳定的,但是ORACL
E的这群销售人员,主要是Ellison,他在宣传ORACLE的时候总是要夸大其词,但他就是有能
力把软件卖出去,而且,还卖得很好,不得不承认,这的确有些神奇。让我们看看1984年软
件市场的情形,在数据库市场上的霸主是Asnton-Tale公司,他们的拳头产品是刚推出不久
的dBase III(确切的说dBase是PC上的数据库软件霸主),刚刚成为全球第三大的独立软件
公司(第一和第二分别是微软、Lotus,ORACLE在当时还排不上号),这一年,也是苹果公
司Macintosh诞生的年度,Steven Jobs用这个拳头产品挑战老大哥IBM。同样在这一年中,O
RACLE公司的开发人员刚刚把产品移植到PC上。这是最好的年代,也是最坏的年代。数以千
计的小公司在软件领域里争斗不休,新公司如雨后春笋般成立,ORACLE如何才能于不败之地

在1985年,ORACLE发布了5.0版。有用户说,这个版本算得上是ORACLE数据库的稳定版本。
这也是首批可以在Client/Server模式下运行的的RDBMS产品,在技术趋势上,ORACLE数据库
始终没有落后。这意味着运行在桌面PC机(客户机)上的商务应用程序能够通过网络访问数
据库服务器。1986年发布的5.1版还支持分布式查询,允许通过一次性查询访问存储在多个
位置的数据。

那是在1985年,当时曾经的最大的独立软件公司Cullinet(主要销售网状数据库)已经如流星
般陨落。ORACLE的主要竞争对手是Ingres数据库。Ingres在加州大学伯克利分校诞生,主要
的设计者是当时鼎鼎大名的Michael Stonebraker教授。可以说Ingres数据库软件是上个世
纪80年代技术上最好的数据库,Ingres市场分额的快速增长已经给ORACLE早成了很大的压力
。巧的是,这个时候,IBM公司再一次伸出“上帝之手”。

Ingres使用的是Stonebraker 发明的QUEL(Query Language))的查询技术,这和IBM的SQ
L大不相同。在某些地方QUEL甚至要优于SQL。IBM当时担心Ingres把QUEL变成标准会对自己
不利。经过一番衡量,决定把自己的SQL提交给数据库标准委员会。而Stonebraker教授可不
打算把QUEL提交给数据库标准委员会,学院派的他认为这麽做实际上是扼杀了创新精神。鹬
蚌相争,渔翁得利。ORACLE看到并抓住了这个绝佳的机会,大肆宣布ORACLE全面与SQL兼容
,加上ORACLE当时对Ingres PC上的版本的攻击(弱化对手优势,化解自己弱势是他们最拿
手的本领),再加上ORACLE公司销售上的强势,Ingres不断丢城失地,等到后来推出支持SQ
L的数据库的时候为时已晚。紧跟IBM让ORACLE得以成长、壮大,拥抱标准,拥抱开放,拥抱
变化,让ORACLE立于不败之地。

1986年3月12日,ORACLE公司以每股15美元公开上市,当日以20.75美元收盘,公司市值2.7
亿美元。3月13日,微软以每股21美元的发行价上市,以28美元收市,公司市值达到7亿美元
。远远超过了ORACLE。成功的光环的微软和盖茨遮盖住了ORACLE和Ellison的光芒,可能这
也是Ellison敌视微软的开始。

经受挫折

ORACLE第6版于1988年发布。由于过去的版本在性能上屡受诟病,Miner带领着工程师对数据
库核心进行了重新的改写。引入了行级锁(row-level locking)这个重要的特性,也就是
说,执行写入的事务处理只锁定受影响的行,而不是整个表。这个版本引入了还算不上完善
的PL/SQL(Procedural Language extension to SQL)语言。第6版还引入了联机热备份功
能,使数据库能够在使用过程中创建联机的备份,这极大地增强了可用性。同时在这一年,
ORACLE开始研发ERP软件。

公司发展看上去比较顺利,不过,噩梦才刚刚开始。

由于过去对软件测试重视的程度不够--那个时候公司规模小,基本上都是客户帮助免费测试
的。在第六版刚发布之后,很多迫不及待开始使用的用户就怨声载道。这是个根本就没有测
试好就进行发布的产品(也怪Ellison,大话总要说在前头,只好自尝苦果)。用户开始对O
RACLE大肆抨击,ORACLE的一些对手也开始落井下石,针对ORACLE产品的一些弱点进行攻击
。开发人员一面应付愤怒的用户,一面加班加点地对程序进行接连不断的修正,最后,总算
得到了一个比较稳定的版本,暂时平息了用户的愤怒。

但是,实际的问题并不在这里,几年来高速增长的同时也给公司带来了巨大的隐患,1990财
年第三季度报表的公布引爆了一切。财务人员发现了1500万美元的坏帐,并且公司利润距离
预期相差甚远。接下来的时间里,大公司病的诸般症状接踵而来,面对股东的指控,股票一
落千丈,公司前景暗淡,甚至面临破产。一度靠贷款来维持自己的奢华生活也不变卖股票的
Ellison也快撑不住了。公司下大力气整顿财务(财务主管杰夫·沃克从某种程度上解救了
公司)。公司宣布削减开支,裁退大量销售人员,同时聘用了专门的管理人才。

噩梦延续到ORACLE第七版的推出而结束。这个公司已经空谈了好几年的新版本(一度被讥讽
为不过是Ellison的故计重施而已),直到1992年6月才终于闪亮登场,这一次公司吸取了第
六版匆忙上市的教训,听取了用户的多方面的建议,并集中力量对新版本进行了大量而细致
的测试。该版本增加了许多新的性能特性:分布式事务处理功能、增强的管理功能、用于应
用程序开发的新工具以及安全性方法。ORACLE7还包含了一些新功能,如存储过程、触发过
程和说明性引用完整性等,并使得数据库真正的具有可编程能力。还有一点必需要说明的是
,这个版本在原有的基于规则的优化器(RBO)之外引入一种新的优化器:基于开销的优化
器(Cost-Based Optimizer , CBO)。CBO根据数据库自身对对象的统计来计算语句的执行
开销,从而得出具体的语句执行计划。在以后的几个重大版本中,ORACLE的工程师们逐步对
这个优化器进行改进,CBO逐渐取代了RBO。

ORACLE 第七版是ORACLE真正出色的产品,取得了巨大的成功。这个版本的出现真是好时机,
当时Sybase公司的数据库已经占据了不少份额,ORACLE借助这一版本的成功,一具击退了咄
咄逼人的Sybase。公司的销售人员这次算到了给用户兑现空头许诺的时候。公司经过两三年
的治理,终于摆脱了种种麻烦,重新开始健康发展,销售额也从92年的15亿美元变为四年后
的42亿美元。


跨上巅峰

“搅浑水”是Ellison的一项绝技。在1995年巴黎举行的欧洲信息技术论坛会议上,Elliso
n在即兴演讲中介绍了网络计算机(Network Computer,NC)的概念,所谓NC指的是配置简单
却能充分利用网络资源的低价电脑,最为重要的是,它不需要操作系统,或者更准确的说,
不需要微软的操作系统。Ellison希望借此来抵制微软的强势。很快,ORACLE联合IBM、Sun
、Apple和Netscape在1996年制定了网络计算机的标准,但事实上人们从头到尾没有看到一
台真正的NC生产出来。这次的演讲在业界引起了轩然大波,通过这个事件,ORACLE公司吸引
了足够多的注意力,同时也让人们看到ORACLE公司对于网络的巨大信心。


1997年6月,ORACLE第八版发布。ORACLE8支持面向对象的开发及新的多媒体应用,这个版本
也为支持Internet、网络计算等奠定了基础。同时这一版本开始具有同时处理大量用户和海
量数据的特性。这个版本也算可圈可点了。

1998年9月,ORACLE公司正式发布ORACLE 8i。“i”代表Internet,这一版本中添加了大量
为支持Internet而设计的特性。这一版本为数据库用户提供了全方位的Java支持。ORACLE 8
i成为第一个完全整合了本地Java运行时环境的数据库,用Java就可以编写ORACLE的存储过
程。对,Java,只要是能够打击微软的武器,ORACLE都要派上用场。ORACLE8i 添加了SQLJ
(一种开放式标准,用于将SQL数据库语句嵌入客户机或服务器Java代码)和ORACLE interM
edia(用于管理多媒体内容)以及XML等特性。同时,ORACLE 8i 极大程度上提高了伸缩性
、扩展性和可用性以满足网络应用需要。接下来的几年中,ORACLE陆续发布了8i的几个版本
,并逐渐添加了一些面向网络应用的新特性。面对开源运动的蓬勃发展,ORACLE自然不甘落
后,1998年十月ORACLE发布了可用于Linux平台的ORACLE 8 以及ORACLE Application Serve
r 4.0,随后不久,ORACLE又发布了ORACLE 8i for Linux。在 .com大潮中,ORACLE是站在
风口浪尖的弄潮儿。

在2001年6月的ORACLE OpenWorld大会中,ORACLE发布了ORACLE 9i。在ORACLE 9i的诸多新
特性中,最重要的就是Real Application Clusters(RAC)了。说起ORACLE集群服务器,早
在第五版的时候,ORACLE就开始开发ORACLE并行服务器(ORACLE Parallel Server ,OPS)
,并在以后的版本中逐渐的完善了其功能,不过,严格来说,尽管OPS算得上是个集群环境
,但是并没有体现出集群技术应有的优点。在完全吸收了Rdb(ORACLE在1994年收购了Compa
q公司的Rdb数据库,此前Rdb属于DEC公司,DEC公司在VAX上实现了第一个可以商用的Rdb集
群数据库)的一些技术优势之后,ORACLE终于推出了真正的应用集群软件。RAC使得多个集
群计算机能够共享对某个单一数据库的访问,以获得更高的可伸缩性、可用性和经济性。OR
ACLE 9i的RAC在TPC-C的基准测试中打破了数项记录,一时间业内瞩目。这个新的数据库还
包含集成的商务智能(BI)功能。ORACLE 9i第2版还做出了很多重要的改进,使ORACLE数据
库成为一个本地的XML数据库;此外还包括自动管理、Data Guard等高可用方面的特性。


历史还在继续

2003年9月8日,旧金山举办的ORACLE World大会上,Ellison宣布下一代数据库产品为“ORA
CLE 10g”。ORACLE应用服务器10g(ORACLE Application Server 10g)也将作为甲骨文公
司下一代应用基础架构软件集成套件。“g”代表“grid ,网格”。这一版的最大的特性就
是加入了网格计算的功能。何谓网格计算?网格计算可以把分布在世界各地的计算机连接在
一起,并且将各地的计算机资源通过高速的互联网组成充分共享的资源集成。通过合理调度
,不同的计算环境被综合利用并共享。ORACLE宣称10g可以作为网格计算的基础,矛头直指
最大的敌人IBM的“随需应变”!看来,ORACLE公司已经把这一次的“赌注”押在了网格计
算的大市场上。但前景如何?让我们拭目以待。

如果说,IBM是IT产业中的一头巨鲸,那么ORACLE一定就是一条大鲨鱼:咄咄逼人,善于进
攻。就在2003年6月初,ORACLE突然宣布51亿美金收购仁科(PeopleSoft),业内再次震动
。此举又一次露出ORACLE 一贯善于进攻的本性。要知道,ORACLE在发展过程中很少对企业
进行收购的,那么收购仁科目的何在?首先,ORACLE觊觎企业应用软件市场已久,但苦于不
能进一步扩大市场分额,尤为重要的是,一旦成功,可以直接对最大的敌人IBM进行打击,
还可以阻击SAP等巨头的强势。时至今日,ORACLE依然以不达目的不罢休的态势和仁科缠斗
,结果如何,让我们拭目以待。

"人生最大的快乐是击败敌人",Ellison一定很喜欢这句话。

后记:2004年12月13日,Oracle公司宣布签订了以每股26.50美元、总计约103亿美元的代价
收购 仁科(PeopleSoft) 的最终协议。历时十八个月的争斗终于尘埃落定。

--
              这是最好的时代,这是最坏的时代;
              这是智慧的时代,这是愚蠢的时代;
              这是信仰的时期,这是怀疑的时期;
              这是光明的季节,这是黑暗的季节;这是希望之春,这是失望之冬;
              人们面前有着各样事物,人们面前一无所有;
              人们正在直登天堂,人们正在直下地狱。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值