Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/cmu-db/noisepage
Self-Driving Database Management System from Carnegie Mellon University
https://github.com/cmu-db/noisepage
database dbms
Last synced: 13 days ago
JSON representation
Self-Driving Database Management System from Carnegie Mellon University
- Host: GitHub
- URL: https://github.com/cmu-db/noisepage
- Owner: cmu-db
- License: mit
- Archived: true
- Created: 2018-07-09T18:22:34.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2022-11-08T02:06:47.000Z (about 2 years ago)
- Last Synced: 2024-05-08T15:32:11.440Z (6 months ago)
- Topics: database, dbms
- Language: C++
- Homepage: https://noise.page
- Size: 17.2 MB
- Stars: 1,731
- Watchers: 86
- Forks: 502
- Open Issues: 191
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- stars - cmu-db/noisepage - Driving Database Management System from Carnegie Mellon University (HarmonyOS / Windows Manager)
- awesome-list - noisepage - Driving Database Management System from Carnegie Mellon University | cmu-db | 1261 | (C++)
README
-----------------
[![Jenkins Status](http://jenkins.db.cs.cmu.edu:8080/job/terrier/job/master/badge/icon)](http://jenkins.db.cs.cmu.edu:8080/job/terrier/)
[![codecov](https://codecov.io/gh/cmu-db/noisepage/branch/master/graph/badge.svg)](https://codecov.io/gh/cmu-db/noisepage)[NoisePage](https://noise.page) is a relational database management system developed by the [Carnegie Mellon Database Group](https://db.cs.cmu.edu). 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](https://arrow.apache.org/) 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](https://github.com/cmu-db/noisepage/tree/master/docs/).
## Contributing
If you are a current student at CMU,
- See the [New Student Guide](https://github.com/cmu-db/noisepage/tree/master/docs/).
- Consider enrolling in one of the [database courses](https://db.cs.cmu.edu/courses/).Contributions from non-CMU students are also welcome!