数据库领域一共出了四位图灵奖获得者,按照先后顺序分别是:
- 实现第一个关系型数据库系统 System R,引入 ACID 的 Jim Gray
以及本文的主人公 Michael Stonebraker,也是唯一健在的一位
Stonebraker 教授之前在伯克利,现在在 MIT。他主要的贡献来自于两方面,一方面是在数据库理论上,引入对象概念,如今知名的 PostgreSQL 数据库的前身就是他发起的 Ingres 项目。Postgres 既是 Post-Ingres,后来加上了 SQL 层,才变成了今天的 PostgreSQL。另一方面是在工业界的实践,教授是一名连续创业者。最早基于 Postgres 工作创立了 Illustra,卖给了当年的数据库巨头 Informix。后来又先后创立了 Vertica 以及 VoltDB。本来以为教授该颐养天年了,没想到以 80 岁高龄,再度出山。这次老爷子还跨界了,把手伸到了操作系统领域,要把操作系统建在数据库上。通常的认知里,数据库是建在操作系统之上的,而教授则要乾坤反转。大概是下面这个架构。是不是还是有点抽象,那就看下面这个例子,来自 IBM 古早的 AS/400 大型机。是的,这个架构在很早的 IBM 大型机里就有了。上面这张图是文件目录,PEOPLE 是一个文本文件。QCSRC 也是一个文本文件,不过是代码文件。而 HELLOWORLD 则是通过 QCSRC 编译出的程序。这个看上去和我们现在熟悉的文件目录类似,但其实这是一张数据库的表,为什么这么说,我们看下面这张图。我们打开了 QCSRC 的源代码文件,展示了 Hello world 的 C 代码。但是这个打开的方式,不是 open file.c。而用的是 SQL 语言 SELECT * FROM qcsrc。仔细看的话,这其实是一样表,每一行就是表的数据行。因为是一张表,所以我们也可以用 SELECT * FROM qcsrc ORDER BY scrdta 打开,这时你会看到行重新排列了。
作为当年的卧龙凤雏,IBM 之外,微软也曾经动过这个念头。微软历史上 WinXP 大获成功,而之后发布的 Vista 不仅大大延期,发布后还差评一片。其实在 WinXP 和 Vista 之间还有一个被砍掉的操作系统,代号 longhorn。配合 longhorn 还准备开发一个叫做 WinFS (Windows Future Storage) 的全新存储系统。
WinFS 看名字就知道被寄托了很大的希望,它的愿景来自于比尔盖茨,要把 WinFS 构建在 SQL Server 上,让 Windows 也能做类似于 AS/400 那样的操作。当然随着 longhorn 的破产,WinFS 项目也就嘎然而止了。
DBOS 故名思义,基于 DB 的 OS,就是把数据库作为操作系统的底层,这样操作系统就获得了数据库的特性。比如事务性。像下面这个例子是确保一个客户下单流程的事务性,可以处理各种异常情况。本来在应用层要妥善处理这样涉及多个外部系统的工作流,会非常复杂。也诞生了像 Temporal 这样专门解决这个问题的独角兽公司。除了给操作系统原生的数据库能力之外,DBOS 的另一个目标是做一个云原生的操作系统。现在的操作系统都是面向单机的,然后在应用层用 Kubernetes 把这些单机的操作系统糊在一起。如果我们把分布式,调度直接做到操作系统里的话,就不需要 Kubernetes 了。而分布式,调度这些正是分布式数据库的拿手好戏。DBOS 这个项目 2022 年就启动了,发起者中也有国人。考虑到 Stonebraker 教授的年龄,这也可能是他生涯最后一战。教授乃是性情中人,当年 NoSQL 风头正劲,大有要灭了关系型数据库的势头。教授实在看不下去,下场写了篇 what goes around comes around (因果报应),给大家好好上了堂数据库历史课。这次 DBOS 的愿景和商业落地难度还要远超教授之前的 Vertica 和 VoltDB。但作为数据库领域当世第一战神,干就是了!
奥赛满分金牌得主出品,硅谷诞生超级AI码农
从 Java 大神 Joshua Bloch 提炼 API 设计的三个核心原则
Bytebase 签约 Wallex,助其强化数据安全与合规性,实现精细的数据访问控制和数据脱敏
最迟但到的 Star History 2023 年度开源精选!