luminousmen / luminousmen.com

2 stars 0 forks source link

http://luminousmen.com/post/building-a-bloom-filter #62

Closed utterances-bot closed 1 month ago

utterances-bot commented 1 year ago

Building a Bloom filter - Blog | luminousmen

In this post, we will explore the Bloom filter — a data structure that is ingenious in its simplicity and elegant in its design

http://luminousmen.com/post/building-a-bloom-filter

hrubanj commented 1 year ago

Thanks for an awesome article!

I think there is a typo in an explanation of false negative in one paragraph: "The best part? Bloom filters guarantee that there will never be false negatives. Meaning, if the element is not in the set, the Bloom filter will never say it is."

I believe the correct version is: "The best part? Bloom filters guarantee that there will never be false negatives. Meaning, if the element is ~not~ in the set, the Bloom filter will never say it is not."

luminousmen commented 1 year ago

Thanks for your support! So, regarding the typo, both statements - mine and yours are correct, but they express different aspects of the behavior of Bloom filters :) Mine statement emphasizes that a Bloom filter will never incorrectly report that an element is present in the set when it is not. This property makes Bloom filters useful for quickly determining whether an element is DEFINITELY NOT in a set. Your statement emphasizes that a Bloom filter will always correctly report that an element is present in the set if it actually is. This property makes Bloom filters useful for quickly determining whether an element MIGHT BE in a set, without having to perform a more expensive check. Hope that makes sense to you, I will try to combine both of the aspects into this paragraph. Thanks for highlighting the issue!

ZedZipDev commented 2 months ago

Thank you for the article. It explains BF good. I am trying to find any examples of implementations of Bloom Filter in SQL Server but cannot find. Here is Hash functions are important. Also, by the way, with BF structures can be filled out more and more and will be less informative. Naturally because we cannot use update/delete operations. It is another interesting topic: Counting BF.