【黄金时代厅】
1979年,Oracle Database正式问世。由Oracle Corporation主导开发,面向跨平台平台用户。
首个商用 SQL 关系数据库
技术特色:数据库。
作为黄金时代厅的经典代表,Oracle Database在软件发展史上留下了深刻的印记。
甲骨文公司于1979年推出Oracle Database,作为首个商用关系数据库率先实现完整查询语言,打破了商业巨头对数据库市场的长期垄断。
【黄金时代厅】
1979年,Oracle Database正式问世。由Oracle Corporation主导开发,面向跨平台平台用户。
首个商用 SQL 关系数据库
技术特色:数据库。
作为黄金时代厅的经典代表,Oracle Database在软件发展史上留下了深刻的印记。
1977年的硅谷,个人计算机革命刚刚萌芽,苹果公司推出了Apple II,微软还在为Altair开发BASIC解释器。而在企业计算领域,IBM大型机依然统治着数据中心,数据库管理系统是昂贵的、专有的,只有少数大型企业才能负担得起。当时最主流的数据库产品是IBM的IMS(信息管理系统),它基于层次模型,数据组织方式像一棵倒置的树,查询路径必须预先定义。这种系统虽然强大,但灵活性极差——要查询“所有在加州工作的、1980年后入职的销售员”,程序员可能需要编写数十行复杂的COBOL代码,而且每次查询都要经过DBA(数据库管理员)的审批。
正是在这种背景下,一篇学术论文点燃了改变整个行业的火种。1970年,IBM的研究员埃德加·科德(Edgar Codd)发表了《大型共享数据库的关系模型》,提出了用数学中的“关系”概念来组织数据。科德的想法非常优雅:把数据存储在二维表格中,通过行和列来定位,用户只需用简单的声明式语言描述“想要什么”,而不必告诉系统“怎么去找”。这篇论文在学术界引起了轰动,但IBM内部却反应冷淡——IBM的IMS已经带来了数十亿美元的收入,公司高层担心关系模型会冲击现有业务。直到1970年代中期,IBM才启动了一个名为System R的研究项目,试图将科德的理论变成可用的系统,但进度缓慢。
与此同时,在硅谷的另一端,三位年轻人正在酝酿一场革命。拉里·埃里森(Larry Ellison)当时32岁,已经换了好几份工作,在Ampex公司担任程序员时,他开发了一个为中央情报局(CIA)服务的数据库项目,代号“Oracle”。埃里森身材高大、性格张扬,有着犹太人特有的精明和冒险精神。他的两位搭档——鲍勃·迈纳(Bob Miner)和埃德·奥茨(Ed Oates)——则是技术功底深厚的程序员。迈纳是来自中西部的小镇青年,性格沉稳,擅长系统架构和底层优化;奥茨则更关注产品设计和市场策略。1977年,三人共同创立了软件开发实验室(Software Development Laboratories,SDL),启动资金只有2000美元,其中大部分来自埃里森的储蓄。
一个关键的历史节点出现了:1977年,IBM的研究员发布了一篇关于System R的论文,详细描述了关系数据库和SQL语言的设计。埃里森读到这篇论文后,立刻意识到这是巨大的商业机会。他后来回忆说:“IBM明明拥有世界上最伟大的技术,却把它锁在实验室里。我们只是把论文里的想法变成了可以卖钱的产品。”三人决定开发一个商业化的关系数据库,产品名称就沿用埃里森在CIA项目中使用的代号——“Oracle”。
早期的开发过程充满了硅谷车库创业的典型色彩。他们在圣塔克拉拉租了一间狭小的办公室,迈纳和奥茨每天工作16个小时,用PDP-11小型机和C语言编写数据库内核。埃里森则负责跑业务、拉投资,他的销售天赋很快显现出来——他总能说服潜在客户相信,Oracle数据库已经比IBM的产品更先进,尽管当时连一个完整的版本都没有。1978年,SDL推出了第一个数据库原型,但功能极其简陋:它只能处理简单的查询,没有事务处理能力,而且只能在DEC的PDP-11上运行。
1979年,公司更名为关系软件公司(Relational Software Inc.,RSI),并发布了Oracle 2。为什么直接跳过了1.0?埃里森的解释简单直接:“没人会买一个1.0版的产品。1.0意味着不成熟、有bug,商业客户会犹豫。但2.0听起来就像是一个已经迭代过的可靠版本。”这个版本号策略后来成为科技行业的经典营销案例。Oracle 2是世界上第一商用的SQL关系数据库,它运行在DEC的VAX小型机上,支持基本的SQL查询,包括SELECT、INSERT、UPDATE和DELETE操作。虽然功能远不如今天的版本强大,但它证明了关系数据库的商业可行性。
1980年,Oracle迎来了第一个真正意义上的大客户——美国海军。海军需要一套能够管理船舶维修和备件库存的数据库系统,Oracle的团队在竞标中击败了IBM。这个合同为RSI带来了第一笔可观的收入,也让埃里森意识到政府市场的重要性。随后,中央情报局也成为了客户,这简直是天意——当初的代号“Oracle”变成了真正的产品名称。到1982年,公司正式更名为Oracle Systems Corporation。
早期的Oracle数据库有一个致命的弱点:缺乏事务的原子性。如果系统在写入过程中崩溃,数据库可能会处于不一致的状态。1983年发布的Oracle 3解决了这个问题,引入了事务日志和回滚机制,这是数据库可靠性的关键突破。Oracle 3还首次支持了跨平台运行——除了DEC VAX,还可以在IBM大型机和Unix系统上部署。这种跨平台能力在后来的竞争中成为Oracle的核心优势之一。
1984年的Oracle 4是一个重要的里程碑。这个版本引入了读一致性(read consistency)机制,确保用户看到的是一致的数据快照,即使其他用户同时在修改数据。这是Oracle在技术上的第一个重大创新,与IBM的DB2形成了鲜明对比——DB2使用锁机制来保证一致性,但锁会导致性能下降和死锁风险。Oracle的读一致性方案后来被几乎所有现代关系数据库所采纳。同年,Oracle还发布了第一个客户端-服务器版本,允许用户从个人计算机通过网络连接到数据库服务器,这正好赶上了PC局域网兴起的浪潮。
1985年发布的Oracle 5则标志着Oracle真正成为企业级数据库。这个版本引入了分布式数据库功能,支持两阶段提交协议,确保跨多个数据库的事务能够原子性地完成。更重要的是,Oracle 5首次支持了C/S架构下的SQL*Net网络协议,用户可以从任何连接到网络的机器上访问数据库。这一年,Oracle的营收突破了2000万美元,员工人数超过500人。
然而,高速增长也带来了问题。1986年,Oracle上市,埃里森成为硅谷最耀眼的亿万富翁之一。但上市后的压力让公司变得激进,销售人员为了完成业绩指标,经常向客户承诺一些尚未实现的功能。1987年发布的Oracle 6虽然引入了行级锁定和在线备份等关键功能,但稳定性问题频发,一些客户报告说系统会莫名其妙地崩溃。更严重的是,Oracle在1988年遭遇了第一次财务危机——由于提前确认收入,公司被美国证券交易委员会(SEC)调查,股价暴跌。埃里森后来承认,那段时间是他职业生涯中最黑暗的时刻。
1990年代初是Oracle的转折点。1992年发布的Oracle 7被公认为数据库行业的里程碑。这个版本彻底重写了内核,引入了共享池(Shared Pool)和内存缓存机制,查询性能提升了10倍以上。Oracle 7还支持了存储过程、触发器和引用完整性约束,使得复杂业务逻辑可以直接在数据库层执行。更重要的是,Oracle 7的架构设计非常灵活,可以从小型工作组扩展到大型企业级应用。到1994年,Oracle的数据库市场份额首次超过了IBM DB2,成为全球第一。
1990年代中期,互联网的爆发为Oracle带来了新的增长机会。1995年发布的Oracle 8引入了对象关系特性,支持自定义数据类型和Java存储过程。1997年的Oracle 8i(i代表“Internet”)则是一个针对互联网时代全面优化的版本,内置了Java虚拟机,支持Java开发存储过程,并提供了对XML和Web服务的原生支持。这个版本让Oracle成为电子商务时代的核心基础设施——当时几乎所有的B2B和B2C网站都在后台运行着Oracle数据库。
1998年,Oracle推出了自己的应用服务器(Oracle Application Server),试图与IBM WebSphere和BEA WebLogic竞争。2000年互联网泡沫破裂时,Oracle一度陷入困境,但埃里森果断调整战略,将重心转向企业级应用和云计算。2003年发布的Oracle 10g(g代表“Grid”)引入了网格计算架构,允许将多台低成本服务器组成一个逻辑上的数据库集群,这大大降低了企业的硬件成本。10g还引入了自动存储管理(ASM)和自动工作负载仓库(AWR),使得数据库的运维管理变得更加自动化。
2007年的Oracle 11g进一步强化了网格计算能力,并引入了数据压缩、分区和高级安全功能。这个版本成为历史上最成功的Oracle数据库版本之一,直到今天仍有大量企业在使用。2013年的Oracle 12c(c代表“Cloud”)则是向云计算转型的关键一步,引入了多租户架构(Multitenant Architecture),允许一个容器数据库承载多个可插拔数据库(PDB)。这种架构使得云服务商可以更高效地管理大量数据库实例,租户之间的隔离性也更好。
进入2020年代,Oracle数据库在云计算领域面临来自Amazon Aurora、Google Cloud Spanner和Microsoft Azure SQL Database的激烈竞争。2021年发布的Oracle 21c引入了原生JSON支持、区块链表和自动机器学习能。2023年的Oracle 23c则进一步强化了AI集成能力,支持向量搜索和自然语言查询。尽管市场份额有所下降,Oracle数据库依然是全球银行、电信、政府和制造业的核心系统——全球前十大银行中有九家使用Oracle数据库,全球前十大电信运营商中有八家依赖它。
回顾Oracle数据库的发展史,有几个关键因素决定了它的成功。首先是埃里森的远见和冒险精神——他敢于在关系数据库还只是一个学术概念时就押注商业化,并在IBM犹豫不决时抢占了市场。其次是技术上的持续创新——从读一致性到行级锁定,从网格计算到多租户架构,Oracle几乎在每个技术转折点都做出了正确的选择。第三是强大的销售和营销能力——埃里森本人就是最好的销售员,他善于利用FUD(恐惧、不确定性和怀疑)策略打击竞争对手,尤其是针对IBM和后来的Sybase。
有趣的是,Oracle数据库的早期发展过程中,有一个关于“Oracle 2”的著名轶事。1979年,当埃里森向潜在客户展示Oracle 2时,他声称这个数据库已经“经过充分测试”。实际上,当时的Oracle 2连事务日志都没有,如果系统崩溃,所有数据都会丢失。有一次,埃里森在向美国空军演示时,系统突然崩溃,他面不改色地说:“这是故意的,我在展示我们的灾难恢复功能。”然后他重新启动了系统,幸运的是数据没有丢失。这个故事后来在硅谷广为流传,成为埃里森个人风格的最佳注脚——永远自信,永远敢于冒险。
另一个有趣的文化现象是Oracle的“铁人三项”传统。从1980年代开始,Oracle每年都会举办内部编程竞赛,参赛者需要在48小时内完成一个完整的项目,包括数据库设计、应用开发和文档编写。获胜者可以获得奖金和假期。这个传统一直延续到2000年代,培养了大量技术精英,也催生了许多内部工具和创新。据说,Oracle 7的共享池架构就是在一次“铁人三项”竞赛中由一位年轻工程师提出的。
Oracle数据库对后续技术的影响是深远的。它直接启发了MySQL、PostgreSQL等开源关系数据库的设计。MySQL的创始人迈克尔·维德纽斯(Michael Widenius)曾公开表示,他开发MySQL时参考了Oracle的架构,尤其是在查询优化器和存储引擎方面。PostgreSQL的早期版本也借鉴了Oracle的MVCC(多版本并发控制)机制。此外,Oracle的SQL方言成为了行业事实标准,许多数据库产品都声称“兼容Oracle SQL”。
在文化遗方面,Oracle数据库是一个时代的象征——它代表了从大型机到客户-服务器,再到云计算的三次技术浪潮。它见证了企业计算从封闭、昂贵、专有走向开放、廉价、标准化的过程。今天,当我们使用手机银行转账、在线购物或预订机票时,后台很可能就是一个Oracle数据库在默默运行。它就像数字世界的中央神经系统,虽然不为人所见,却支撑着我们日常生活的每一个环节。
站在2024年的今天,Oracle数据库已经45岁了。对于一个软件产品来说,这已经是不可思议的寿命。大多数软件在10年后就会消亡,但Oracle数据库通过不断自我革新,依然活跃在技术最前沿。它证明了基础软件的力量——一旦成为某个领域的核心基础设施,它就能获得超越时代的生命力。正如埃里森本人所说:“数据库不会死,它只会进化。”
对技术发展和工程实践的推动程度
对商业模式和市场格局的影响深度
在科技文化和社会层面的持久影响力
用户群体的广度和普及程度