1
BloomFilter
2
BloomFilter
BloomFilter
BloomFilter
BloomFilter
3
BloomFilter
CM
4
BloomFilter
5
BloomFilter
1.
2.
3.
6 . 1
BloomFilter
1.
2.
6 . 2
BloomFilter
1.
2.
3.
6 . 3
BloomFilter
7
BloomFilter
CM
8
BloomFilter
( )
9
BloomFilter
1.
2.
3.
10 . 1
BloomFilter
10 . 2
10 . 3
10 . 4
➞
➞
or
11 . 1
(0|1) m
[0 <= n < m]
k
11 . 2
m
0 1 1
14 (m = 14)
11 . 3
k
3 (k = 3)
[0 <= n < 14]
14
12 . 1
A
: 185cm -> 185 % 14 = 3
: 77kg -> 77 % 14 = 7
: 32 -> 32 % 14 = 4
12 . 2
B
: 172cm -> 172 % 14 = 4
: 55kg -> 55 % 14 = 13
: 24 -> 24 % 14 = 10
4
13 . 1
13 . 2
A
: 185cm -> 185 % 14 = 3
: 77kg -> 77 % 14 = 7
: 32 -> 32 % 14 = 4
13 . 3
C
: 174cm -> 174 % 14 = 6
: 63kg -> 63 % 14 = 7
: 28 -> 28 % 14 = 0
13 . 4
D
: 161cm -> 161 % 14 = 7
: 52kg -> 52 % 14 = 10
: 45 -> 45 % 14 = 3
D
13 . 5
A B
A : 32 -> 32 % 14 = 4
B : 172cm -> 172 % 14 = 4
B 3
A 1
A
BloomFilter
Counting BloomFilter
13 . 6
k seed hash
Cassandra MurMur3 Hash
m
14
m k
m k
15
Have a nice
BloomFilter!
16

BloomFilterを直感的に理解する