按:这是这篇文章在 2009 年年底修订的版本,从成稿以来的第三次修订,补充了若干新发现的信息。仅供参考,如有谬误,敬请指正。所有信息来自公开资料,恕不负责信息准确性。
1. ORACLE公司之起源
很难想象,ORACLE 公司的这一段传奇居然要从 IBM 公司开始。
1970年的6月,IBM 公司的研究员埃德加·考特 (Edgar Frank Codd) 在 Communications of ACM 上发表了那篇著名的《大型共享数据库数据的关系模型》(A Relational Model of Data for Large Shared Data Banks)的论文。这是数据库发展史上的一个转折。要知道,当时还是层次模型和网状模型的数据库产品在市场上占主要位置。从这篇论文开始,拉开了关系型数据库(RDBMS)软件革命的序幕。
虽然早在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的女儿养的猫的名字。Scott工号是4)加盟进来,在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 Software,Inc.,RSI),毕竟”软件开发实验室”不太像一个大公司的名字。1983年,为了突出公司的核心产品,RSI再次更名为ORACLE (全称为Oracle Systems Corporation)。
图2 美国 Oracle 公司总部一瞥
关于第一版和第二版的开发过程,现在能知道的是 Bob Miner 负责数据库引擎的部分,而 Scott 负责 SQL 的部分。Oracle V1 是在 PDP-11 上开发的,用的 PDP 汇编语言,机器有着”高达 128 KB” 内存。Oracle V2 也是在类似的开发环境下写出来的,编译后的文件有 … 100K 之巨。那是个内存稀缺的年代。
未完待续…
注:关于 Oracle 最初和 CIA 合作的项目,根据 Bruce Scott 的回忆,项目代号是” ORACL”,没有字母 “E”。
Updated:Bruce Scott, the co-founder of Oracle says, “I remember him very distinctly telling me one time: Bruce, we can’t be successful unless we lie to customers.” And adds: “All the things that you would read in books of somebody being a leader, he wasn’t. But he was tenacious; he would never give up on anything.”
“甲骨文这个译名来自台北故宫博物院,当时看到中国的甲骨文英文译名是oracle,考虑到,甲骨文是中国最早的文字,是用来占卜的,这和用户利用关系型数据库存储数据,并预测未来有隐喻的类似之处。不过,发展到今天,企业IT更趋向一种精确的占卜工具”。来自 @刘松