-
Notifications
You must be signed in to change notification settings - Fork 787
feat: experimental runtime bloom pruning #15382
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: main
Are you sure you want to change the base?
Conversation
fb634ab
to
b924e8a
Compare
Docker Image for PR
|
34cefb6
to
e9d6d67
Compare
Docker Image for PR
|
@xudong963 Thanks for helping me review this PR; really appreciate it. Let me try to make further adjustments to avoid using the bloom filter in situations where false positives could nearly make bloom pruning ineffective. |
I hereby agree to the terms of the CLA available at: https://docs.databend.com/dev/policies/cla/
Summary
Implements runtime pruning for probe-side data blocks by utilizing the runtime filter (based on the min-max filter) and the bloom filter index of the probe table.
replace range filter expression with
eq
filter expressions if min equals max while constructing the min-max filtersthe
eq
filter expression is compatible with both rangeindex and bloom indexduring runtime filtering (of probe side data), if runtime min-max pruning failed, the bloom filter will be tried.
add new profile metric
RuntimeBloomFilterPrunedParts
, which records the number of blocks pruned by bloom filterFixes #[Link the issue here]
Tests
Type of change
This change is