NoisePage is a relational database management system (DBMS) designed from the ground up for autonomous deployment. It uses integrated machine learning components to control its configuration, optimization, and tuning. The system will support automated physical database design (e.g., indexes, materialized views, sharding), knob configuration tuning, SQL tuning, and hardware capacity/scaling. Our research focuses on building the system components that support such self-driving operations with little to no human guidance. We seek to create a system that not only able to optimize the current workload, but also to predict future workload trends and prepare itself accordingly. Our plan is for NoisePage to support the most common database tuning techniques without requiring humans to determine the right way and proper time to deploy them. It will also enable new optimizations that are important for modern high-performance DBMSs.
Features
- The goal of the NoisePage project is to build a self-driving DBMS that will continue to operate on its own
- Postgres compatible wire-protocol, SQL, and catalogs
- Apache Arrow compatible columnar storage
- Lock-free multi-version concurrency control
- Just-in-time query compilation using the LLVM
- Vectorized execution using relaxed-operator fusion (ROF)