A web application for analyzing database index selection approaches.
Based on our extensible and open-source index selection evaluation platform.
The application is built on our index selection evaluation platform, which has to be set up and run first:
- Initialize the required git submodules
git submodule update --init --recursive
- Install PostgreSQL, e.g., version 15
sudo apt -y install postgresql-15 postgresql-client-15 postgresql-server-dev-15
- Set up the database user
sudo -u postgres createuser -s $(whoami);
- Install the PostgreSQL extension HypoPG for hypothetical indexes
cd index_selection_evaluation/hypopg
make
sudo make install
cd ../..
- Create the virtual Python environments and install the required packages.
python -m venv .pyvenv
source .pyvenv/bin/activate
pip install -r index_selection_evaluation/requirements.txt
pip install -r requirements.txt
- Run an index selection evaluation to, then, analyze
cd index_selection_evaluation
python -m selection [CONIGURATION.JSON]
- Run the web application
flask --app flaskr run --debug
Workloads and results to analyze can be added or edited in the HTML's dropdown and backend's benchmark configuration.