DBOS (Database-Oriented Operating System) is a
database
In computing, a database is an organized collection of data or a type of data store based on the use of a database management system (DBMS), the software that interacts with end users, applications, and the database itself to capture and a ...
-oriented
operating system
An operating system (OS) is system software that manages computer hardware and software resources, and provides common daemon (computing), services for computer programs.
Time-sharing operating systems scheduler (computing), schedule tasks for ...
meant to simplify and improve the
scalability
Scalability is the property of a system to handle a growing amount of work. One definition for software systems specifies that this may be done by adding resources to the system.
In an economic context, a scalable business model implies that ...
, security and resilience of large-scale distributed applications.
It started in 2020 as a joint
open source
Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use and view the source code, design documents, or content of the product. The open source model is a decentrali ...
project with
MIT,
Stanford and
Carnegie Mellon University
Carnegie Mellon University (CMU) is a private research university in Pittsburgh, Pennsylvania, United States. The institution was established in 1900 by Andrew Carnegie as the Carnegie Technical Schools. In 1912, it became the Carnegie Institu ...
, after a brainstorm between
Michael Stonebraker and
Matei Zaharia on how to scale and improve scheduling and performance of millions of
Apache Spark tasks.
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
In computer science, a microkernel (often abbreviated as μ-kernel) is the near-minimum amount of software that can provide the mechanisms needed to implement an operating system (OS). These mechanisms include low-level address space management, ...
, 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.
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.
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.
DBOS Cloud
In 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
Serverless computing is "a cloud service category in which the customer can use different cloud capability types without the customer having to provision, deploy and manage either hardware or software resources, other than providing customer appli ...
architectures like
AWS Lambda. DBOS Cloud is currently based on
FoundationDB, a fast
ACID
An acid is a molecule or ion capable of either donating a proton (i.e. Hydron, hydrogen cation, H+), known as a Brønsted–Lowry acid–base theory, Brønsted–Lowry acid, or forming a covalent bond with an electron pair, known as a Lewis ...
NoSQL
NoSQL (originally meaning "Not only SQL" or "non-relational") refers to a type of database design that stores and retrieves data differently from the traditional table-based structure of relational databases. Unlike relational databases, which ...
database, running on the
Firecracker 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.
Firecracker runs on stripped down
Linux
Linux ( ) is a family of open source Unix-like operating systems based on the Linux kernel, an kernel (operating system), operating system kernel first released on September 17, 1991, by Linus Torvalds. Linux is typically package manager, pac ...
microkernel
In computer science, a microkernel (often abbreviated as μ-kernel) is the near-minimum amount of software that can provide the mechanisms needed to implement an operating system (OS). These mechanisms include low-level address space management, ...
via a stripped down
KVM hypervisor, so parts of the Linux kernel are still under the covers, but work is ongoing to eliminate them.
DBOS Cloud has been tested running across 1,000 cores running applications. The first
API provided is for
TypeScript
TypeScript (abbreviated as TS) is a high-level programming language that adds static typing with optional type annotations to JavaScript. It is designed for developing large applications and transpiles to JavaScript. It is developed by Micr ...
, via the open-source DBOS Transact framework.
It provides a runtime with built-in reliable message delivery and
idempotency.
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?”
See also
*
PICK OS, another implementation of an operating system based on a DB.
References
External links
*
Operating systems
{{operating-system-stub