Skip to content

Implement dynamic filtering for JDBC connectors#13334

Merged
raunaqmorarka merged 3 commits intotrinodb:masterfrom
raunaqmorarka:jdbc-df
Aug 4, 2022
Merged

Implement dynamic filtering for JDBC connectors#13334
raunaqmorarka merged 3 commits intotrinodb:masterfrom
raunaqmorarka:jdbc-df

Conversation

@raunaqmorarka
Copy link
Copy Markdown
Member

@raunaqmorarka raunaqmorarka commented Jul 25, 2022

Is this change a fix, improvement, new feature, refactoring, or other?

new feature

Is this a change to the core query engine, a connector, client library, or the SPI interfaces? (be specific)

JDBC connectors

How would you describe this change to a non-technical end user or system administrator?

Improved performance for selective joins with JDBC source on the probe side

Related issues, pull requests, and links

Fixes #7968

Documentation

( ) No documentation is needed.
(x) Sufficient documentation is included in this PR.
( ) Documentation PR is available with #prnumber.
( ) Documentation issue #issuenumber is filed, and can be handled later.

Release notes

( ) No release notes entries required.
(x) Release notes entries required with the following suggested text:

# ClickHouse, Druid, MariaDb, MySql, Oracle, PostgreSQL, Redshift, SingleStore, SQL server, Phoenix
* Improved performance for selective joins with JDBC source on the probe side. ({issue}`13334`)

@lhofhansl
Copy link
Copy Markdown
Member

lhofhansl commented Jul 30, 2022

Tried it. Works well.
Test-failures seem relevant, though.

@raunaqmorarka raunaqmorarka force-pushed the jdbc-df branch 3 times, most recently from 662139c to 19bb03f Compare August 1, 2022 12:05
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: separate commit

@raunaqmorarka raunaqmorarka force-pushed the jdbc-df branch 2 times, most recently from e113f40 to 00ae921 Compare August 1, 2022 20:49
Copy link
Copy Markdown
Member

@sopel39 sopel39 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm % comments

Copy link
Copy Markdown
Member

@sopel39 sopel39 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

% comments

@sopel39
Copy link
Copy Markdown
Member

sopel39 commented Aug 3, 2022

Failed due #13362

raunaqmorarka and others added 3 commits August 4, 2022 08:37
Added JDBC catalog properties dynamic-filtering.enabled and
dynamic-filtering.wait-timeout to configure pushdown of
dynamic filters to JDBC queries.

Co-authored-by: Karol Sobczak <napewnotrafi@gmail.com>
@raunaqmorarka
Copy link
Copy Markdown
Member Author

JDBC DF postgresql sf10 partitioned.pdf
Over 3x improvement in TPCDS benchmark with data stored in PostgreSQL (sf10 partitioned schema).

@lhofhansl
Copy link
Copy Markdown
Member

With my tests (with an internal relational, analytical DB) I found the improvement to be more like 50x :)

@raunaqmorarka raunaqmorarka merged commit 9282a73 into trinodb:master Aug 4, 2022
@raunaqmorarka raunaqmorarka deleted the jdbc-df branch August 4, 2022 16:11
@github-actions github-actions bot added this to the 393 milestone Aug 4, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Development

Successfully merging this pull request may close these issues.

Enable dynamic filtering in JDBC connector

3 participants