ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 书写历史的甲骨文--ORACLE公司传奇(转)

书写历史的甲骨文--ORACLE公司传奇(转)

原创 Linux操作系统 作者:jcszjswkzhou 时间:2019-02-23 13:54:04 0 删除 编辑
书写历史的甲骨文--ORACLE公司传奇,sql,sql教程,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 LaboratoriesSDL)的计算机公司(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)
图1 左起 Ed Oates、Bruce Scott、Bob Miner、Larry Ellison
很快他们就弄出来一个不太像样的产品或者具体的说更像一个Demo根据Ellison和Miner他们在前一家公司从事的一个由中央情报局投资的项目代码,他们把这个产品命名为ORACLE因为他们相信ORACLE(字典里的解释有“神谕, 预言”之意)是一切智慧的源泉1979年SDL更名为关系软件有限公司(Relational SoftwareInc.RSI)毕竟“软件开发实验室”不太像一个大公司的名字1983年为了突出公司的核心产品RSI再次更名为ORACLE
图2 美国 Oracle 公司总部一瞥
发展与壮大RSI在1979年的夏季发布了可用于DEC公司的PDP-11计算机上的商用ORACLE产品这个数据库产品整合了比较完整的SQL实现其中包括子查询、连接及其他特性但不得不说软件不是很稳定并缺少事务处理这样的重要功能出于市场策略公司宣称这是该产品的第二版但却是实际上的第一版之所以被命名为第2版而不是第1版是因为Ellison认为潜在的客户更愿意购买第2个版本而不是初始版本(虽然这样做有些不太诚实还是要承认这是个十分高明的技巧到现在还有一些公司把自己卖给客户的版本叫做1.0 学学1979年的ORACLE吧?a href="http://www.learners.cn" target="_blank">。┒嗄暌院蟮慕裉?a href="http://www.learners.cn" target="_blank">,ORACLE公司声称是他们第一个提供了第一个SQL关系型数据库管理系统 虽然软件不是很好但是客户还是有的美国中央情报局迫不及待的想买一套这样的软件来满足他们的需求但在咨询了IBM公司之后发现IBM没有可以商用的产品他们联系了RSI于是RSI有了第一个客户在当时政府和军方的机构往往同时有几种计算机而那时还没有什么“软件可移植”这样的说法当然也几乎没有具有这样的能力的应用软件也就是说给PDP-11开发的ORACLE数据库不能用在IBM主机和DEC的VAX上很快用户就表现出来这样的需求:ORACLE能否同时在不同的操作系统上运行?这给RSI带来了新的挑战(主要是Miner和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)但只可在MVS上使用不管怎么说ORACLE已经占取了先机 在开发第三版还没有结束的时候Scott离开了ORACLE当时用C语言改写ORACLE的压力很大无休止的软件调试终于让Scott不堪重负选择了一走了之把剩下的重担交给了Miner一个人在出售了自己的%4的股票之后Scott 后来创建了Gupta公司(现更名为Centura Software)和PointBase公司(提供百分之百纯Java嵌入式数据库)都是开发和数据库相关的产品多年后有人问到他的%4的ORACLE股票的时候Scott这个曾经给ORACLE写出第一行代码的技术高手也只能报以一笑了如果能坚持下来那是一笔几亿美金的财富不过当时的Scott没有那么多的想法他只是太累了
图3 Bruce Scott 现在是PointBase公司的创办者之一
ORACLE最先将其软件移植到DEC VAX计算机上的VMS操作系统上早在1979年公司就已经雇了一位DEC公司的技术高手Robot Brandt进行VAX上ORACLE的开发开始的时候资金有限只能到加州大学伯克利分校去蹭机器进行开发后来好一些但机器也是借来的尽管困难重重Brandt还是比较成功的完成了移植工作随着VAX小型机的大量销售乃至供不应求ORACLE软件也成为VAX上最受欢迎的程序这一点要归功于Larry对市场的先知先觉如果说是IBM引领着ORACLE公司走上数据库的大船那么DEC公司的VAX就是带着他们扬帆出海了短短的几年之后ORACLE数据库被移植到各种主要平台之上ORACLE产品也一直因为有可移植性这个关键特性而被那些潜在的客户关注 Oates这个时候因为婚姻趋于破裂而情绪沮丧已经不能把精力全部放到公司上不得不离开公司几年后他又重返公司重新为ORACLE做出巨大的贡献他许下诺言在公司员工超过1万人的时候会再度离开1999年他完成了心愿现在他正在纵情于音乐自得其乐 很长一段时间里公司研发由Miner独力承担Miner视金钱如无物为人低调和Ellison的锋芒必露形成鲜明的对比在公司里大家一致认为他是老好人他也深受员工爱戴Ellison是公司的大脑Miner则当之无愧的成为公司的心脏他是个沉默的英雄正如Steve Jobs背后的Steve Wozniak一样 1984年10月ORACLE发布了第4版产品产品的稳定性总算得到了得到了一定的增强用Miner的话说达到了“工业强度”但是还不够令人满意用户对产品的抱怨似乎永无休止这一版增加了读一致性(Read Consistency)这是数据库的一个关键特性可以确保用户在查询期间看到一致的数据也就是说当一个会话正在修改数据时其他的会话将看不到该会话未提交的修改可以看到在ORACLE第四版之前产品始终是不稳定的但是ORACLE的这群销售人员主要是Ellison他在宣传ORACLE的时候总是要夸大其词但他就是有能力把软件卖出去而且还卖得很好不得不承认这的确有些神奇让我们看看1984年软件市场的情形在数据库市场上的霸主是Asnton-Tale公司他们的拳头产品是刚推出不久的dBase III(确切的说dBase是PC上的数据库软件霸主)刚刚成为全球第三大的独立软件公司(第一和第二分别是微软、LotusORACLE在当时还排不上号)这一年也是苹果公司Macintosh诞生的年度Steven Jobs用这个拳头产品挑战老大哥IBM同样在这一年中ORACLE公司的开发人员刚刚把产品移植到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的SQL大不相同在某些地方QUEL甚至要优于SQLIBM当时担心Ingres把QUEL变成标准会对自己不利经过一番衡量决定把自己的SQL提交给数据库标准委员会而Stonebraker教授可不打算把QUEL提交给数据库标准委员会学院派的他认为这麽做实际上是扼杀了创新精神鹬蚌相争渔翁得利ORACLE看到并抓住了这个绝佳的机会大肆宣布ORACLE全面与SQL兼容加上ORACLE当时对Ingres PC上的版本的攻击(弱化对手优势化解自己弱势是他们最拿手的本领)再加上ORACLE公司销售上的强势Ingres不断丢城失地等到后来推出支持SQL的数据库的时候为时已晚紧跟IBM让ORACLE得以成长、壮大拥抱标准拥抱开放拥抱变化让ORACLE立于不败之地 1986年3月12日ORACLE公司以每股15美元公开上市当日以20.75美元收盘公司市值2.7亿美元3月13日微软以每股21美元的发行价上市以28美元收市公司市值达到7亿美元远远超过了ORACLE成功的光环的微软和盖茨遮盖住了ORACLE和Ellison的光芒可能这也是Ellison敌视微软的开始
图4 桀骜不驯的Larry Ellison
经受挫折 ORACLE第6版于1988年发布由于过去的版本在性能上屡受诟病Miner带领着工程师对数据库核心进行了重新的改写引入了行级锁(row-level locking)这个重要的特性也就是说执行写入的事务处理只锁定受影响的行而不是整个表这个版本引入了还算不上完善的PL/SQL(Procedural Language extension to SQL)语言第6版还引入了联机热备份功能使数据库能够在使用过程中创建联机的备份这极大地增强了可用性同时在这一年ORACLE开始研发ERP软件 公司发展看上去比较顺利不过噩梦才刚刚开始 由于过去对软件测试重视的程度不够--那个时候公司规模小基本上都是客户帮助免费测试的在第六版刚发布之后很多迫不及待开始使用的用户就怨声载道这是个根本就没有测试好就进行发布的产品(也怪Ellison大话总要说在前头只好自尝苦果)用户开始对ORACLE大肆抨击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年巴黎举行的欧洲信息技术论坛会议上Ellison在即兴演讲中介绍了网络计算机(Network ComputerNC)的概念,所谓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 8i成为第一个完全整合了本地Java运行时环境的数据库用Java就可以编写ORACLE的存储过程Java只要是能够打击微软的武器ORACLE都要派上用场ORACLE8i 添加了SQLJ(一种开放式标准用于将SQL数据库语句嵌入客户机或服务器Java代码)和ORACLE interMedia(用于管理多媒体内容)以及XML等特性同时ORACLE 8i 极大程度上提高了伸缩性、扩展性和可用性以满足网络应用需要接下来的几年中ORACLE陆续发布了8i的几个版本并逐渐添加了一些面向网络应用的新特性面对开源运动的蓬勃发展ORACLE自然不甘落后1998年十月ORACLE发布了可用于Linux平台的ORACLE 8 以及ORACLE Application Server 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年收购了Compaq公司的Rdb数据库此前Rdb属于DEC公司DEC公司在VAX上实现了第一个可以商用的Rdb集群数据库)的一些技术优势之后ORACLE终于推出了真正的应用集群软件RAC使得多个集群计算机能够共享对某个单一数据库的访问以获得更高的可伸缩性、可用性和经济性ORACLE 9i的RAC在TPC-C的基准测试中打破了数项记录一时间业内瞩目这个新的数据库还包含集成的商务智能(BI)功能ORACLE 9i第2版还做出了很多重要的改进使ORACLE数据库成为一个本地的XML数据库;此外还包括自动管理、Data Guard等高可用方面的特性 历史还在继续2003年9月8日旧金山举办的ORACLE World大会上Ellison宣布下一代数据库产品为“ORACLE 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) 的最终协议历时十八个月的争斗终于尘埃落定

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10294527/viewspace-122146/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2007-08-29

  • 博文量
    3488
  • 访问量
    2624895