DBOS: A DBMS-oriented Operating System [pdf]
vldb.org
vldb.org
Note however that DBOS inverts what sqlpal is doing.
The data model and code describe in "4.2 Scheduling Studies" is very similar to a PostgreSQL stored procedure scheduler system we've written to parallelize large UPDATE/INSERT ... SELECT jobs, parallelizable thanks to having a "shard_id" column similar to the "p_key" column mentioned in the paper.
Currently, each INSERT reading directly from a SELECT query, must run as separate queries, by each worker, for each CPU, to parallelize the workload, to fully utilize the server hardware.
We already have parallelizable SELECT queries in PostgreSQL. If the future would bring us parallelizable UPDATE/INSERT queries, we would finally have all the ingredients to run a single SQL query that would not only perform the computations in parallel to produce the aggregated result, but also write it in parallel to the database.
Btw, I think "p_key" in the paper is confusing, as I first though it meant "primary key" but then understood it means "partition key".
The paper is a good read: it's quite high level and written in a simple, direct language.
There are some "this is cool" moments in the paper -- such as when it explains how IPC messaging is done. You simply need to insert your message to the appropriate SQL table with the receiver_id of the receiver! The underlying RDMBS is distributed. Each table is hash partitioned on a key and here the key is receiver_id itself. So if receiver_id hashes to a different node than the current one, DBOS will transparently "send" the message to the other node by doing the usual distributed DBMS stuff.
This smells like the future. However the choice of VoltDB as the base db seems like a fatal choice. I'm sure VoltDB is great but it's a commercial product and the community edition is licensed as Affero GPL.
Maybe I'm spoiled but an OS in 2022 that would like to be mass adopted needs to have fully open source foundation. After Linux no one wants to go back to the days of proprietary OSes even if they are path breaking in some ways.
Why is it a bad thing that open source software writers want contributions back from commercial entities that grift off their work? AGPL, SSPL, and others are kind of the OSS answer to the riddle of “how do we make open source software viable with companies like Amazon?”
The first model of Open Source is where someone just wants to build a great piece of software which everyone contributes to. The objective is just to build a great OS, a great painting application, a great IDE etc. and not worry about how much money _someone else_ is making off of it. If the license allows making money off the software as a service, then I don't think you can call it grifting in all fairness. It would be nice to contribute back and one might quibble about how much company X is contributing back but these contributions would be voluntary since the license does not require that.
The second model is if you want to make some money off of Open Source. In that case you probably need to have a more restrictive license in certain scenarios. No problem with that too. It depends on what your objectives are as the author of a Open Source project.
The Linux kernel is a great example of a "commons" in which code is contributed. Some companies make a lot of money out of this. I don't resent that because the license allows that. It also allows small startups and companies to use Linux without worrying too much about License compliance etc.
If someone were to use DBOS which uses VoltDB and don't wish to spent money, they might need to worry about license compliance with its Affero GPL components. Why take on the headache? Just use Linux + other clustering solutions, even thought its may not be as advanced in some respects as DBOS.
Anyways, I actually don't know what the licensing model of DBOS truly is in terms of using VoltDB components specifically and generally speaking. It's possible that DBOS has liberal licensing. Someone more knowledgeable would need to add a comment on that.
Lastly, DBOS comes across as something that is being heavily developed so I'm not aware of whether it can even be downloaded by others and used to get work done...