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

PostgreSQL 先驱 Michael Stonebraker 承诺将再次颠覆数据库

通讯员 2023-12-28
454

采访:如果我们把操作系统建立在数据库之上,而不是相反呢?这听起来像是一个本科生在服用过多微剂量后的想法,但事实并非如此。这是一个严肃的想法,来自一个已经颠覆了计算机行业的人,他的影响力已经蔓延到Microsoft和甲骨文的熟悉产品中。

Michael Stonebraker 教授在 2014 年获得了图灵奖,他是数据库领域四位图灵奖获得者中,唯一一位仍然在世的技术天才。

今年庆祝他的 80 岁生日,Michael Stonebraker 继续他的数据库研究工作,但他在行业中的印记已经通过 PostgreSQL 得到巩固,PostgreSQL 是一个开源关系数据库系统,根据 2023 年 Stack Overflow 调查,该系统今年首次成为开发人员最受欢迎的数据库选择。除了流行的开源DBMS之外,包括云超大规模提供商CockroachDB和YugabyteDB在内的供应商都提供具有PostgreSQL兼容前端的数据库服务。

Stonebraker 的第一个有影响力的工作始于早期的关系数据库系统 Ingres,该系统在 1971 年被任命为加州大学伯克利分校助理教授后开始作为他的研究课题。

在接受The Register采访时,他说:“我的博士论文是关于马尔可夫链的一个方面,我意识到,这没有任何实用价值。我去了伯克利,你有五年的时间来做出贡献并获得终身教职。我知道这不会是我的论文题目。然后,伯克利的另一位教员尤金·黄(Eugene Wong)说,'我们为什么不看看数据库呢?

两人阅读了IBM研究员埃德加·科德(Edgar Codd)最近提出的关于关系数据库的提案,名为“大型共享数据库的数据关系模型”。

Stonebraker 和 Wong 认为英国人的想法优雅而简单。“显而易见的问题是尝试构建一个关系数据库系统。尤金和我都没有构建系统软件的经验,但就像学者一样,我们想,让我们试一试,看看会发生什么。因此,基于没有经验,我们开始构建安格尔。这就是我获得任期的原因。

安格尔有竞争。IBM 的 System R 是第一个证明关系方法可以提供工作事务性能的公司,也是第一个实现现在无处不在的 SQL 的公司。Oracle 在 1970 年代后期开始其关系系统。Ingres 还不得不面对平台问题。

“我们有很多人访问伯克利,问我们谁是安格尔的最大用户。然后,亚利桑那州立大学想用它来建立一个包含35,000名学生的记录数据库,但他们无法克服这样一个事实,他们必须从贝尔实验室的这些人那里获得一个不受支持的操作系统,即Unix,“他说。

Ingres 瞄准了 Unix 新出现的中端系统,这也意味着它不支持 COBOL,这是当时商业计算的主要语言。

“唯一的解决办法是创办一家公司,”Stonebraker说。

他继续创立了 Relational Technology,将 Ingres 商业化。它后来更名为Ingres Corporation,然后在1990年被ASK公司收购,后者又在1994年被Computer Associates收购。伯克利安格尔团队的另一位成员罗伯特·爱泼斯坦(Robert Epstein)后来创立了Sybase,十年来,Sybase在关系数据库市场上仅次于甲骨文。1992年,其产品线被授权给Microsoft,后者将其用于SQL Server的早期版本。

但 Stonebraker 承认,Ingres 的商业代码库远远领先于开源研究项目——其他研究人员可以象征性地支付存储所需的磁带和邮政费用来获得代码——所以他的团队决定将代码推到悬崖上,重新开始。安格尔之后会发生什么?显然,Postgres。

 新时代

1986 年,与拉里·罗 (Larry Rowe) 合著的一篇 28 页的论文 [PDF] 宣布了 Postgres 的设计,提出了六个指导目标。其中有两个被证明与数据库系统的寿命有关。一是为复杂对象提供更好的支持。第二是为数据类型、运算符和访问方法提供用户可扩展性。

