Skip to content
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

[common] Introduce BitmapFileIndexMetaV2. #4956

Closed
wants to merge 12 commits into from

Conversation

hang8929201
Copy link
Contributor

@hang8929201 hang8929201 commented Jan 20, 2025

Purpose

When the bitmap-indexed column cardinality is high, using the first version of the bitmap index format will take a lot of time to read the entire dictionary. But in fact we don't need a full dictionary when dealing with a small number of predicates, the performance of predicate hits on the bitmap can be improved by creating a secondary index on the dictionary.

https://docs.google.com/document/d/11dJlGlSX3dwYKKrPN0DQ2XQTsx6d9wI6DTBIiiBwomM/edit?tab=t.0

performance

cardinality 1000:
image

cardinality 10000:
image

cardinality 30000:
image

cardinality 50000:
image

cardinality 80000:
image

cardinality 100000:
image

Tests

org.apache.paimon.fileindex.bitmapindex.TestBitmapFileIndex
org.apache.paimon.spark.SparkFileIndexITCase
org.apache.paimon.benchmark.bitmap.BitmapIndexBenchmark

API and Format

Documentation

docs/content/concepts/spec/fileindex.md

Copy link
Contributor

@Tan-JiaLiang Tan-JiaLiang left a comment

Choose a reason for hiding this comment

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

@hang8929201 Thank you so much for your contribution! Almost looks good, just left some comments.

@hang8929201 hang8929201 closed this Feb 6, 2025
@hang8929201 hang8929201 deleted the bitmap-multi-level-index branch February 6, 2025 08:18
@hang8929201
Copy link
Contributor Author

@Tan-JiaLiang
All the issues you mentioned are solved, I accidentally deleted the branch, here is the new PR:
#5028

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants