apache / apache/pinot

Build execution plan without transform operator to optimize simple select queries

Open
#7,462 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Java
Stars
6.1k
Forks
1.5k
Avg merge
1d 21h
Merged PRs (30d)
189

Description

This issue is follow up of Issue(#6972): Implement PassThroughTransformOperator to optimize select queries.

If the user runs simple SELECT queries without involving any transformations, Pinot can help execute them faster by building a better query plan since Pinot has the information available during query compilation. Even though the query didn't have transforms, Pinot engine was still applying unnecessary NO-OP transformation. Improved query planning that skips the transformation phase from query execution plan leads to better performance for such queries.

This issue will build execution plan without transform operator, hence, for non transform queries, we will remove TransformOperator all together from query plan and execution. The root operator should be project operator

Contributor guide

Open the contributing guide

Research direction

Start by tracing Pinot's query compilation and execution-plan construction, using Issue #6972 and its PassThroughTransformOperator work as context. Done means non-transform SELECT queries produce plans without a TransformOperator and use a project operator as the root; the payload names no files or tests to run.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
databases
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.