Table of Contents
Fetching ...

Time To Replace Your Filter: How Maplets Simplify System Design

Michael A. Bender, Alex Conway, Martín Farach-Colton, Rob Johnson, Prashant Pandey

TL;DR

By replacing filters with maplets, the paper tackles the mismatch between set-based filters and map-like needs in databases, biology, and networking. It proposes a general maplet abstraction with strong error guarantees and shows concrete constructions from perfect-hashing filters that enable value support, resizing, and deletions. Through real-world case studies—SplinterDB, Squeakr, and Mantis—the work demonstrates substantial performance and design simplifications, including exact sequence search and faster k-mer counting, while maintaining space efficiency. The findings suggest maplets as a unifying, practical abstraction that can replace filters across domains and hardware configurations.

Abstract

Filters such as Bloom, quotient, and cuckoo filters are fundamental building blocks providing space-efficient approximate set membership testing. However, many applications need to associate small values with keys-functionality that filters do not provide. This mismatch forces complex workarounds that degrade performance. We argue that maplets-space-efficient data structures for approximate key-value mappings-are the right abstraction. A maplet provides the same space benefits as filters while natively supporting key-value associations with one-sided error guarantees. Through detailed case studies of SplinterDB (LSM-based key-value store), Squeakr (k-mer counter), and Mantis (genomic sequence search), we identify the common patterns and demonstrate how a unified maplet abstraction can lead to simpler designs and better performance. We conclude that applications benefit from defaulting to maplets rather than filters across domains including databases, computational biology, and networking.

Time To Replace Your Filter: How Maplets Simplify System Design

TL;DR

By replacing filters with maplets, the paper tackles the mismatch between set-based filters and map-like needs in databases, biology, and networking. It proposes a general maplet abstraction with strong error guarantees and shows concrete constructions from perfect-hashing filters that enable value support, resizing, and deletions. Through real-world case studies—SplinterDB, Squeakr, and Mantis—the work demonstrates substantial performance and design simplifications, including exact sequence search and faster k-mer counting, while maintaining space efficiency. The findings suggest maplets as a unifying, practical abstraction that can replace filters across domains and hardware configurations.

Abstract

Filters such as Bloom, quotient, and cuckoo filters are fundamental building blocks providing space-efficient approximate set membership testing. However, many applications need to associate small values with keys-functionality that filters do not provide. This mismatch forces complex workarounds that degrade performance. We argue that maplets-space-efficient data structures for approximate key-value mappings-are the right abstraction. A maplet provides the same space benefits as filters while natively supporting key-value associations with one-sided error guarantees. Through detailed case studies of SplinterDB (LSM-based key-value store), Squeakr (k-mer counter), and Mantis (genomic sequence search), we identify the common patterns and demonstrate how a unified maplet abstraction can lead to simpler designs and better performance. We conclude that applications benefit from defaulting to maplets rather than filters across domains including databases, computational biology, and networking.

Paper Structure

This paper contains 6 sections, 1 equation.