Engine speeds up complex data queries using compact data layouts
Factorized and Vectorized Execution: Optimizing Analytical and Semantic Queries over Relations
Databases
Summary
Some data analysis tasks, like catching fraud or studying networks, involve linking lots of different pieces of information. This often creates huge amounts of temporary data that slow things down. The researchers created a system called FFX that stores this temporary data in a smaller, smarter way using a technique called factorization, which finds patterns in the data to save space. FFX also uses a method called vectorization to process data quickly and keeps everything organized in memory-friendly blocks. Additionally, it helps big language AI models understand data better by summarizing it neatly, saving time and cost.
many-to-many joinfactorized representationvectorized executionanalytical querysemantic queryintermediate resultscache-friendly layoutlarge language modeldata serialization
Authors
Sunny Yasser, Anas Dorbani, Amine Mhedhbi
Abstract
Many-to-many joins are central to analytical and semantic workloads such as fraud detection, network analysis, and recommendation, where insights arise from relationships between entities. These workloads often suffer from an explosion of intermediate results, sometimes orders of magnitude larger than the inputs. Factorized representations address this problem by exploiting conditional independence among attributes to encode intermediates more compactly. In some cases, they can reduce the output size asymptotically below the worst-case output size. However, adopting factorization in modern vectorized query processors remains challenging: factorized representations are hierarchical, whereas vectorized execution is built around flat, block-oriented processing. Prior approaches either rely on full materialization or support only restricted factorization layouts, sacrificing much of the benefits of both factorization and vectorization. We present FFX, a novel engine for Fast Factorized eXecution. FFX is the first pipelined engine to support arbitrary factorization schemes while preserving full vectorization. The engine introduces packed factorized vectors and operators that maintain cache-friendly, contiguous layouts. Beyond analytics, FFX also co-optimizes semantic operators by serializing factorized intermediates into compact prompts for large language models (LLMs), substantially reducing token usage and inference cost while maintaining output quality and, in some cases, improving it. Together, these contributions enable efficient execution of join-heavy analytical queries, including queries augmented with semantic operators.