1 / 17

Bloom Filters

Bloom Filters. Burton Bloom (1970). Favorite Data Structure. Underutilized. Many Applications. Successful vs. unsuccessful search Quick fail method Checking file without accessing it. Basic idea Lo……ng Bit String 00010101010001010111010101010010000 n hash functions.

Download Presentation

Bloom Filters

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Bloom Filters • Burton Bloom (1970) • Favorite Data Structure • Underutilized • Many Applications

  2. Successful vs. unsuccessful search • Quick fail method • Checking file without accessing it

  3. Basic idea • Lo……ng Bit String 00010101010001010111010101010010000 • n hash functions

  4. 24-bit Example H1(x) = H2(x) = H3(x) = 000000000000000000000000 0 8 16 23

  5. What are the effects of size of filter and number of hash functions?

  6. m – number of bits in filter • k – number of records in file • α - % of records in file to total population Pset = 1/m Punset= 1 – 1/m

  7. (1-1/m)n For n transformations (hash functions) Pn.unset = • For k records • Pnk.unset = (1-1/m)nk Pnk.set = 1 - Pnk.unset • Pnk.set= • (1- (1-1/m)nk)

  8. Pallset = (Pnk.set)n Pallset= [1- (1-1/m)nk]n Pfalse.drop = (1 – α)Pallset

  9. Figure 7.1 (Gremillion, 1982)

  10. Table II (Ramakrishna, 1989) • hc,d(x) = ((cx + d) mod p) mod m, and H1 ={hc,d( ) | 0 < c < p, 0 ≤ d < p} 0 ≤ Key values ≤ p – 1 0 ≤ Hash values ≤ m - 1

  11. k = number of transformations

  12. How could Bloom Filters be used to eliminate duplicates? • How could Bloom Filters be used with signature hashing?

  13. Additions? • Deletions? • Counting Bloom Filters

  14. More Applications • Spell Checking • Distributed Databases • Web Page Caching • Peer-to-peer Networks • Increase Bandwidth in Cellular Networks

  15. See A. Broder and M. Mitzenmacher, “Network Applications of Bloom Filters: A Survey,” in Fortieth Annual Allerton Conference on Communication, Control, and Computing, 2002.

  16. Other Applications?

More Related