Implementing Window Functions in a Column-Store with Late Materialization (Extended Version)
Nadezhda Mukhaleva, Valentin Grigorev, George Chernishev

TL;DR
This paper presents an implementation of window functions in a disk-based column-store using late materialization, reducing memory usage and applying segment trees for RANGE-based functions.
Contribution
It introduces a novel approach combining late materialization with window functions and segment trees in a column-store database.
Findings
Significantly lowers memory footprint for window function evaluation.
Efficiently computes RANGE-based window functions using segment trees.
Demonstrates practical benefits in a disk-based column-store environment.
Abstract
A window function is a generalization of the aggregation operation. Unlike aggregation, the cardinality of its output is always the same as the cardinality of input. That is, the semantics of this operator imply computing values for extra attributes for each row, depending on its context, either expressed by a sliding window or a previously evaluated row. Window functions are a very powerful tool, which is also popular among data analysts and supported by the majority of industrial DBMSes. It allows to gracefully express quite complex use-cases, such as running sums and averages, local maximum and minimum, and different types of ranking. Since they can be expressed without self-joins and correlated subqueries, their evaluation can be performed much more efficiently. In this paper we discuss an implementation of window functions inside a disk-based column-store with late…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsAdvanced Database Systems and Queries · Data Mining Algorithms and Applications · Data Management and Algorithms
