Synonyms
Hash filter
Definition
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.
Historical Background
Burton Bloom introduced what is now called a Bloom filter in his 1970 paper [1], 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...
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Recommended Reading
Bloom B. Space/time tradeoffs in hash coding with allowable errors. Commun ACM. 1970;13(7):422–6.
McIlroy MD. Development of a spelling list. IEEE Trans Commun. 1982;30(1):91–9.
Mullin JK, Margoliash DJ. A tale of three spelling checkers. Software Pract Exp. 1990;20(6):625–30.
Spafford EH. Opus: preventing weak password choices. Comp Sec. 1992;11(3):273–8.
Babb E. Implementing a relational database by means of specialized hardware. ACM Trans Database Syst. 1979;4(1):1–29.
Bratbergsengen K. Hashing methods and relational algebra operations. In: Proceedings of the 10th International Conference on Very Large Data Bases; 1984. p. 323–33.
Mackett LF, Lohman GM. R* optimizer validation and performance evaluation for distributed queries. In: Proceedings 27th International Conference on Very Large Data Bases; 1986. p. 149–59.
Cormode G, Muthukrishnan S. An improved data stream summary: the count-min sketch and its applications. J Algorithms. 2003;55(1):58–75.
Fan L, Cao P, Almeida J, Broder AZ. Summary cache: a scalable wide-area Web cache sharing protocol. IEEE/ACM Trans Network. 2000;8(3):281–93.
Broder A, Mitzenmacher M. Network applications of Bloom filters: a survey. Internet Math. 2005;1(4):485–509.
Mullin JK. Estimating the size of a relational join. Inf Syst. 1993;18(3):189–96.
Gremilion LL. Designing a Bloom filter for differential file access. Commun ACM. 1982;25(9):600–4.
Mitzenmacher M. Compressed Bloom filters. IEEE/ACM Trans Network. 2002;10(5):604–12.
Cohen S, Matias Y. Spectral Bloom filters. In: Proceedings of the ACM SIGMOD International Conference on Management of Data; 2003. p. 241–52.
Chazelle B, Kilian J, Rubinfeld R, Tal A. The Bloomier filter: an efficient data structure for static support lookup tables. In: Proceedings of the 15th Annual ACM-SIAM Symposium on Discrete Algorithms; 2004. p. 30–9.
Bonomi F, Mitzenmacher M, Panigrahy R, Singh S, Varghese G. Beyond Bloom filters: from approximate membership checks to approximate state machines. Comput Commun Rev. 2006;36(4):315–26.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Section Editor information
Rights and permissions
Copyright information
© 2018 Springer Science+Business Media, LLC, part of Springer Nature
About this entry
Cite this entry
Mitzenmacher, M. (2018). Bloom Filters. In: Liu, L., Özsu, M.T. (eds) Encyclopedia of Database Systems. Springer, New York, NY. https://doi.org/10.1007/978-1-4614-8265-9_751
Download citation
DOI: https://doi.org/10.1007/978-1-4614-8265-9_751
Published:
Publisher Name: Springer, New York, NY
Print ISBN: 978-1-4614-8266-6
Online ISBN: 978-1-4614-8265-9
eBook Packages: Computer ScienceReference Module Computer Science and Engineering