Fast factorized processing speeds up complex data relationship queries

Factorized and Vectorized Execution: Optimizing Analytical and Semantic Queries over Relations

Databases

Summary

Many data tasks involve finding connections between lots of things, but this can create huge amounts of intermediate data that's hard to manage. The authors developed a new system called FFX that represents these connections compactly so it runs much faster using tricks that fit well with modern computer processors. This system also helps feed data efficiently to advanced language models, saving both computing effort and cost while sometimes improving results. Overall, it makes analyzing complicated data and combining it with smart language models more practical and efficient.

What this means in practice

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.