Stonebraker 告诉我们,他从与 Ingres 客户的交谈中了解到,可扩展性对于未来成功的数据库非常重要。“有一次,这位客户打电话给我说,'你把时间都搞错了',”他说。

这位伯克利教授感到困惑,因为他的团队已经竭尽全力确保他们正确地实施了儒略历、闰年等等。但是,有些金融债券在一年360天的12个相等的月份支付,这在Ingres中是无法实现的,但在PostgreSQL中是可以实现的。

使数据库可扩展的动机还来自希望支持新的数据类型。Ingres 的一个早期项目试图将其用作地理信息系统,远离其业务数据的地盘。它“非常缓慢且无法修复,”Stonebraker 说。

在过去十年中,这一愿景得到了回报。十年前,PostgreSQL 增加了对 Json 文档的支持,这是 NoSQL 数据库 MongoDB 和 Couchbase 所基于的文件格式。

Stonebraker 过去曾公开批评过 NoSQL 运动。他告诉 The Register,它正在与关系数据库融合,因为他们采用了 SQL 或类似 SQL 的语言,并且他们接受了一致性的需求。

“NoSQL最大的好主意是开箱即用的体验,因为对于SQL数据库,你必须构建数据库,然后你必须定义游标。它们很难使用。这是对 SQL 数据库的非常有效的批评之一:开箱即用的体验很糟糕。你应该能够打开它并说,'这里有一些数据'。

提供 PostgreSQL 和 PostgreSQL 兼容数据库的各种服务在某种程度上解决了这个问题,但 DBMS 作为流行的开源系统的出现是一个令人高兴的意外,而一个 Stonebraker 与此无关。

尽管该数据库的研究代码是开源的,并且仍然是开源的,但正如 Stonebraker 在 1992 年创立 Illustra 时发现的那样,围绕它建立一家数据库公司在当时是不可能的。“当我们为 Ingres 和 Postgres 获得风险投资资金时,风险投资与开源无关,那是后来的现象,”他说。

2005 年,Stonebraker 创立了 Vertica,它基于一个无共享的面向列的 DBMS 用于数据仓库,他现在说“开源会受益匪浅,但开源代码和 VC 社区的可行性是一个相对较新的现象。

“闭源数据库不是未来的潮流”

Illustra 在一段时间内取得了成功。《福布斯》在 1997 年写道,它最终在 1996 年以大约 4 亿美元的价格卖给了 Informix,其中 Stonebraker 的股份价值 650 万美元。Stonebraker 成为母公司的首席技术官四年。

这是一个令人满意的数额,但与拉里·埃里森(Larry Ellison)估计的1450亿美元的净资产相比,鸡饲料。毋庸置疑,Stonebraker 贬低了 Oracle,后者是关系模型的另一个早期采用者。“Ingres在技术上总是更好,Postgres实际上更好。它更灵活,而且是开源的。如今,PostgreSQL在性能上通常具有可比性。总的来说,闭源数据库不是未来的潮流,我认为 Oracle 价格很高,而且不是很灵活,“Stonebraker 说。

尽管如此,还是 Oracle 做出了一个决定,为开源 PostgreSQL 提供了推动力。它收购了开源的MySQL,一些社区不信任这家专有软件巨头。在 Illustra 和其他公司将 Postgres 商业化的同时,伯克利在 MIT 许可下发布了 POSTGRES 的代码,允许其他开发人员使用它。

1994 年,毕业于伯克利的 Andrew Yu 和 Jolly Chen 用 SQL 取代了查询语言 POSTQUEL。生成的 Postgres95 在更宽松的许可下免费提供和修改,并重命名为 PostgreSQL。

“最终发生的事情是 Illustra 获得了某种牵引力,但最大的刺激是,这群我什至不认识的完全不相关的人拿起了仍然存在的开源 Postgres 代码,并运行它,我完全不知道。这是一个奇妙的意外,“他说。

