Data Cube: A Relational Aggregation Operator Generalizing Group-By, Cross-Tab, and Sub-Totals
By Jim Gray, Surajit Chaudhuri, Adam Bosworth, Andrew Layman, Don Reichart, Murali Venkatrao, Frank Pellow, H. Pirahesh. 1996
Data analysis applications typically aggregate data across manydimensions looking for anomalies or unusual patterns. The SQL aggregatefunctions and the GROUP BY operator produce zero-dimensional orone-dimensional aggregates. Applications need the N-dimensionalgeneralization of these operators. This paper defines that operator, calledthe data cube or simply cube. The cube operator generalizes the histogram,cross-tabulation, roll-up,drill-down, and sub-total constructs found in most report writers.The novelty is that cubes are relations. Consequently, the cubeoperator can be imbedded in more complex non-procedural dataanalysis programs. The cube operator treats each of the Naggregation attributes as a dimension of N-space. The aggregate ofa particular set of attribute values is a point in this space. Theset of points forms an N-dimensional cube. Super-aggregates arecomputed by aggregating the N-cube to lower dimensional spaces.This paper (1) explains the cube and roll-up operators, (2) showshow they fit in SQL, (3) explains how users can define new aggregatefunctions for cubes, and (4) discusses efficient techniques tocompute the cube. Many of these features are being added to the SQLStandard.
Subfields: Evaluation & Benchmarks
How researchers see this paper
The researchers whose trusted networks rank it highest, strongest advocate first. Every researcher gets a different order.
In Evaluation & Benchmarks
- Christopher R'e
- Johannes Gehrke
- Raghu Kiran Ganti
- Hossein Ahmadi
- Samuel Madden
- P. Hanrahan
- Deborah Estrin
- M. J. van der Laan
Citations in the corpus
- FlashAttention: Fast and Memory-Efficient Exact Attention with IO-Awareness (2022, background): “[33] Jim Gray, Surajit Chaudhuri, Adam Bosworth, Andrew Layman, Don Reichart, Murali Venkatrao, Frank Pellow, and Hamid Pirahesh.”
- Pig latin: a not-so-foreign language for data processing (2008, background): “One common case is where the user applies a distributive or algebraic [8] aggregation function over the result of a (CO)GROUP operation.”
- Semantics and evaluation techniques for window aggregates in data streams (2005, methodology): “In addition, using panes to evaluate holistic aggregates [ 6 ] can reduce execution-time, which plain WID does not.”
- No pane, no gain: efficient evaluation of sliding-window aggregates over data streams (2005, methodology): “The concept of sub-aggregation and super-aggregation is used by the ROLLUP operator in SQL-99 and the data cube operator [8] to express aggregates at different granularities over stored data.”
- GreenGPS: a participatory sensing fuel-efficient maps application (2010, background): “The question becomes, if we cannot generalize over the whole set, can we generalize over a subset of dimensions? A solution is borrowed from the general literature on data cubes [21].”
- Data Management Challenges in Production Machine Learning (2017, background): “Techniques developed for online analytical processing [9, 15, 14], data-driven recommendation of visualizations [17], and approximate query processing [8, 3] can be applied to develop tools that make it easier for users to understand their own data.”
- SeeDB: Efficient Data-Driven Visualization Recommendations to Support Visual Analytics (2015, background): “Data Cube Materialization: Computations on data cubes [9] involve aggregation across multiple dimensions.”
- Polaris: a system for query, analysis and visualization of multi-dimensional relational databases (2000, methodology): “The current trend is to treat multi-dimensional dat ab ses as ndimensional data cubes [13].”
- Geographic Data Mining and Knowledge Discovery (2001, unknown): “The power set of aggregations over selected dimensions is called a " data cube " since the logical arrangement of aggregations can be viewed as a hypercube in an N-dimensional information space (see Gray et al. 1997, Figure 2; Shekhar et al. this volume).”
- C-Store: A Column-oriented DBMS (2005, methodology): “This work dates from Essbase by Arbor software in the early 1990’s, which was effective at “slicing and dicing” large data sets [GRAY97].”
- Approximate aggregation techniques for sensor databases (2004, methodology): “If there are no failures, this in-network aggregation technique is both effective and energy-efficient for distributive and algebraic aggregates [ 11 ]such as MIN, MAX, COUNT and AVG.”
- Query Processing in Sensor Networks (2003, background): “For distributive and algebraic aggregate operators [10], we can incrementally maintain the aggregate in constant space, and thus push partial computation of the aggregate from the leader node to intermediate nodes.”