-
Notifications
You must be signed in to change notification settings - Fork 312
Home
OtterTune is currently under construction. Check back soon!
The client side consists of a driver and a controller. The driver controls all the control flow of the client's side and the controller collects DBMS knobs and metrics data.
- 1 - The driver first clears cache and restarts the database. It also checks the disk usage exceeds the maximum usage (a threshold defined by the user). If so, the driver will drop the experiment database and reload the benchmark to ensure there is enough space to carry out the experiment and for the controller to collect DBMS knobs and metrics data.
- 2 - The driver then runs the
oltpbenchmark
as a background job. When the benchmark is ready to begin measurement, the driver sends a signal to the controller to start the experiment and waits for the benchmark to finish. The length of the experiment's observation time is defined in the benchmark configuration file. - 3 - The controller first collects knobs and metrics data before the observation. Then it waits until the driver sends another signal.
- 4 - After the
oltpbenchmark
finishes its measurement, the driver sends a terminate signal to the controller. Upon receiving the signal, the controller collects the metrics data again. The controller will format all collected knobs and metrics data along with a metadata summary (i.e. database name and version, observation length, start/end time, workload name) as json files and send those files back to the driver. - 5 - The driver uploads all the DBMS data the controller collected to the server. The driver will receive a unique token from the server and use the token to check periodically whether the server has finished with a recommended new configuration.
- 6 - If the server has successfully generated the next configuration, the driver will query the new configuration from the server and install it to the database.
OtterTune is a new tool that’s being developed by students and researchers in the Carnegie Mellon Database Group that can automatically find good settings for a DBMS’s configuration knobs. The goal is to make it easier for anyone to deploy a DBMS without any expertise in database administration. To tune new DBMS deployments, OtterTune reuses training data gathered from previous tuning sessions. Because OtterTune doesn’t need to generate an initial dataset for training its ML models, tuning time is drastically reduced.
For more information, see our paper.
See the people page for the full list of contributors.