暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Oracle数据库发展史(一)

数据最前线 2021-10-24
119

Oracle数据库的传奇始于IBM实验室的一篇论文。1970年6月,IBM研究员、数学家 Edgar Frank Codd 发表了数学论文《用于大型共享数据库的关系数据模型》,提出关系和关系运算的概念,从而奠定了关系型数据库的理论基础,被公认为是数据库发展史上的一个里程碑;


1974年5月,同为IBM研究员的 Don Chamberlin,开发出一种全新的数据查询语言 -- SEQUEL: A Structured English Query Language,使用类似于人类的语言形式来查询关系型数据;


1976年,Codd 再次发表了关于数据库的研究成果《R系统:数据库关系理论》,介绍了关系型数据库理论和SQL查询语言。


虽然IBM发表了关于关系型数据库的一系列研究成果,但是并没有及时推出相关的关系型数据库产品。主要的原因是IBM的层次型数据库IMS于1969年投入运行,市场前景良好,如果这个时候推出新的关系型数据库产品,可能会影响到IMS数据库的销售,所以IBM并没有将主要精力放在研制关系型数据库上。回顾IT发展的历史,有很多类似的案例 -- 为了获取更多的商业利益,有意放慢甚至是人为阻碍技术的进步,有公司因此而获益,也有公司因此跌下神坛,从此一蹶不振。所以改革总是很难的,需要在既有利益和未来收益上做出恰到好处的取舍,这实在的考验领导人的智慧。


IBM 有既得利益的包袱,但1976年的拉里.埃里森还是一个普普通通的打工仔,没有任何包袱。一个偶然的机会,埃里森看到了这篇论文,就下定决心要在这篇论文的基础上开发商用软件,从而诞生了Oracle数据库。虽然 IBM 也在1985年推出了关系型数据库产品DB2,但那个时候埃里森已经凭借关系型数据库从打工仔变成了千万富翁。更为致命的是,Oracle数据库已经得到市场的广泛认可,抢占了先机,不论是技术上还是市场上,IBM DB2都没有超过Oracle。


1977年6月,埃里森和两位前同事在硅谷共同创办了一家名为软件开发实验室 (Software Development Laboratories, SDL) 的计算机公司 (Oracle公司的前身),致力于关系型数据库软件的开发。


公司成立后几个月,就开发出一套数据库产品,命名为Oracle,寓意着"神谕、预言"。虽然这个产品除了完成简单的关系查询外不能做任何事情,但这几乎是市场上唯一可以进行关系查询的数据库产品,所以产品一问世,还是激发了一些客户的兴趣。


1979年夏天,SDL公司发布Oracle第二版,这个版本整合了比较完整的SQL基础上实现的,包括子查询、链接及其他特性。但总体功能实际上这个版本和第一版并没有太大的差别,仍然只能做查询而无法处理事务,并且还经常崩溃。之所以称为第二版,完全是埃里森的市场策略,因为人们总是为认为第二版会比第一版会更好。


一个偶然的机会,埃里森从IBM工作人员那里得知美国中央情报局需要购买一套商用关系数据库软件,经过不懈的努力终于赢得了这个客户。这也是他们第一个实力雄厚的客户。但是这个客户也给埃里森带来了巨大的挑战,因为当时的操作系统几乎都是不可兼容的。而中情局所使用的电脑都是IBM公司的,所以如何使Oracle能同时运行在不同的操作系统上,成了埃里森需要攻克的难题。


1978年,贝尔实验室出版《C语言程序》,让C语言成为当时世界上最为流行的高级程序设计语言。


1983年3月,Oracle第三版正式发布,这个版本基于C语言全部重新改写。虽然事后来看,这是一个完全正确的决定,C语言的编译器即便宜又高效。但在当时来说,也是一个不小的冒险。那个时候C语言才发布没多久,未来的发展如何,C语言自身的产品成熟度如何,都没有得到市场的有效检验,将自己的身家性命押宝在另一个新产品上,风险可想而知。所以团队内部对于是使用C语言重新改版也是有不同的意见,但是埃里森还是力排众议,作出了一个重要而关键的决定,这也使得Oracle III多了一个卖点 -- 软件的可移植性。


业界一致认为Oracle第三版是关系数据库里程碑式的产品,也使得Oracle在20世纪80年代中期成为硅谷有史以来最成功的数据库软件之一,开始独霸全球数据库软件市场的大部分份额。


所以但凡伟大的公司,总是不缺关键而正确的决定,这也是领导人战略眼光和执行力的体现。反观很多公司,因为错误的决策而走向平庸,消失在历史的洪流之中。


虽然用C语言改版解决了软件的可移植性问题,但产品的稳定性并没有得到根本性的解决。公司的第一名程序员 Scott 因为不堪压力而选择离开,创业合伙人之一的奥茨也因为个人原因退出,一时间整体氛围非常低落。幸运的是,还有迈纳 -- 一个低调的技术天才。1984年10月,在埃里森和迈纳等的努力下,Oracle第四版发布,这个版本的稳定性得到了很大的增强,同时增加了读一致性,这是数据库的一个关键特性,确保用户在查询期间看到一致的数据。


1985年,Oracle数据库迎来了两个重量级的对手 -- Ingres 和 DB2。Ingres 发明了一种新技术 -- 分布式查询,每个分布式查询都可以链接多个数据库,对每个链接的服务器分别执行更新和读取操作。同年,Oracle的第五版发布,这个版本的稳定性进一步提升,同时Oracle在技术上也始终和对手保持的优势。1986年发布Oracle 5.1版本,支持了分布式查询,允许通过一次性查询访问存储在多个位置的数据。


1986年,Oracle第六版发布。迈纳带领工程师对数据库核心进行了改写,并且引入了行级锁特性,执行写入的事务处理只锁定受影响的行,而不是整个表,因而数据库的并行处理能力得到了大大的增强。


文章转载自数据最前线,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论