August 31st, 2024

Stonebraker Seeks to Invert the Computing Paradigm with DBOS

Mike Stonebraker's startup DBOS inverts computing by placing an OS atop a database, enhancing security and simplifying administration. It offers "time travel" features and targets government and financial sectors, backed by $8.5 million funding.

Read original articleLink Icon
Stonebraker Seeks to Invert the Computing Paradigm with DBOS

Mike Stonebraker has launched a new startup called DBOS (Database-Oriented Operating System), which aims to invert the traditional computing paradigm by placing an operating system on top of a database. This innovative approach, which has been made available on AWS, is backed by an $8.5 million funding round. Stonebraker, a renowned figure in database development, argues that the increasing complexity and volume of data in distributed computing environments necessitate this shift. He identifies three main reasons for this inversion: the growing amount of operating system data in large clusters, the significant speed improvements in online transaction processing (OLTP) databases, and the challenges of managing OS state in cloud environments. DBOS is designed to simplify system administration and enhance security by eliminating the need for traditional components like Linux and Kubernetes, thus reducing the attack surface. It also offers unique features such as "time travel" capabilities for applications, allowing users to recover from issues like ransomware attacks quickly. The platform is currently cloud-only, targeting sectors such as government and financial services, and aims to provide a more secure and efficient alternative to legacy systems.

- DBOS inverts the traditional computing model by placing the OS on top of a database.

- The platform aims to simplify system administration and enhance security by removing traditional components.

- Unique features include "time travel" capabilities for quick recovery from issues.

- DBOS is currently available on AWS and targets sectors like government and financial services.

- The startup has received $8.5 million in funding to support its development.

Link Icon 23 comments
By @Validark - 6 months
Looks cool, but if you're building a stack for everyone else to build atop, why would you start with non-bare metal languages? I see C++ is in there, which is fine depending on who is wielding it, but Java and TypeScript necessarily add overhead that to me just doesn't make sense to add to all systems that want to run on your platform?
By @somat - 6 months
I worked at one place, they had heavily invested into pick style databases, when pick databases still made sense, and for some of the crusty old pick programmers still around, that was the os, it was their development environment and shell.

https://en.wikipedia.org/wiki/Pick_operating_system

Note: I don't think they had any actual pick systems left, by the time I got there they were mostly using unidata on linux, but there were still a lot unidata on sco boxes around.

By @js8 - 6 months
I have been thinking about that idea (putting database in front of operating system, i.e. applications interact with the environment through database) for a while now, I think it's really neat.

Another good reason is testing and verification. Your application becomes decoupled from the OS resources and you can verify what it does to them by comparing the database. Because the OS state is managed by database, it is formally described and you can verify what your application does to it. In some sense, it's an implementation of functional core/imperative shell idea.

Also, because DBs are transactional, transactions will become a first-class concept in your operating system. Which is something that's long overdue for applications (although there are systems such as CICS that have been doing this for some time now).

By @spaintech - 6 months
Been following this development here for some time… many threads already provide for some great comments on the idea.

I find it both interesting and exciting to see a new os for the could era. I do feel like the DBOS is still not singular, PICK ( already mentioned) but also mentioned in other thread where Taurus OS and the Plant 9 project, which also leverages a database on a file system as a core for system resource management.

In my own thinking of a cloud OS, and particularly considering the focus on server-less applications as mentioned in the article, I have been inspired by Forth’s Dictionary data structure as a lightweight data structure concept where the core state and application contexts are managed through modular dictionaries, each with isolated and secure contexts. OS has a Core Dictiory, and each application is contained with in it’s own namespace dictionary… ect.

Message passing between applications could be efficiently handled using a tagging/queue system, potentially extending to RDMA for distributed environments. This could offer a lightweight, performance-optimized alternative current OS options, particularly in resource-constrained or highly distributed systems for server-less infrastructures.

By @random3 - 6 months
This isn't a bad idea. However, assuming heterogenous hardware(CPUs, GPUs, RAM, Network, capabilities) the OS problem is primarily a driver problem. Resource management seem like a candidate for a microkernel and this can expose a relational interface to a distributed OS. The distributed OS is primarily a resource manager and well fit for a similar relational interface. Provided that, besides drivers, the state management (tasks) is a relatively big issue, this makes the whole setup not far from a DB architecture and most managers/schedulers are arguably easily generalizable to a relational interface. In fact most distributed systems run on some form of distributed state management / DB (e.g. Raft, Zookeeper)

This said, I think the more granular approach for the kernel is maybe a cleaner way to think about it. Also, any pragmatic approach would need to take drivers into account and I wonder if it's realistic to assume anything else but major kernels.

By @gregw2 - 6 months
By @xixixao - 6 months
This boils down to a serverless platform with storage and scheduling - which is a great idea!

Add reactivity and you get Convex: https://www.convex.dev/

By @yencabulator - 6 months
Where's the code? I see a Typescript framework for writing database-using programs, but I see nothing resembling a kernel or an OS.

It seems the SaaS is proprietary. This is weird since even the article points out they got early feedback that proprietary systems weren't interesting to people:

> The first version of DBOS was written in Java and used VoltDB, the fast relational database created by Stonebraker over a decade ago. But early feedback from interested parties said a proprietary system was a no-go, so the commercial version was rewritten to use FoundationDB [...]

By @thisislife2 - 6 months
Interesting - we've been hearing about a "database file system" for some time now, and it's exciting to see it popping up slowly. But DBOS still has a long way to go - runs only on AWS currently and you are limited to Typescript for development (which is a curious choice - any idea why?).

> DBOS will resist being on-prem and will resist being POSIX compliant, Stonebraker said ... They may also want things like support for Python and Java programming environments, and support for running in Azure and GCP, which will be determined in the future.

By @yarg - 6 months
Reminds me of what Microsoft was trying to do for Longhorn.

https://en.wikipedia.org/wiki/WinFS

By @cootercharger - 6 months
this makes me think of the IBM i (fka OS400) Operating System, where the DB integration is so tight in with the OS. Originally DB2 did not have a name because it was so tightly part of an OS, it didnt need one until it came time to compare it to ther dbs and make standalone offerings of it. So therefore "IBM i" is basically DB2OS then?
By @adamgordonbell - 6 months
By @nialse - 6 months
Sounds a lot like OS/400 in my ears. A machine interface that virtualizes the hardware and a database on top of that which applications are built upon. So, maybe not that new of an idea?
By @deepfriedchokes - 6 months
Sounds kind of like what we live in. The universe is the database and life the operating system(s).
By @fmajid - 6 months
There is still an OS. Calling it a “minimal kernel” in the diagram is just semantic word games.
By @pjmlp - 6 months
Why should this be surprising at all?

Big iron RDMS have had the enterprise option to run as full OSes for quite some time now.

By @bregma - 6 months
By 'invert the computing paradigm' they seem to mean 'reinvent IBM MVS and CICS from the 1970s'. Of course, it's still around and dominates some industries, but hey, where's the marketing spin in that?
By @ChicagoDave - 6 months
Not sure if relational was the optimal choice. A graph db like Neo4j might be more effective.