Page #1: The COVID-19 Code Drop
Pittsburgh, PA — This has been a painful journey. After years of impotent performance and correctness checks in the Peloton database project, we found ourselves in a morass of despair and unmaintainable system code. Previous attempts to rectify the many issues with the system proved to be feckless, even with the most brilliant database students and engineers. Rather than continue on with the desiccated husk of a system on life support, we decided to sacrifice our beloved DBMS on the altar of the database gods and start over. It does not help that a certain bike company was able to capture distilled misogyny in a 30 second commercial and thus forever ruining a good name for a DBMS.
Two years have passed since then. We now find ourselves in a new world plagued by a pestilence that feeds on imbecilic apathy and stupidity. Despite this setback, we have persevered and continue forward with our research fueled by our unwavering desire to pursue science.
The Carnegie Mellon Database Group is pleased to announce the first page of the NoisePage database management system. This release is still experimental code and thus should not be used in production environments.
There is currently no support for self-driving operations in this release; it does contain the offline training data collection framework that is needed to train the DBMS’s internal operating unit models.
- Postgres network protocol support (simple + extended modes) with prepared statements. DDL changes do not invalidated cached statements.
- HyPer-style MVCC on columnar storage. The DBMS only supports SNAPSHOT ISOLATION.
- Lock-free Bw-Tree and libcuckoo indexes.
- Parallel query execution using either a vectorized opcode interpreter or compiled into machine code with LLVM.
- Preliminary support for Postgres catalog compatibility.
- Support for several built-in SQL-92 functions (string, arithmetic).
- In-memory Apache Arrow compatible storage (automatic compaction is currently disabled).
- Cascades query optimizer (cost model currently does not compute table statistics).