Mosaic Selections: Managing and Optimizing User Selections for Scalable Data Visualization Systems
Jeffrey Heer, Dominik Moritz, Ron Pechuk
Stop building custom selection logic for every visualization component. Adopt a declarative selection model that separates interaction intent from execution. Best for dashboards where users combine filters across 3+ linked views with 1M+ records.
Interactive visualizations choke on datasets with millions of records. Users expect real-time filtering and highlighting, but selections across multiple components create performance bottlenecks that break the interaction loop.
Method: Mosaic Selections uses a declarative model where selections are represented as predicate expressions that get optimized through query rewriting. Instead of brute-force filtering, it applies cross-filter optimizations—when users select data in one view, the system pre-computes which records remain valid in other views, reducing redundant scans. The framework supports set operations (union, intersection, negation) across components and batches updates to minimize database round-trips.
Caveats: Requires restructuring existing visualization code to use the predicate model. Performance gains depend on database query optimizer quality.
Reflections: How does this model extend to collaborative filtering where multiple users make concurrent selections? · Can the predicate optimization approach generalize to spatial selections in geographic visualizations? · What's the performance ceiling when combining 10+ complex predicates with temporal range queries?