-
-
Notifications
You must be signed in to change notification settings - Fork 1.8k
[WIP] MDEV-36737: Research and Estimation for Adapting VIDEX to MariaDB #4217
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: 11.8
Are you sure you want to change the base?
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A quick review, mostly compilation issues outlined.
To keep things organised in one place, we should do most of this effort under this pull request. If you face some issues and you feel a need to create new pull request, let us know. We could probably help you to edit this one.
IF (PLUGIN_VIDEX STREQUAL "NO") | ||
ADD_FEATURE_INFO(VIDEX "OFF" "Storage Engine") | ||
RETURN() | ||
ENDIF() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No, MYSQL_ADD_PLUGIN()
will do this for you. It will emit cmake
variable and do similar handling.
Description
VIDEX is a disaggregated, extensible virtual index engine for what-if analysis. While primarily developed for MySQL/Percona, this pull request integrates the VIDEX engine into MariaDB 11.8.
Release Notes
Added a VIDEX engine in
storage/videx
to support what-if analysis for index strategies, integrates AI-based cardinality and NDV (number of distinct values) estimation algorithmsHow can this PR be tested?
TODO: modify the automated test suite to verify that the PR causes MariaDB to behave as intended.
Consult the documentation on "Writing good test cases".
If the changes are not amenable to automated testing, please explain why not and carefully describe how to test manually.
Basing the PR against the correct MariaDB version
11.8
tag.PR quality check
Current Progress
The VIDEX engine currently implements the basic logic of the info_low function. It collects the statistics from InnoDB (e.g., stats.data_file_length, stats.index_file_length, key->rec_per_key, etc.) as mock data.
In simple single-table queries, VIDEX is able to return a valid execution plan and complete the query correctly.
TODO