PostgreSQL 的创建者与 Apache Spark 的创建者合作,在分布式数据库之上构建了一个云操作系统,旨在比当今广泛使用的 Linux/K8s 组合提供更好的安全性和更低的管理复杂性。
图灵奖获得者 Mike Stonebraker 博士是数据库领域的传奇人物。四十年前,他创造了第一个关系型系统 Ingress,三十年前,又推出了PostgreSQL,近年来,他共同创建了内存事务数据库系统 VoltDB。
如今,他携手Apache Spark的创始人 Matei Zaharia 博士再次出击,共同打造旨在取代整个云原生计算堆栈的数据库系统 DBOS(数据库操作系统)。
这项工作背后的初创公司宣称,Linux 太旧了,Kubernetes 太复杂了。现在已经设计了一个数据库来取代所有这些。
为了实现这一愿景,DBOS, Inc. 已筹集 850 万美元种子资金,由 Engine Ventures、Construct Capital、Sinewave 和 GutBrain Ventures 领投。
该项目由 Stonebraker 博士、Apache Spark 创建者(Databricks 联合创始人兼首席技术官 Matei Zaharia)以及麻省理工学院和斯坦福大学计算机科学家的联合团队共同创立。
DBOS 在高性能分布式数据库之上运行操作系统服务。所有状态、日志和其他系统数据都存储在 SQL 可访问的表中。
创建者声称,其结果是为云原生应用程序提供了一个可扩展、容错且具有网络弹性的无服务器计算云。
通过在分布式数据库之上运行的操作系统,您可以获得容错、多节点扩展和状态管理。可观察性和安全性变得更加容易。容器和编排层已经不复存在。
“你编写的代码更少,因为操作系统为你做了更多的事情,”Stonebraker 说。
如今,分布式系统主要构建在设计为在单个服务器上运行的操作系统 (Linux) 上。这导致整个基础设施堆栈(应用程序数据、身份验证系统、消息传递、集群管理)需要管理数量惊人的不同变量状态。
这种分散的性质当然需要无数的观察工具和安全工具,因为所有的州都为恶意黑客提供了肥沃的土壤。
什么可以轻松应对一百万个州?当然是数据库。

在DBOS设计中,高性能分布式OLTP将实现一套操作系统服务。它将在最小的操作系统内核上运行,支持内存管理、设备驱动程序、中断处理程序和字节管理的基本任务。
一个数据库统领一切
这并不是第一次提出这个想法:早在 2001 年,我们就记得 Larry Ellison 认为中间件是一个“白痴想法”,一切都应该由数据库本身管理。
Stonebraker 博士说,这个 DBOS 项目背后的中心思想来自一个简单的想法:跟踪操作系统状态应该是一个数据库问题。
这个想法来自 Zaharia 的一次演讲。他指出,Apache Spark 的 Databricks 云服务通常会同时管理一百万个子任务。所有状态和调度信息都在 PostgreSQL 数据库中进行跟踪,该数据库缓慢的性能让 Databricks 的管理团队感到沮丧。
数据库瓶颈很容易解决。事实上,这就是 VoltDB 的全部内容,可以分布在多个服务器上的并发 ACID 事务处理。
当年,Stonebraker 博士是 Unix 的早期用户,他的 PDP 11/40 具有 48k 主内存和 25MB 磁盘内存。然后,所有的状态都由 Unix 自己保存。当然,与人民民主党相比,一百万个州是六个数量级的跃升。但“操作系统必须跟踪的状态量基本上与资源成正比,”Stonebraker 博士说。
DBOS 本身在麻省理工学院的 SuperCloud 上进行了测试,该云拥有超过 32,000 个处理器、数 TB 的主内存和更多 TB 的辅助存储。
堆栈的底部是分布式事务数据库系统,文件系统、调度引擎和消息系统都构建在顶部。
他们的研究人员在 2023 年超大型数据库会议上讨论了该堆栈,并在一系列论文中详细介绍了该工作,涵盖 ACID 事务和系统重放。
Stonebraker 博士将 Linux 称为“漏洞”,这意味着可以通过多种方式引入安全漏洞。另外,在数据库之上构建操作系统将提供回滚到漏洞被利用之前状态的能力(可以将其视为苹果时间机器,但用于服务器)。
Stonebraker 博士说,集中数据库也将有助于调试。将应用程序分解为微服务使得它们很难调试,甚至很难在每次测试中出现不必要的行为(这些行为被称为“Heisenbugs”)
“我们以事务方式运行您的所有微服务。因此,并行微服务由我们的并发控制系统进行排序,基本上,要么没有 Heisenbug,要么它们很难运行,”Stonebraker 博士说。
最初,该系统是在 VoltDB 上模拟的,但他的支持者希望使用开源键值系统,因此他们以 FoundatiolDB 为基础。 (Stonebraker 博士承认任何 PostgreSQL 线路兼容的分布式 OLTP 系统都可以工作,例如 CockroachDB)。
DBOS Cloud:用于事务支持的分布式数据库
围绕 DBOS Cloud 构建的第一个商业服务是一个事务性功能即服务 (FaaS) 平台,在首次发布时可供开发人员使用。
DBOS 在 Amazon Web Services 的 Firecracker 上运行,最初可供开发人员通过今天推出的 DBOS Cloud 进行体验。
DBOS Cloud 是一个由 DBOS 操作系统提供支持的事务性无服务器应用程序平台,可用于构建和运行无服务器功能、工作流和应用程序。可以将其视为具有事务支持的 AWS Lambda。
该服务具有以下优势:
- 支持有状态功能和工作流程
- 内置容错功能,保证一次性执行
- 时间旅行调试
- SQL可访问的可观测性数据
- 实现网络攻击自我检测和自我恢复
GitHub 存储库包含该公司开发的一些工具,包括用于与 DBOS 交互的 TypeScript 框架,以及 VSCode 的“时间旅行者调试器”。






