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

Paired-Bloom-Filter: Balancing rounding to batches between the bottom-most level and other levels #369

Closed
noamhaham opened this issue Jan 18, 2023 · 9 comments · Fixed by #371
Assignees
Labels
enhancement New feature or request Working on it A feature request that is being actively worked on

Comments

@noamhaham
Copy link
Contributor

noamhaham commented Jan 18, 2023

Improvement of the bloom filter was introduced via a more sophisticated rounding policy of the number of blocks to an integer multiplication of batch size. Some of the files are rounded up and some are rounded down. With this policy the total deviation of memory consumption from the predefined budget should be minimal.

Changes were pushed to the branch:
paired_bloom_filter_second_improvement

@noamhaham noamhaham added the enhancement New feature or request label Jan 18, 2023
@noamhaham noamhaham self-assigned this Jan 18, 2023
@Guyme Guyme added the Working on it A feature request that is being actively worked on label Jan 18, 2023
@Guyme Guyme moved this to 🏗️ Working on it in Speedb Roadmap Jan 18, 2023
@mrambacher
Copy link
Contributor

What is the compatibility with existing tables? Can the original code read the new filter?

Historically, RocksDB version X can read files written by version X+Y. If it cannot, there will be an error thrown (like unknown version).

@noamhaham
Copy link
Contributor Author

@mrambacher the code that was changed was only the filter builder code, the reader code is the same as the previous version so if someone created a bloom filter with the previous version and wants to read it with the new version there should be no problem.

I will push today a clean version which is based on the current main.

@erez-speedb
Copy link

Test show the same performance
https://admin.speedb.io/performance?items=7kTr1enV1ylvhO8eT4SW&items=9RyFFS4V3KNygopMic0O&items=IvydUSWyFSXURkRFTeP8&colors=%23F06292&colors=%23BA68C8&colors=%239575CD
The major affect on the bloom performance is the number of L0 files

@udi-speedb udi-speedb changed the title Bloom filter improvement#2 Paired-Bloom-Filter: Balancing rounding to batches between the bottom-most level and other levels Feb 6, 2023
udi-speedb pushed a commit that referenced this issue Feb 6, 2023
@erez-speedb
Copy link

@noamhaham did you had the code review?

@erez-speedb
Copy link

Moving for QA before additional perf test.

@noamhaham
Copy link
Contributor Author

noamhaham commented Feb 9, 2023

@erez-speedb Yes it was reviewed by Udi

udi-speedb pushed a commit that referenced this issue Feb 11, 2023
udi-speedb pushed a commit that referenced this issue Feb 12, 2023
@udi-speedb udi-speedb assigned Yuval-Ariel and unassigned noamhaham Feb 12, 2023
@udi-speedb
Copy link
Contributor

@Yuval-Ariel - Why did you assign to me?

@Yuval-Ariel
Copy link
Contributor

since blackbox failed

@Yuval-Ariel
Copy link
Contributor

Yuval-Ariel pushed a commit that referenced this issue Feb 13, 2023
@github-project-automation github-project-automation bot moved this from 🏗️ Working on it to 📖 Need your Opinion! in Speedb Roadmap Feb 13, 2023
@bosmatt bosmatt moved this from 📖 Need your Opinion! to ✅ Shipped in Speedb Roadmap Feb 16, 2023
ayulas pushed a commit that referenced this issue Feb 26, 2023
Yuval-Ariel pushed a commit that referenced this issue May 1, 2023
Yuval-Ariel pushed a commit that referenced this issue May 4, 2023
udi-speedb pushed a commit that referenced this issue Nov 13, 2023
udi-speedb pushed a commit that referenced this issue Nov 15, 2023
udi-speedb pushed a commit that referenced this issue Dec 4, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request Working on it A feature request that is being actively worked on
Projects
Status: ✅ Shipped
6 participants