DBOS is a Database-Oriented Operating System designed to simplify and improve the scalability, security and resilience of large-scale distributed applications.[1][2] It started in 2020 as a joint open source project with MIT, Stanford and Carnegie Mellon University, after a brainstorm between Michael Stonebraker and Matei Zaharia on how to scale and improve scheduling and performance of millions of Apache Spark tasks.[2]
The basic idea is to run a multi-node multi-core, transactional, highly-available distributed database, such as VoltDB, as the only application for a microkernel, and then to implement scheduling, messaging, file systems and other operating system services on top of the database.
The architectural philosophy is described by this quote from the abstract of their initial preprint:
All operating system state should be represented uniformly as database tables, and operations on this state should be made via queries from otherwise stateless tasks. This design makes it easy to scale and evolve the OS without whole-system refactoring, inspect and debug system state, upgrade components without downtime, manage decisions using machine learning, and implement sophisticated security features.[3]
Stonebraker claims a variety of security benefits, from a "smaller, less porous attack surface", to the ability to log and analyze how the system state changes in real-time due to the transactional nature of the OS.[1] Recovery from a severe bug or an attack can be as simple as rolling back the database to a previous state. And since the database is already distributed, the complexity of orchestration systems like Kubernetes can be avoided.
A prototype was built with competitive performance to existing systems.[4]
DBOS Cloud
editIn March of 2024, DBOS Cloud became the first commercial service from DBOS Inc. It provides transactional Functions as a Service (FaaS), and is positioned as a competitor to serverless computing architectures like AWS Lambda. DBOS Cloud is currently based on FoundationDB, a fast ACID NoSQL database, running on the Firecracker microVM service from AWS. It provides built-in support for features like multinode scaling and a "time-traveler" debugger that can help track down elusive heisenbugs and works in Visual Studio Code. Another feature is reliable execution, allowing a program to continue running even if the operating system needs to be restarted, and ensuring that no work is repeated.[5]
Firecracker runs on stripped down Linux microkernel via a stripped down KVM hypervisor, so parts of the Linux kernel are still under the covers, but work is ongoing to eliminate them.[6]
DBOS Cloud has been tested running across 1,000 cores running applications. The first API provided is for TypeScript, via the open-source DBOS Transact framework.[6] It provides a runtime with built-in reliable message delivery and idempotency.[7]
Holger Mueller of Constellation Research wondered how well DBOS the company can scale. “Will a small team at DBOS be able to run an OS, database, observability, workflow and cyber stack as good as the combination of the best of breed vendors?”[8]
See also
editPICK OS, another implementation of an operating system based on a DB.
References
edit- ^ a b Werner, John. "Put The OS In The Database: Performance, Cybersecurity And Endurance In The Cloud". Forbes. Retrieved 2023-12-27.
- ^ a b Clark, Lindsay. "Postgres pioneer promises to upend the database once more". www.theregister.com. Retrieved 2023-12-27.
- ^ Cafarella, Michael; DeWitt, David; Gadepally, Vijay; Kepner, Jeremy; Kozyrakis, Christos; Kraska, Tim; Stonebraker, Michael; Zaharia, Matei (2020-07-21), DBOS: A Proposal for a Data-Centric Operating System, arXiv:2007.11112
- ^ Skiadopoulos, Athinagoras; Li, Qian; Kraft, Peter; Kaffes, Kostis; Hong, Daniel; Mathew, Shana; Bestor, David; Cafarella, Michael; Gadepally, Vijay; Graefe, Goetz; Kepner, Jeremy; Kozyrakis, Christos; Kraska, Tim; Stonebraker, Michael; Suresh, Lalith (2021-09-01). "DBOS: a DBMS-oriented operating system". Proceedings of the VLDB Endowment. 15 (1): 21–30. doi:10.14778/3485450.3485454. ISSN 2150-8097. S2CID 245827586.
- ^ Wayne Williams (2024-03-17). "'What if the operating system is the problem': Linux was never created for the cloud — so engineers developed DBOS, a new operating system that is part OS, part database". TechRadar. Retrieved 2024-04-22.
- ^ a b Morgan, Timothy Prickett (2024-03-12). "The Cloud Outgrows Linux, And Sparks A New Operating System". The Next Platform. Retrieved 2024-04-22.
- ^ dbos-inc/dbos-transact, DBOS, Inc., 2024-04-22, retrieved 2024-04-22
- ^ Ghoshal, Anirban (2024-03-12). "DBOS Cloud overturns database-on-OS conventions for speed". InfoWorld. Retrieved 2024-04-22.