/peloton

The Self-Driving Database Management System

Primary LanguageC++Apache License 2.0Apache-2.0

Peloton Logo

GitHub license Version Travis Status Jenkins Status Coverage Status

What Is Peloton?

  • A self-driving SQL database management system.
  • Integrated artificial intelligence components that enable autonomous optimization.
  • Native support for byte-addressable non-volatile memory (NVM) storage technology.
  • Lock-free multi-version concurrency control to support real-time analytics.
  • Postgres network-protocol and JDBC compatible.
  • High-performance, lock-free Bw-Tree for indexing.
  • 100% Open-Source (Apache Software License v2.0).

What Problem Does Peloton Solve?

During last two decades, researchers and vendors have built advisory tools to assist database administrators in system tuning and physical design. This work is incomplete because they still require the final decisions on changes in the database, and are reactionary measures that fix problems after they occur.

A new architecture is needed for a truly “self-driving” database management system (DBMS) which is designed for autonomous operations. This is different than earlier attempts because all aspects of the system are controlled by an integrated planning component. In addition to optimizing the system for the current workload, it predicts future workload trends which lets the system prepare itself accordingly. This eliminates the requirement of a human to determine the right way, and reduces time taken to deploy the changes, optimizing the DBMS to provide high-performance. Auto-management of these systems has surpassed the abilities of human experts.

Peloton is a relational database management system designed for fully autonomous optimization of hybrid workloads. See the peloton wiki for more information.

Installation

Check out the installation instructions.

Supported Platforms

Peloton has been tested to work on the following platforms:

  • Ubuntu Linux 14.04+ (64-bit)
  • Fedora Linux 24+ (64-bit)
  • Mac OS X 10.9+ (64-bit)

Please note that it will not compile on 32-bit systems.

Development / Contributing

We invite you to help us build the future of self-driving DBMSs. Please look up the contributing guide for details.

Issues

Before reporting a problem, please check how to file an issue guide.

Status

Technology preview: currently unsupported, possibly due to incomplete functionality or unsuitability for production use.

Contributors

See the people page for the full listing of contributors.

License

Copyright (c) 2014-17 CMU Database Group
Licensed under the Apache License.