Probabilistic Data Structures
summary
Go code implements a bloom filter (bitfield with k hashes, references to murmur3 and chat 256) and a cuckoo filter (fingerprints, buckets, SHA1-derived hashes). Bloom example uses one-bit-per-position, shows the false-positive vs. zero false-negative property and gives the error formula; implementation fits ~50 lines. Cuckoo supports deletions, relocates entries until a retry limit, panics on full table, and claims better space/perf at ~95% utilization. Slides and code links provided.
AI-written summary · about
chapters (20)
- 0:00Intro
- 0:52A primer: storing unique usernames
- 3:58Probabilistic structures
- 5:15Bloom Filter
- 6:07Use cases
- 7:57How do they work
- 9:25Reading
- 10:51possible issues Hash Collision
- 11:18Solutions?
- 13:32Accuracy
- 14:21Code time
- 15:51Safe filter
- 17:11Cuckoo Filters
- 18:43Some terminology
- 19:39Relocating
- 24:07Inserting - without conflict
- 25:13Shuffling elements
- 26:52Lookup
- 27:50Delete fingerprint
- 28:25Did not make the cut
