NoisePage

NoisePage is an in-memory relational DBMS designed to support self-driving (i.e., autonomous) operation. It is developed by the Carnegie Mellon Database Group.

History

The CMU Database Group abandoned the Peloton project in 2018 and started building NoisePage from scratch.

System Architecture

Shared-Everything

Query Interface

SQL

Parallel Execution

Intra-Operator (Horizontal)

Stored Procedures

Supported

Query Compilation

Code Generation JIT Compilation Stored Procedure Compilation

NoisePage transforms query plans into a database-centric DSL called TPL ("terrier programming language"). The DBMS then compiles the TPL program into bytecodes that it can either interpret with its own VM or compile into machine code with LLVM.

Data Model

Relational

Concurrency Control

Multi-version Concurrency Control (MVCC) Optimistic Concurrency Control (OCC)

Transactions generate redo records in thread-local memory.

Isolation Levels

Snapshot Isolation

Storage Organization

Heaps

Storage Format

Apache Arrow

Storage Architecture

In-Memory

Query Execution

Vectorized Model

NoisePage Logo
Website

https://noise.page/

Source Code

https://github.com/cmu-db/noisepage

Tech Docs

https://github.com/cmu-db/noisepage/tree/master/docs

Developer

Carnegie Mellon University

Country of Origin

US

Start Year

2018

Former Name

Peloton

Project Type

Academic, Open Source

Written in

C++

Inspired By

HyPer

Compatible With

PostgreSQL

Operating Systems

Linux, OS X

Licenses

MIT