The classic bloom filter does not support the delete operation because (as you said) it might affect other keys results as well.
That's why there is a concept called Counting bloom filters: which keeps a count alongside every bit in the bloom filter. For remove operation, all the corresponding bits counts are decremented and if the count reaches 0, the bit is also set to 0.
how do we handle delete operation from bloom filter?
if we unset a bit, it can affect other keys' results
The classic bloom filter does not support the delete operation because (as you said) it might affect other keys results as well.
That's why there is a concept called Counting bloom filters: which keeps a count alongside every bit in the bloom filter. For remove operation, all the corresponding bits counts are decremented and if the count reaches 0, the bit is also set to 0.
Awesome read! Thanks for writing this.
Nice read.
Hi Vivek,
Akamai uses Bloom filters to prevent “one-hit wonders”
Do you have any resource where i can read more about this?
Great write-up. I wrote this simple bloom filter example in Go - https://gist.github.com/plutov/31dbef59653368f17d331529252e8712