Don't Thrash: How to Cache Your Hash on Flash
In this paper, the authors present new alternatives to the well-known Bloom filter data structure. The Bloom filter, a compact data structure supporting set insertion and membership queries, has found wide application in databases, storage systems, and networks. Because the Bloom filter performs frequent random reads and writes, it is used almost exclusively in RAM, limiting the size of the sets it can represent. This paper first describes the quotient filter, which sup-ports the basic operations of the Bloom filter, achieving roughly comparable performance in terms of space and time, but with better data locality.