Implement Blocked Bloom Filters #78
Labels
enhancement
New feature or request
good first issue
Good for newcomers
help wanted
Extra attention is needed
performance
type:filters
Implement Blocked Bloom Filters as an alternative to the current "standard" bloom filters and benchmark its impact on point reads and FPR.
Add a benchmark to https://github.com/fjall-rs/lsm-tree/blob/be649abf47554f98c41056681b8edb1b34ff3a57/benches/bloom.rs.
There is a "filter type" byte in the filter section of the
Segment
so we can variably switch out different filter types without breaking change:lsm-tree/src/bloom/mod.rs
Line 70 in be649ab
0 = Standard bloom filter
The
Segment
"load from file" procedure needs to be adjusted to load the correct filter by matching on filter type byte, then we can use enum_dispatch as the top-level filter typeFilterType should also become an enum with conversion into a u8 (encode/decode trait).
The text was updated successfully, but these errors were encountered: