Free YouTube Transcribe

Video transcript

The Rise of Oracle, SQL and the Relational Database

Asianometry · 953 words · 5 min read

Want to search this transcript, jump the video from any line, or download it as TXT, SRT, or VTT?

Open in the transcript tool

Full transcript

0:021969 年,Ted Codd 在论文中提出关联式

0:06模型资料库的想法,没人理解,

0:09一年后,他又写了一篇论文,这次让人大吃一惊。

0:14他的关联式资料模型将资料结构化为表格,并倡导

0:18「资料独立性」的理念,让用户免受资料物理储存方式的影响。

0:25这是很激进的概念。但 Codd 的论文只说了这软体应该如何运作,

0:29没有产品,也还有很多疑问:

0:33这种资料库可以在没有超级电脑的情况下有效处理 query(查询)吗?

0:38在导览上,自动系统能否做得比人类好?只有一种方法能找出答案。

0:44在本影片中,我们将谈谈 SQL 和关联式资料库产业的发迹和崛起。

0:58## 第 0 阶段

1:06当 Codd 的论文发表时,

1:08IBM 已有一个资料库产品:资讯管理系统:IMS(Information Management System),

1:15IMS 很好用。IBM 对其他种资料库软体也抱持开放态度,

1:20只要软体能让他们卖更多机台就行(稍后还会提到),但 IMS

1:24占据了大部分精力和资源,在关联式模型上花功夫可说是分散注意力。

1:29因此在 1973 年,IBM 高层将所有在实验关联式模型资料库

1:34的人员转移到 San Jose 的 IBM Santa Teresa 实验室,

1:39以便他们可以与 Codd 本人一起工作。

1:43在那里,团队开始开发实现 Codd 想法的软体。

1:46第一步称为第 0 阶段。为什么这么称呼?

1:52IBM System/360 设计师 Fred Brooks 在名着 The mythical man-month《人月神话》中写道:

1:58「打算要丢弃,无论如何都会丢弃」,这个第 0 阶段产物注定要被丢掉,

2:04是个速成而杂乱的东西,用来测水温、了解问题。

2:10第 0 阶段的核心是实作 Don Chamberlin 和 Ray Boyce

2:13刚发明的新查询语言,称为 Sequel,

2:17后来改称为 SQL。他们后来发表了一篇关于 SQL 的论文,并在 1974 年的着名会议上发表。

2:25总之,这个 Sequel 实作是在另一个 IBM 的软体 XRM 的基础上编写的。

2:29XRM 处理较低层的东西,例如资料的实体存取,

2:35比喻来说,像是从架子上拉下来的。

2:40第 0 阶段的产品限制很多,XRM 一次只支援一名使用者,并且只

2:46实作了某一些 SQL 函数,例如,无法执行 “joins”,是个相当大的问题。

2:53在演示创建新表格、新 SQL 语言,甚至

2:58短暂测试单一使用者操作的可行性后,第 0 阶段按原计划被废弃,

3:04然后在 1975 年,这个有超过 12 名成员的团队开始开发面向客户的产品:第 1 阶段。

3:12## Ingres 与此同时,在 UC Berkeley(加州大学柏克莱分校),另一项

3:15建构关联式资料库软体的工作正顺利进行中。

3:191971 年,UC Berkeley 教授 Eugene “Gene” Wong 和 Michael Stonebraker

3:25读了 Codd 的论文,很喜欢,

3:28因此 1972 年,他们从美国国家科学基金会和

3:32其他组织获得赞助,开始进行名为 Ingres 的小研究计画。

3:37这名字出自某顾问,是「互动式图形和检索系统」Interactive Graphics and Retrieval System 的缩写。

3:43Ingres 没有使用 Sequel 作为资料查询语言,而是使用 Wong 设计的新东西,

3:48称为 QUEL,是「查询语言」Query Language 的缩写。Stonebraker 和 Wong 读了原来的 Sequel 论文,很不喜欢。

3:57经过几次重写后,QUEL 和 SQL 很大程度上变得很相似,

4:01除了处理 "joins" 的方式可能不同。

4:05到了 1975 年,Ingres 已能执行 query(查询)。尽管 Berkeley 团队资源少得多,只有一、两名博士生,

4:13不是 12 人,但 Ingres 有进展,到 1977 年,采用 Ingres 的数量增加到了 50 至 60 套,

4:21部份原因是运气。Stonebraker 有一台 DEC 迷你电脑,请了 Unix 先驱

4:26Ken Thompson(当时在 Berkeley 工作)在上面安装 Unix,

4:32Stonebraker 喜欢说这台是 Bell Labs 之外第一批安装 Unix 的电脑之一,

4:37不一定是真的,但满有趣的,某天可能会上 Reddit。

4:43总之,Ingres 因为这层关系,成了 Unix 上第一批资料库软体之一,

4:48Ingres 也随着 Unix BSD 散播到世界各地的大学。

4:56## System R(R 系统)

4:56让我们回到 IBM。在第 1 阶段,关联式资料库专案有了名字——System R(R 系统)。

5:02据说名字中的 R 是由 "Relations"(关联)或

5:04"Rufus"(某团员的一只狗的名字)而来。

5:08System R 由两部分组成:较高层和较低层两个部分。较高层系统的

5:14顶端是关联式资料介面,此处是 Sequel 语言提交 query 的地方。

5:20下层是关联式储存系统,取代了 XRM,优化了

5:26query 并找出存取资料的方法,增加了一些机制使系统

5:32更健全,防止故障,并支援多用户同时使用(concurrency、并发性),做起来比听起来难。

5:38在做并发性相关工作时,System R 团员 Jim Gray 使 "transaction"(交易)

5:43这个概念成形,这概念后来演变成现在的 ACID:Atomicity(原子性)、

5:50Consistency(一致性)、Isolation(隔离性)和 Durability(持久性)。

5:53当不可避免的错误、失败和事故发生时,这些原则

5:57保障了数据的正确性,若没有这些原则,

6:00今天我们就无法信任电子商务和其他重要的电子交易,这可是一件大事。

6:07Gray 因其在 transaction(交易)方面的贡献获得 1998 年 Turing Award(图灵奖)——

6:12资讯科学界的诺贝尔奖。不幸的是,他后来在旧金山附近海域航行时失踪了。

6:19到 1976 年底,团队已经觉得可以把 System R 传给潜在客户试用,

6:25早期用户包括康乃狄克州的 Pratt & Whitney(普惠)公司和

6:29西雅图的 Boeing(波音)公司,两个用户都用这个系统来控制库存。

6:34## 竞争

6:34IBM San Jose 和 Berkeley 两个团队当时就互相认识,

6:38这给整件事情注入了一点竞争气氛,

6:42他们也互相联络,实际上 Ted Codd 在两团队之间

6:46穿梭,检查进展... 可能同时传播想法。

6:51他没有被任命负责 System R,对 System R 没有特别的忠诚度。

6:56前面提到的 Jim Gray 是在 Berkeley 获得博士学位,

7:00早期也在两个团队之间传递讯息,

7:04甚至带 Ingres 团队到 IBM 办公室、或带 IBM 团队到 Berkeley。

7:09现在我们有 System R 和 Ingres 两套软体。System R 有大公司 IBM 的支持,但还没做好,

7:16而且 IBM 已经有资料库产品了,不太急于推出 System R。

7:23另一方面,Ingres 就在那和 Unix 一起在外传播。

7:26但 Ingres 不是个商业产品,只是个研究计画,

7:31Stonebraker 只是为了获得足够名声以获得终身教职,

7:35因此市场上有一个商用关联式产品机会的

7:40大缺口。大海是分开的,让人自由穿越。

7:46## Oracle(甲骨文)

7:47Oracle(甲骨文)公司的历史挺混乱,我们就几个重点谈谈。

7:52这公司由 Larry Ellison、Bob Miner 和 Ed Oates

7:55于 1977 年创立,当时名为 Software Development Laboratories(软体开发实验室),最初是

8:01为客户开发软体的顾问公司,后来想转型做产品。

8:06当时,资料库产业正蓬勃发展,推出的产品如 Software AG 的 ADABAS、

8:12IBM 的 IMS 或 Cincom 的 Total 等。1978 年此类软体总销售额估计为 1.3 亿美元。

8:22Ellison 和公司认为,大家可能会对持续成长的小型电脑市场的

8:26资料库软体感兴趣,他们碰巧看了 Ted Codd 关于关联式模型的论文

8:31和 IBM 关于 SQL 的刊物,都是公开的。

8:37Ellison 立即看到了潜力。与市场上现有产品相比,

8:41关联式模型对于不熟练的使用者来说,查询资料库要容易得多,

8:46在资料完整性上也有优点,因为资料存在表格里单一行中。

8:53因此 Ellison 将公司名称改为 Relational Software Inc(关联软体公司),

8:57即 RSI。他们利用谘询计画的剩余资金、及从客户那借来的

9:01PDP-11 电脑,拼凑出 Oracle 资料库的第 1 版。

9:07Oracle 的名称源自于 Ellison 在 Ampex 公司时,

9:10为 CIA(中情局)开发的 Terabit(兆位元)记忆体产品。

9:15Ampex 听起来很熟吧?Ampex 是家生产磁带录音机的美国公司,

9:20在谈日本录影机的影片里提到过,去看一下吧。

9:26总之,CIA 发现 Ellison 盗用了他们的产品名称,很气脑地找上门。

9:32Ellison 不知怎办到的,说服了 CIA,CIA 还签约成为这软体的第一个用户!

9:39于是在 1979 年,Oracle 第 2 版问世了,这是个简单但完整的

9:45SQL 实作,包含 joins(连接)、subquery(子查询)和 views(检视)。版本 1 从未发表。

9:51## Oracle 原则

9:51Ellison 顺应主要技术趋势来制定 Oracle 产品原则:

9:56第一,Oracle 资料库必须与 SQL 完全相容,

10:00他认为 IBM 最终会推出自己的 SQL 产品,

10:04当这情况发生时,SQL 将成为行业标准。

10:09有一件出名的事:Ellison 致电 IBM System R 团队,想了解他们的错误代码,他希望

10:14Oracle 能够与 IBM 正在建置的任何产品相容,

10:19但 IBM 高层将这些错误代码视为机密,这是整个专案的唯一被视为机密的部分。

10:24第二,Ellison 希望资料库与所有类型的电脑硬体相容,

10:29这要求最初来自中央情报局,他们希望这软体能够在他们

10:34所有的电脑上运作,Ellison 随之将这个要求转化为竞争优势,

10:40当时与 Unix 一起横空出世的高阶 C 程式语言帮上了忙。

10:45Oracle 第 3 版于 1983 年发布,完全以 C 编写,

10:51这意味着可以编译作为大型主机、迷你电脑、甚至微型电脑或 PC 使用。

10:581977 年底,DEC 发布了 VAX-11 迷你电脑,拥有与大型主机

11:04类似的功能,但价格低很多,获得了巨大成功,

11:08发行后 10 年内售出超过十万张。

11:12VAX-11 快速启动 BSD Unix 的流行,也为 Oracle 提供了全新的机会。

11:19实际上 DEC 为了他们自己的迷你电脑做了一个资料库软体,但却是非关联性,

11:25因此,团队移植了 Oracle 第 2 版,这原来是为旧的

11:31PDP-11 迷你电脑编写的,但与 VAX 相容,

11:35在第 3 版原生版出现之前,做了无缝接轨,这也要感谢 C 语言。

11:41结果 Oracle 资料库是这个广受欢迎的系统上

11:44唯一的 SQL 软体,VAX 在 Oracle 的崛起过程发挥了巨大作用。

11:50RSI 的程式设计师将 Oracle 软体移植到每个硬体平台:

11:53Pyramid、Sequent、Data General、Apollo 等等。

12:00有一个笑话说,Oracle 可以在所有平台上运行,但运行最好的平台是幻灯片投影机,

12:05我不知道有几个人会笑。

12:10为了进一步发展下一个 portability(可移植性)的想法,Ellison 设想了

12:14一个透过网路连接的分散式资料库,这很符合

12:19当时电脑联网的发展趋势,是最后一件小事,但很重要。

12:26## 领先优势

12:26攀上中央情报局后,Oracle 资料库很快又找到更多政府用户,

12:31包括 Wright-Patterson 空军基地和

12:35Fort Meade 等军事客户,及美国食品药物管理局 (FDA),FDA 还反过来

12:40促使药商采用 Oracle 软体,以便能和 FDA 分享资料。

12:46当时 Oracle 软体还没有那么稳定,所幸许多早期

12:52客户是内部部门和小型企业,只想查询资料获取内容,

12:58他们不需要 IMS,不需要太多功能,SQL 的可读性对他们来说已经足够,

13:05这是在正确的时间为正确的客户提供正确的产品。

13:09在接下来的十年里,RSI 这家公司每年都翻倍成长。1982 年,

13:14他们将公司名称改为 Oracle Systems,反映了旗舰产品的受欢迎程度。

13:21## Ingres 商业化

13:21到 1978 年底、1979 年,Ingres 已有大约 300 人使用,基本上免费,

13:28依授权使用,只需签署 20 页的授权同意书,

13:32并付 75 美元即可获得一盘包含原始码的大磁带。

13:38根据该授权同意书,任何人都可以使用,

13:41但不能用于商业活动。据说缅因州的一个小镇用它来计票。

13:46后来出现了一些正经的客户,想用它来做正经事。1977 年,

13:53纽约电话公司(New York Telephone Company)采用 Ingres 来储存曼哈顿电话资讯,

14:00从那时起,Ingres 团队才真正开始了解客服的意义。

14:061978 年,亚利桑那州立大学想使用 Ingres 来保存

14:1140,000 名学生的记录,愿意采用 Unix、愿意处理那些

14:16奇怪的所有权问题,但在发现 COBOL 没有 Unix 版本时

14:20停手了,毕竟他们广泛使用 COBOL 语言。

14:25这个惨痛的事件给了一个教训,Ingres 是款很棒的产品,但,

14:30引用我之前的 Unix 影片中的某人所说:它必得是门生意。

14:37约莫那时,Larry Ellison 到处跟人说

14:40Oracle 是有史以来最伟大的东西,而且比其他东西快十倍,

14:45所以 Ingres 团队取得一套 Oracle 资料库进行

14:48比较测试,发现 Ingres 执行许多查询的速度比 Oracle 快,

14:54这让他们决定创办一家公司。

14:571979 年,Berkeley 教职员 Larry Rowe 加入了该团队,

15:02着眼于将 Ingres 商业化。

15:05Wong、Stonebraker 和 Rowe 三人招募了第四位联合创始人负责销售工作,并于 1980 年

15:12以一部分来自着名的 Sutter Hill Ventures 公司的资金创办了 Relational Technology Inc。

15:19## 其他公司

15:19Ingres 是进入该市场最着名的关联式资料库新创公司,

15:23但不是唯一一家。我们应该提到的两个名字是 Informix 和 Sybase。

15:29Informix 由另一位 UC Berkeley 校友 Roger Sippl 于 1980 年创立。

15:35他早期在 Bechtel 建筑公司工作,得使用惠普的

15:39资料库软体,很讨厌它,非常糟糕的查询语言,限制非常多。

15:45他偶然看到 Codd 的论文,更确切地说,是 Codd 的弟子 Chris Date 写的书,

15:52这些书显然更具可读性。Sippl 是个老实人,不理解 Codd 的早期论文。

15:57Sippl 意识到每个企业都需要一个资料库软体,在多用户的

16:02Unix 机器上执行,于是他成立了一家公司,资金是

16:08经由将公司 10% 的股份出售给前女友筹来的 2 万美元。真是个好女孩。他们后来结婚,育有三子。

16:15这个故事的启示是什么?女生喜欢资料库。

16:19好吧。Informix 这个名称源于「Information on Unix」,

16:25没有使用 SQL 作为资料查询语言,而是使用专有语言 Informer,

16:29这会在以后会形成障碍。

16:33接下来谈 Sybase,是稍后由 Mark Hoffman 和 Bob Epstein 于 1984 年

16:39在 Bob 位于 Berkeley 的家后门廊创立,他们想为处理

16:43高频交易的高效能电脑建立资料库软体,

16:49当他们终于建立 Sybase SQL 软体时,

16:53电脑已经变得更快,快到 Sybase 可以直接在配备

16:58强大微处理器(例如 Intel、Motorola 或 Sun 的微处理器)的通用电脑上运作。

17:04因此 Sybase SQL Server 将目标瞄准了 Sun Microsystems 的网路工作站,

17:09这让他们在 1980 年代中期,和华尔街等等金融公司有大量交易,

17:13而随着 Sun 系统高速飞向... Sun(太阳)。

17:20这后来也引起了微软的兴趣,Bill Gates 拿出巨额资金,

17:25达成了一项利润丰厚的 6 年期授权协议,将 Sybase SQL 转变为 Microsoft SQL Server。

17:33## IBM 进入市场 当这一切的发生的同时,

17:34每个人都知道巨人 IBM 在 San Jose 有一个 System R 专案。

