slot deposit pulsa slot mahjong slot gacor slot gacor slot gacor resmi slot gacor 2025 slot gacor terpercaya slot gacor 2025 slot gacor hari ini slot gacor hari ini slot gacor hari ini
Postgres 先驱 Stonebraker 承诺将颠覆数据库
17611538698
webmaster@21cto.com

Postgres 先驱 Stonebraker 承诺将颠覆数据库

数据库 0 1977 2023-12-30 09:57:01

图片

导读:一位图灵奖获得者、超级资深技术专家,他的初创技术公司在五年内就取得了突破性进展,他告诉开发者们,他还有更多的锦囊妙计。

“如果我们准备在数据库之上构建操作系统,和现在的样子正好相反,会是什么样的情况?”


这乍听起来像是一名本科生在服用过多剂量兴奋剂后提出的想法,但事实上并非如此。


其实这是一个很严肃的思考,来自一个已经颠覆了计算行业的人,而且他的影响力已经扩展到微软与甲骨文的产品线中。


今年,人们为他隆重庆祝了 80 岁生日,这就是 Michael Stonebraker (米歇尔.斯通布雷克)。


虽然已经是这个年纪,但他仍然持续自己的数据库研发工作


Michael Stonebraker在IT世界中给人们的最深印象是来自 PostgreSQL 这个产品。PostgreSQL 是一个开源关系数据库系统,近年来,已经日趋成为开发主要流行的数据库选项。


根据 2023 年 Stack Overflow 调查数据,今年的开发者使用该数据库系统的数量最多。除了成为流行的开源 DBMS 之外,包括超大规模云提供商、CockroachDB 和 YugabyteDB 在内的供应商都提供有 PostgreSQL 兼容的云数据库服务。


Stonebraker的“光辉岁月”

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

他在接受采访时表示:“我的博士论文是关于马尔可夫链的一个方面,我意识到它没有任何实际价值。我于是到了伯克利,我想用五年的时间做出实质贡献,并获得终身教职。我想找一个产品让它成为我的论文主题。伯克利的另一位教员尤金·王 (Eugene Wong) 跟我说,“我们为什么不看看数据库呢?”

于是两人阅读了 IBM 研究员Edgar Codd新提出的一项和关系数据库有关的提案,名为“大型共享数据库的数据关系模型”。

两个人觉得这个英国人的想法优雅并且很简洁。

“当初显而易见的问题,我们确实想尝试构建一个关系数据库系统。尤金和我都没有构建系统软件的经验。虽然我们都是老师,但我们都认为,一定要尝试一下,看看会发生什么,因此就算没有经验,我们开始开发 Ingres,这也是我后来获得终身职位的原因。”

Ingres也存在竞争性产品,而 IBM 的 System R 就是,后者是第一个展示关系方法,可以提供工作事务性能的系统,也是第一个实现 SQL 全支持的系统。

此外,爱钱的Oracle 在 20 世纪 70 年代后期就开始使用关系型数据库系统。

Ingres 还必须直面多操作系统问题。

Stonebraker在回想刚开发Ingres时的情况这样说道:

“有很多人访问伯克利大学,经常询问我们谁是 Ingres 的最大用户群。后来亚利桑那州立大学希望将Ingres用于记录 35,000 名学生的数据库,但他们没法克服操作系统不受支持的事实,还有来自贝尔实验室的一些人,他们正在用纯种的 Unix”。

于是,Ingres 的目标市场描准了 Unix “中端”系统,它当时也没有当时支持商业计算的主流语言 COBOL。

Stonebraker 于是下定决心:

“唯一的解决方案,就是创办一家全新的数据库公司,”

他继续创建关系技术来,然后将 Ingres 商业化。后来公司更名为 Ingres Corporation,并于 1990 年被 ASK Corporation 收购,ASK Corporation 又在 1994 年被 Computer Associates 收购。

Ingres 团队的另一位成员 Robert Epstein 也走出来创建了 Sybase,该公司在十年内的全球排名中仅次于 Oracle。1992年,Sybase产品被授权给了微软,微软将它用在了早期版本的SQL Server。

当时Ingres 的商业代码库远远领先于开源项目,公司的研发人员只需支付象征性的费用即可获得源代码,其中包括存储所需的磁带和快递费用。

于是,Stonebraker 决定将这些代码推向悬崖,全部扔掉,重新开始。

Ingres之后叫什么名字?他们称为 “ Postgres ”。

Postgres 新时代


1986 年,Ingres 与 Larry Rowe 共同撰写的一篇 28 页论文,在上面宣布了 Postgres 的设计,并提出了六个指导性目标。其中有两个与数据库系统的寿命有关:一是为复杂对象提供更好的支持;第二个是为数据类型、运算符和访问方法,提供给用户良好的可扩展性。


Stonebraker 对可扩展性深有感受,他知道这个对于未来数据库的成功非常重要。


他举到一个例子,有一次客户打电话给他说,‘你那东西执行的时间全错了’。


这位伯克利教授当时感到异常困惑,因为他的团队已经竭尽全力确保正确实施儒略历、闰年等历法的计算。但有些金融行业公司是在一年 360 天的 12 个相同的月份中支付的,这在 Ingres 中无法实现,后来在 PostgreSQL 中完全可用。


使数据库可扩展的想法,有一部分还来自于想要支持新的数据类型。Ingres 的在早期时还想作地理信息系统,远离其业务数据的主战场,因为这个系统“非常缓慢,且经常无法修复”。


