Try VIDEX! Good for newcomers
- Dominant language
- Python
- Stars
- 149
- Forks
- 27
- PR merge metrics
- No merged PRs in 30d
Description
## Objective
Deploy and launch VIDEX, manually modify the statistics collected by VIDEX, and observe the differences in results.
## Estimated Time
⏳ 1-2 hours (suitable for first-time contributors)
## Problem Description
The current documentation does not demonstrate the results VIDEX produces when the statistics are inaccurate. Manually modifying the statistics affects the simulation results of VIDEX, which helps understand the entire process of VIDEX and the basic principles of database optimizers.
## Basic Tasks
1. First, follow the VIDEX README to download Docker and start the VIDEX-optimizer.
2. Follow the README to perform a complete TPC-H Tiny test process, observing the query plans and Trace generated under normal data conditions, and experience VIDEX's high-precision simulation of MySQL.
3. Understand the generated metadata and statistical data JSON files. Modify the histogram or NDV information as you see fit.
4. Directly import the modified JSON file, instead of re-collecting.
5. Observe the changes in the query plan.
## Advanced Tasks
1. Refer to the VidexModelExample in the source code, modify a code model that is interesting (though perhaps not accurate) as per your ideas.
2. Modify start_videx_server.py to start the VIDEX-Statistic-Server locally, allowing the locally started server to apply the modified cost model.
3. Perform a complete TPC-H Tiny test process again, ensuring the VIDEX-server IP points to the newly started local server.
4. Observe the trace generated by EXPLAIN and experience the convenience of integrating new algorithms with VIDEX, as well as the impact of algorithm models on query plans.
## Tips
- All introductions to VIDEX can be referred to in the VIDEX README (https://code.byted.org/bytebrain/videx/blob/master/README_zh.md).
- If you encounter any issues, feel free to create a GitHub Issue (https://github.com/bytedance/videx/issues), or contact us via email for discussion.
Contributor guide
No contributing guide indexed for this repository
Research direction
Start with the VIDEX README, then follow the TPC-H Tiny workflow and inspect the generated metadata and statistics JSON files. Read VidexModelExample and start_videx_server.py only if attempting the advanced tasks. Done means documenting the observed query-plan and trace changes after modifying statistics or a model.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- docker, mysql, python
- Domain
- databases, documentation
- Issue type
- Documentation
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100