apache / apache/pinot

Query Cost Model and Usage

Open
#9,098 2 comments 1 reaction 0 assignees View on GitHub
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.