这一愿景在过去十年的努力中得到了回报。在这段时间里,PostgreSQL添加了对 Json 文档的支持,这是 NoSQL 数据库 MongoDB 和 Couchbase 所支持的文件格式。


Stonebraker公开批评过NoSQL 运动,后者被批评后正积极在与关系数据库融合,它们采用 SQL 或类似 SQL 的语言,并且接受了数据一致性的需求。


NoSQL 的优点就是开箱即用。如果使用标准的 SQL 数据库,你必须先创建数据库,然后定义游标,这些对于一些非专业用户很难使用。这是针对 SQL 数据库的常见批评之一,而且“开箱即用”的体验很糟糕。人们其实想在打开数据库时对它说,我要有一些数据。”


后来,可用于提供 PostgreSQL 和 PostgreSQL 兼容数据库的各种服务在某种程度上解决了这个问题。


DBMS 作为开源系统的出现是一个“意外”,但令人惊喜,Stonebraker 的项目开始时与开源无半毛钱关系。


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


2005 年,Stonebraker 创立 Vertica,该公司基于用于数据仓库的无共享、面向列的 DBMS,他现在表示“如果当时就开源的话,Vertica 将受益匪浅,但那时开源代码和 VC 的活力是一个相对较新的现象。”

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

Illustra 在发展一段时期就取得了成功。最后于 1996 年以约 4 亿美元的价格出售给 Informix,其中 Stonebraker 的股份价值 650 万美元。Stonebraker 担任母公司首席技术官达四年。

虽然这个估值数字很可观,但与拉里·埃里森 (Larry Ellison) 估计的 1,450 亿美元净资产相比,这只是小菜一碟。

Stonebraker 的产品其实是关系模型的一个早期 Oracle。直到他做了Postgre,他说:

“Ingres 在技术上是好的,而 Postgres 实际上更好。它更灵活,而且是开源的。如今,PostgreSQL 在性能上大致与商业数据库相当。总体来说,闭源数据库不是未来的潮流,我认为 Oracle价格高得离谱,而且不太灵活,”

后来,Oracle 做出的决定推动了开源的发展,它大手笔地购买了开源 MySQL,但该社区中的一些人并不信任该软件掌握在专有软件巨头手中。

在 Illustra 将 Postgres 商业化的同时,伯克利在 MIT 许可下开源了 Postgre的代码,允许开发人员对其进行二次开发。

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

Stonebraker谈到这次开源行动的收获,他这样说道:

“最后发生的事情是 Illustra 获得了关注,但最令人兴奋的是,这群完全不相关的人互相都不认识,他们都拿起了开源 Postgres 代码,并完全使用它,运行的什么样我不知道,但那是一次奇妙的意外,”

“当 MySQL 被 Oracle 收购时,开发人员大批量地产生怀疑,并开始转向 PostgreSQL。这又是一次令人愉快的意外。它的商业成功固然美妙,但很大程度上是偶然的,”Stonebraker 补充说道。

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

“全世界都在向云迁移,Google、Amazon 和 Microsoft 都将赌注押在 PostgreSQL 兼容性上。我认为这是一个好主意。CockroachDB 与 PostgreSQL 也大部分兼容。你可以完全使用 PostgreSQL 开发应用程序,放弃 CockroachDB。PostgreSQL 没有任何分布式数据库功能,但 YugabyteDB 和 CockroachDB 都有”。

Stonebraker 的影响力已经渗透到竞争对手 Oracle 的产品组合中。他的联合数据库 Mariposa 成为 Cohera 的基石,Cohera 是 PeopleSoft 于 2001 年收购的数据库公司,并于 2004 年成为 Oracle 的一部分。

2014 年,Stonebraker 因其对 Ingres 和 Posgres 的社会影响而获得图灵奖,并且获得了来自谷歌的 100 万美元奖金。

尽管他的许多想法在数据库行业得到了如此广泛的应用(Gartner 称数据库行业到 2022 年价值将达到 910 亿美元),但 Stonebraker 对其他人使用他的想法毫不在意。

“有人说说你们都应该管理好想法。我说,你如果想改变世界,任何特定的人只是其中的一部分。我一直这样做,开放源代码并与任何想要的人共享代码。在这个过程中,我在财务上做得很好,所以是的,我一点也不后悔,”

面向数据库的操作系统

多次的成功经历,外界和世俗理解他应该已经准备好退休。但是事实并非如此,Stonebraker 准备再次改变世界。

他的 DBOS(面向数据库的操作系统)的想法来自与 Apache Spark 的作者 Matei Zaharia 的对话,后者是数据分析和机器学习公司Databricks的联合创始人以及伯克利大学的副教授。

“Spark 和 Databricks 的业务是管理云上的 Spark 实例。他说,在某此时刻,Databricks 经常为不同用户管理数百万个 Spark-sub 任务。他们无法使用传统操作系统调度来做到这一点“技术:他们需要一些可以扩展的东西。应该将所有调度信息放入数据库中。这正是 Databricks 人员所做的:他们将所有内容放入 PostgreSQL 数据库中,然后开始抱怨 Postgres 的性能。”

Stonebraker 说,从来没有人会逃避挑战,“好吧,我可以做得更好。”

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

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

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

无论想法成功与否,操作系统即数据库应用程序的想法也不是 Stonebraker 的最后一个想法。2023年10 月,他刚满了 80 岁,他告诉全世界,他不会放慢脚步。

Stonebraker坦言道:

“我无法想象,每周打三天高尔夫球有什么意思。我喜欢我所做的事情,只要我能在智力上具有竞争力,我就会这样干”。

作者:场长

评论