Microtune

Microtune is an autonomous agent that dynamically controls the size of the memory cache used by a relational database (tested on MariaDB).

Its objective (FinOps) is to minimize the memory footprint while respecting a maximum latency constraint not to be exceeded. This agent works externally to the database with a SQL link to change the memory buffer parameter. During online tuning (ex. production database), it does not require access to the latency information seen by the client application.

This project is a POC carried out as part of research work conducted jointly with experts in database and reinforcement learning techniques as well as a “Bandits” algorithm. The GitHub repository contains the dataset used for training the agent and the reproduction of the experiments described in the research paper allowing to compare various algorithms such as LinUCB, NeuralLinUCB, PPO, DQN, A2C (all NN algos provided by Stablebaseline3). The source code is under MIT license and the datasets are under CC-BY-SA-4.0.

Source code available at GitHub, under the MIT and CC-BY-SA-4.0 licences.