A Bloom filter is a simple, space-efficient randomized data structure based on hashing that represents a set in a way that allows membership queries to determine whether an element is a member of the set. False positives are possible, but not false negatives. In many applications, the space savings afforded by Bloom filters outweigh the drawbacks of a small probability for a false positive. Various extensions of Bloom filters can be used to handle alternative settings, such as when elements can be inserted and deleted from the set, and more complex queries, such as when each element has an associated function value that should be returned.
Burton Bloom introduced what is now called a Bloom filter in his 1970 paper , where he described the technique as an extension of hash-coding methods for applications where error-free methods require too much space and were not strictly necessary. The specific application he considered...
- 4.Bratbergsengen K. Hashing methods and relational algebra operations. In Proc. 10th Int. Conf. on Very Large Data Bases, 1984, pp. 323–333.Google Scholar
- 6.Chazelle B., Kilian J., Rubinfeld R., and Tal A. The Bloomier filter: an efficient data structure for static support lookup tables. In Proc. 15th Annual ACM-SIAM Symp. on Discrete Algorithms, 2004, pp. 30–39.Google Scholar
- 7.Cohen S. and Matias Y. Spectral Bloom filters. In Proc. ACM SIGMOD Int. Conf. on Management of Data, 2003, pp. 241–252.Google Scholar
- 11.Mackett L.F. and Lohman G.M. R* optimizer validation and performance evaluation for distributed queries. In Proc. 27th Int. Conf. on Very Large Data Bases, 1986, pp. 149–159.Google Scholar