17:40但 IBM 会发行这个软体吗?他们还真发行了。这要追溯到一家名为 National CSS 的分时系统软体公司。

17:471975 年,他们开发、发布了 NOMAD 资料库产品,这个软体是

17:52直接受到 Codd 论文影响,通常被称为

17:56第一个商业关系资料库软体,但实际上有多么「关联性」,很难说。

18:03National CSS 将 NOMAD 移植到 IBM 的单处理器大型主机上运行,

18:09并被多家大客户采用,他们非常喜欢这个软体,并且频繁使用。

18:15然而 NOMAD 并不是为 IBM 更新的多处理器大型主机编写的,

18:20而是为了较旧的单处理器主机,后者无法处理大笔的 NOMAD 查询。

18:27结果两个超大客户:美国银行、

18:30和旧金山的雪佛龙放弃了 IBM,转而使用 Amdahl 大型主机。

18:36发生这么大的事,消息直接传到执行长

18:39Frank Cary 那。他们让他知道有这种新的关联式技术,

18:45Cary 问道,嘿,IBM 不是第一个提出这概念的吗?

18:49他们说是,当下他决定将这个技术纳入产品线。

18:55## IBM 向关联式迈进

18:57IBM 多花了两年时间才推出了第一个关联式产品,

19:01此时,IBM 组织分为三个硬体组和作业系统,

19:04最大且最重要的组是

19:08System/370 和 System/390 大型主机的多虚拟储存系统 MVS(Multiple Virtual Storage)。

19:14该作业系统包含 IMS,

19:17IBM 的另一款大型资料库产品。为 MVS 建立关联性资料库产品、

19:23并让客户了解这产品与 IMS 的差异是很棘手的。

19:29因此,IBM 的第一个关联式资料库产品

19:31(称为 SQL/DS)是在两个较小的作业系统上运行:DOS/VSE 和 VM/CMS,

19:38通常被中型企业用来进行交易处理。

19:45SQL/DS 于 1981 年首次进入市场,随后旗舰版

19:51MVS 作业系统所用的旗舰版关联式资料库 DB2 在两年后、

19:551983 年发行。两个版本在一开始都卖不好,

20:01但 IBM 不断推陈出新,1986 年初发布的 DB2 第二版获得了更好的关注。

20:10## SQL 胜利

20:10IBM 的参战并没有一举消灭新兴的关联式软体资料库产业。

20:151984 年,IBM 的 IMS 占整个资料库市场 50% 市占率,但仅占新销售额的 20%,

20:24换句话说,他们正逐渐败给关联式,他们必须有所反应,这是个防御性举动:

20:31IBM 加入 SQL 战局,验证了 Ellison 让 Oracle 资料库

20:35与 SQL 相容的决定。Ingres 和 Informix 使用

20:40自己的资料查询语言:QUEL 和 Informer,

20:45像 fetch 一样没发生,它们因与 IBM(即 SQL)不相容,

20:50而陷入困境。这时 Oracle 已抢先进入市场。

20:571986 年 3 月,Oracle 股票上市,关联式资料库已将他们变为

21:02营收超过 1 亿美元的软体巨头。由于 Oracle 很大程度是自食其力起家,

21:08Ellison 等联合创始人持有大部分股份并变得非常富有。

21:14## 结论 IBM 创建了关联式资料模型,

21:16本应该为 IBM 自己带来其他人无法得到的声望和荣耀,

21:20但当时 IBM 的高阶主管仍然是硬体人员,对他们来说,

21:25软体的存在只是为了帮助他们销售更多机器,

21:28觉悟时已经太晚,他们没有看到把 DB2 移植到非 IBM 机器

21:34(例如 DEC 的机器等等)的价值。Oracle 和其他新创公司做到了,他们像喝醉酒的兔子一样

21:41疯狂移植,抢攻市占的领先优势,让 IBM 无法撼动。

21:47短短十年里,关联式模型资料库从学术论文中的疯狂想法,

21:51发展成为一个由巨头和新创组成的价值数百万美元的产业,

21:59只要市场不断成长,一切都欣欣向荣。但这种情况不会永远持续下去,

22:05软体资料库产业巨头间的冲突一触即发。

Recently added transcripts

Browse the whole transcript library

This transcript was generated from the captions YouTube publishes for this video. Get the transcript of any YouTube video atfreeyoutubetranscribe.com, free, unlimited, no sign-up.