terrier

by cmu-db

cmu-db / terrier

Self-Driving Database Management System from Carnegie Mellon University

599 Stars 285 Forks Last release: 6 days ago (p1) MIT License 678 Commits 1 Releases

Available items

No Items, yet!

The developer of this repository has not created any items for sale yet. Need a bug fixed? Help with integration? A different license? Create a request here:

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 or macOS 10.14+. 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

If you are on a Mac, you may need to add this to your

.zshrc
:
export PATH="/usr/local/opt/[email protected]/bin:$PATH"
export LIBRARY_PATH=$LIBRARY_PATH:/usr/local/opt/libpqxx/lib/
export CC=/usr/local/Cellar/[email protected]/8.0.1_3/bin/clang
export CXX=/usr/local/Cellar/[email protected]/8.0.1_3/bin/clang++
export LLVM_DIR=/usr/local/Cellar/[email protected]/8.0.1_3
export ASAN_OPTIONS=detect_container_overflow=0

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, - See the New Student Guide. - Consider enrolling in one of the database courses.

Contributions from non-CMU students are also welcome!

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.