Query Cost Model and Usage
- Dominant language
- Java
- Stars
- 6.1k
- Forks
- 1.5k
- Avg merge
- 1d 21h
- Merged PRs (30d)
- 189
Description
This JIRA tracks building a mechanism for identifying and computing the indicative cost of a query, based on parameters such as query complexity and data statistics (cardinality, selectivity etc).
The cost model will be pluggable -- you just need to implement the interfaces.
The cost can be used for stuff like throttling and cancelling of expensive queries in the face of limited resource utilisation.
In a later stage, we can explore using the cost for a more intelligent query optimiser.
Note that this is more of a "logical" cost -- using statistics and query cyclomatic complexity.
Related work: https://github.com/apache/pinot/issues/9055
Contributor guide
Research direction
Start by reading related issue #9055 and the surrounding query execution and statistics code to understand existing interfaces. Define the scope of the pluggable logical cost mechanism around query complexity and data statistics, with completion measured by producing indicative costs that can support throttling or cancellation.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- databases
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100