Index Advisor based on Deep Reinforcement Learning
Code for CIKM2020 paper
What does it do?
This is an index advisor tool to recommend an index configuration for a certain workload under maximum storage or index number. It combines the heuristic rules and deep reinforcement learning together.
What do I need to run it?
- You should install a PostgreSQL database instance with HypoPG extension.
- You should install the required python packages (see environment.yaml exported from conda).
- In this code, we adopt TPC-H. Thus, you construct your own TPC-H database instance.
- We need the TPC-H tool to generate the workload. You can download it from this page.
How do I run it?
- You can find the entry in Entry/EntryM3DP.py
- There is a sample about how to use the workload and index candidates generation algorithms in Utility/Sample4GenCandidates.py.
- The index candidates generated algorithms (parser and generation algorithms in Utility/ParserForIndex.py) are for TPC-H cases. It may be not suitable TPC-DS. Because some query patterns are not in TPC-H.