“当MySQL被Oracle收购时,开发人员成群结队地怀疑,并叛逃到PostgreSQL。这又是一个快乐的意外。它的商业成功是美妙的,但它在很大程度上是偶然的,“Stonebraker补充道。

与此同时,数据库服务也围绕 PostgreSQL 发展起来。它已成为Google(AlloyDB和CloudSQL),Microsoft(Azure PostgreSQL),AWS(Aurora和RDS),CockcroachDB,YugabyteDB,EDB和Avien提供的兼容或几乎兼容系统的最主要前端。

“整个世界都在向云迁移,谷歌、亚马逊和Microsoft都在押注 PostgreSQL 兼容性。我认为这是个好主意。CockroachDB 与 PostgreSQL 兼容。你可以使用一个 PostgreSQL 应用程序,并将其放在 CockroachDB 上。PostgreSQL没有任何分布式数据库功能,但YugabyteDB和CockroachDB都有,“他说。

Stonebraker的影响力甚至延伸到竞争对手甲骨文的投资组合中。他的联合数据库 Mariposa 成为 Cohera 的基础,Cohera 是 PeopleSoft 于 2001 年收购的一家数据库公司,然后在 2004 年成为 Oracle 的一部分。2014 年,Stonebraker 因其在 Ingres 和 Posgres 上的工作影响力而获得图灵奖,在此过程中从谷歌获得了 100 万美元的收入。

尽管他的许多想法在数据库行业得到了如此广泛的应用,Gartner 表示该行业在 2022 年价值 910 亿美元,但 Stonebraker 对其他人使用他的想法感到悠闲。

“我在财务上做得很好。我认识泰德·科德(Ted Codd),他非常宽宏大量地说你们都应该运行[想法]。你想改变世界;任何特定的人都只是其中的一部分。我一直在做开源代码,并与任何想要它的人分享代码。在这个过程中,我在经济上做得很好,所以是的,我一点也不后悔,“他说。

但这并不是说他已经准备好退休了。在他的最新项目中,Stonebraker 准备再次改变世界。

DBOS(一种面向数据库的操作系统)的想法来自与Apache Spark的作者Matei Zaharia的对话,他也是分析和ML公司Databricks的联合创始人,也是伯克利的副教授。

“Spark 和 Databricks 的业务是在云上管理 Spark 实例。他说,在任何时候,Databricks通常都在为各种用户管理一百万个Spark-sub任务。他们无法使用传统的操作系统调度技术来做到这一点:他们需要一些可以扩展的东西。显而易见的答案是将所有调度信息放入数据库中。这正是 Databricks 人员所做的:他们将其全部放入 PostgreSQL 数据库中,然后开始抱怨 Postgres 的性能,“Stonebraker 说。

斯通布拉克从不回避挑战,他想,“好吧,我可以做得更好。

新项目用一个新的操作系统堆栈取代了 Linux 和 Kubernetes,其底部是一个数据库系统,即 Stonebraker 启动的原型多节点多核、事务性、高可用性 VoltDB。

“基本上,操作系统是数据库的应用程序,而不是相反,”他说。

Stonebraker 与 Zaharia 等人合著的一篇论文解释说:“所有操作系统状态都应该统一表示为数据库表,并且应该通过来自其他无状态任务的查询来对这种状态进行操作。这种设计使得无需全系统重构即可轻松扩展和发展操作系统,检查和调试系统状态,在不停机的情况下升级组件,使用机器学习管理决策,并实现复杂的安全功能。

无论成功与否,操作系统即数据库应用程序的想法不太可能是 Stoneblocker 的最后一个想法。在10月份年满80岁后,他告诉The Register,他不会放慢脚步。

“我无法想象每周打三天高尔夫球。我喜欢我所做的事情,只要我能在智力上具有竞争力,我就会去做,“他说。




最后修改时间:2023-12-28 12:12:22
文章转载自通讯员,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论