DBOS 的创建者最近推出了 DBOS Cloud,这是一个为 TypeScript 开发人员量身定制的事务性无服务器应用程序平台。由于所有的状态信息都存储在一个高可用的 DBMS 中,这个新平台可确保事务性无服务器计算,提供可靠的执行以及所谓的“时间穿越”(time travel)功能。
DBOS(DataBase oriented Operating System,面向数据库的操作系统)被称为“世界上第一个云原生操作系统”和“Kubernetes 上的数据库替代品(database alternative to Kubernetes)”,它用 SQL 实现了操作系统服务,运行在一个高性能的分布式、事务性、分区容错的数据库之上。计算机科学家、图灵奖得主 Michael Stonebraker 写道:
DBOS(DataBase oriented Operating System,面向数据库的操作系统)的想法起源于 3 年前,当时我意识到,自 1973 年开始在 PDP-11/40 上使用 Unix 以来,操作系统必须维护的状态(文件、进程、线程、消息等)的大小增加了大约 6 个数量级。因此,存储操作系统状态是一个数据库问题。此外,Linux 目前还有遗留代码,很难向前发展。例如,没有多节点版本的 Linux,需要人们运行诸如 Kubernetes 之类编排器。
据作者介绍,DBOS Cloud 会自动记录应用程序执行的每一步以及它在数据库中所做的每一次更改。DBOS Cloud 的两个明显特性是可靠的执行和时间穿越:如果 DBOS 程序上运行的代码发生了中断,它会自动从中断点恢复,而无需重新执行任何先前完成的工作。Stonebraker 补充道:
自己提供这样的保证需要数月的工作,但在 DBOS 中,它们被内置到了每个程序中(……)你可以逐步执行过去的执行,以重现罕见的错误,甚至可以根据历史状态运行新代码。
此外,“时间穿越调试器”使开发人员能够在笔记本电脑上本地回放任何 DBOS Cloud 跟踪,观察过去的应用程序状态,并测试代码更改。未来,该团队计划发布用于灾难恢复的时间穿越功能,使开发人员能够将应用程序及其数据回滚到之前的任何状态。Ampt 首席执行官兼创始人 Jeremy Daly 评论道:
最有趣的是,这个项目是由 Mike Stonebraker 博士(他创建了 Ingress、PostgreSQL 和 VoltDB)和 Apache Spark 的创建者 Matei Zaharia 共同创建的。
Percona 的创始人兼开源倡导者 Peter Zaitsev 对此表示 赞同,但补充道:
近年来,Mike Stonebraker 似乎并不热衷于其公司的开源。
虽然该团队已经发布了一个开源的 DBOS TypeScript SDK,但与 Ingress、PostgreSQL、VoltDB 或 Apache Spark 不同的是,DBOS 本身并不是开源的。在 Hacker News 的一个帖子中,DBOS 的联合创始人 Peter Kraft 解释道:
在我们的云平台(主要是 Go+SQL)的框架下,我们基于学术项目的想法来提供新功能,比如可靠的执行 / 时间穿越,但就像一个好的操作系统一样,我们希望向用户隐藏这种复杂性。
现在已经提供了一个免费层和一个编程指南,该指南涵盖了无服务器计算平台上的幂等性和工作流执行。免费层为每个应用程序提供固定的资源(一个具有 512 MB RAM 和 1 vCPU 的 Firecracker microVM),在不使用时可缩容到零。
原文链接:
评论