Skip to main content

A Layered Aggregate Engine for Analytics Workloads

Maximilian Schleich‚ Dan Olteanu‚ Mahmoud Abo Khamis‚ Hung Q. Ngo and XuanLong Nguyen

Abstract

This paper introduces LMFAO (Layered Multiple Functional Aggregate Optimization), an in-memory optimization and execution engine for batches of aggregates over the input database. The primary motivation for this work stems from the observation that for a variety of analytics over databases, their data-intensive tasks can be decomposed into group-by aggregates over the join of the input database relations. We exemplify the versatility and competitiveness of LMFAO for a handful of widely used analytics: learning ridge linear regression, classification trees, regression trees, and the structure of Bayesian networks using Chow-Liu trees; and data cubes used for exploration in data warehousing. LMFAO consists of several layers of logical and code optimizations that systematically exploit sharing of computation, parallelism, and code specialization. We conducted two types of performance benchmarks. In experiments with four datasets, LMFAO outperforms by several orders of magnitude on one hand, a commercial database system and MonetDB for computing batches of aggregates, and on the other hand, TensorFlow, Scikit, R, and AC/DC for learning a variety of models over databases.

Address
New York‚ NY‚ USA
Book Title
Proceedings of the 2019 International Conference on Management of Data
ISBN
9781450356435
Keywords
mutliple aggregate optimization‚ structure−aware analytics
Location
Amsterdam‚ Netherlands
Pages
1642–1659
Publisher
Association for Computing Machinery
Series
SIGMOD '19
Year
2019