Skip to content
This repository has been archived by the owner on Feb 20, 2023. It is now read-only.
/ noisepage Public archive

Self-Driving Database Management System from Carnegie Mellon University

License

Notifications You must be signed in to change notification settings

cmu-db/noisepage

Folders and files

NameName
Last commit message
Last commit date

Latest commit

79276e6 · Nov 5, 2021
Jan 4, 2021
Oct 24, 2020
Jul 22, 2021
May 14, 2021
Oct 28, 2020
Aug 13, 2021
Jul 11, 2021
Jul 29, 2021
Jul 29, 2021
Jul 29, 2021
Jun 14, 2021
Jul 22, 2021
Jul 24, 2018
Sep 17, 2019
Nov 30, 2020
Jul 31, 2018
Jun 14, 2021
Jul 16, 2020
Jul 22, 2021
Nov 30, 2020
Apr 22, 2021
Apr 22, 2021
Nov 5, 2021
Jul 9, 2018
Dec 10, 2020

Repository files navigation

NoisePage Logo

Jenkins Status codecov

NoisePage is a relational database management system developed by the Carnegie Mellon Database Group. The research goal of the NoisePage project is to develop high-performance system components that support autonomous operation and optimization as a first-class design principle.

Key Features

  • Integrated machine learning components to forecast, model, and plan the system's behavior.
  • Postgres compatible wire-protocol, SQL, and catalogs.
  • Apache Arrow compatible in-memory columnar storage.
  • Lock-free multi-version concurrency control.
  • Just-in-time query compilation using the LLVM.
  • Vectorized execution using relaxed-operator fusion (ROF).
  • 100% Open-Source (MIT License)

Quickstart

The NoisePage project is built and tested on Ubuntu 20.04. No other environments are officially supported.

git clone https://github.com/cmu-db/noisepage.git
cd noisepage
sudo ./script/installation/packages.sh
mkdir build
cd build
cmake -GNinja -DCMAKE_BUILD_TYPE=Release -DNOISEPAGE_USE_JEMALLOC=ON -DNOISEPAGE_UNITY_BUILD=ON ..
ninja noisepage
./bin/noisepage

You can now connect to NoisePage over the Postgres client psql.

psql -h localhost -U noisepage -p 15721

Additional Notes:

  • If you have less than 16 GB of RAM, use -DNOISEPAGE_UNITY_BUILD=OFF in the cmake commands above.
  • If you know what you're doing, install the prerequisite packages from ./script/installation/packages.sh manually.

For Developers

Please see the docs.

Contributing

If you are a current student at CMU,

Contributions from non-CMU students are also welcome!