System Design Fundamentals
0% completed
Variants and Extensions of Bloom Filters
Here are a few variants and extensions of Bloom filters:
1. Counting Bloom Filters
Counting Bloom filters extend the standard Bloom filter by using an array of counters instead of a simple bit array. This modification allows for the deletion of elements from the filter, as each counter can be incremented or decremented when elements are added or removed, respectively. However, this added functionality comes at the cost of increased storage space and complexity.
.....
.....
.....
Like the course? Get enrolled and start learning!
Ayush Sur
· 2 months ago
Cuckoo Filter
- Alternative to Bloom filter
- Supports:
- membership queries
- efficient deletion
- Based on Cuckoo Hashing
Core idea:
store small fingerprints instead of full items
Each item:
- has a fingerprint
- can stay in 2 possible buckets
Insertion:
- place fingerprint in one bucket
- if full:
- kick existing fingerprint out
- move kicked fingerprint to its alternate bucket
- repeat (cuckoo kicking)
Lookup:
- compute 2 candidate buckets
- check whether fingerprint exists there
Deletion:
directly remove fingerprint
Advantages:
- easy deletion
- often more space efficient than Bloom filter at low false positive rates
- fast lookups
Disadvantages:
- insertion may fail when table highly full
- may require resize/rebu
Show 1 reply