Blocked Bloom Filters with Choices
Journal:
arXiv
Published Date:
Jan 31, 2025
Abstract
Probabilistic filters are approximate set membership data structures that
represent a set of keys in small space, and answer set membership queries
without false negative answers, but with a certain allowed false positive
probability. Such filters are widely used in database systems, networks,
storage systems and in biological sequence analysis because of their fast query
times and low space requirements. Starting with Bloom filters in the 1970s,
many filter data structures have been developed, each with its own advantages
and disadvantages, e.g., Blocked Bloom filters, Cuckoo filters, XOR filters,
Ribbon filters, and more.
We introduce Blocked Bloom filters with choices that work similarly to
Blocked Bloom filters, except that for each key there are two (or more)
alternative choices of blocks where the key's information may be stored. The
result is a filter that partially inherits the advantages of a Blocked Bloom
filter, such as the ability to insert keys rapidly online or the ability to
slightly overload the filter with only a small penalty to the false positive
rate. At the same time, it avoids the major disadvantage of a Blocked Bloom
filter, namely the larger space consumption. Our new data structure uses less
space at the same false positive rate, or has a lower false positive rate at
the same space consumption as a Blocked Bloom filter. We discuss the
methodology, engineered implementation, a detailed performance evaluation and
use cases in bioinformatics of Blocked Bloom filters with choices, showing that
they can be of practical value.
The implementation of the evaluated filters and the workflows used are
provided via Gitlab at https://gitlab.com/rahmannlab/blowchoc-filters.