LaraDB: A Minimalist Kernel for Linear and Relational Algebra Computation
arXiv:1703.07342 · doi:10.1145/3070607.3070608
Abstract
Analytics tasks manipulate structured data with variants of relational algebra (RA) and quantitative data with variants of linear algebra (LA). The two computational models have overlapping expressiveness, motivating a common programming model that affords unified reasoning and algorithm design. At the logical level we propose Lara, a lean algebra of three operators, that expresses RA and LA as well as relevant optimization rules. We show a series of proofs that position Lara %formal and informal at just the right level of expressiveness for a middleware algebra: more explicit than MapReduce but more general than RA or LA. At the physical level we find that the Lara operators afford efficient implementations using a single primitive that is available in a variety of backend engines: range scans over partitioned sorted maps. To evaluate these ideas, we implemented the Lara operators as range iterators in Apache Accumulo, a popular implementation of Google's BigTable. First we show how Lara expresses a sensor quality control task, and we measure the performance impact of optimizations Lara admits on this task. Second we show that the LaraDB implementation outperforms Accumulo's native MapReduce integration on a core task involving join and aggregation in the form of matrix multiply, especially at smaller scales that are typically a poor fit for scale-out approaches. We find that LaraDB offers a conceptually lean framework for optimizing mixed-abstraction analytics tasks, without giving up fast record-level updates and scans.
10 pages, to appear in the BeyondMR workshop at the 2017 ACM SIGMOD conference
References in corpus (2)
Cited by in corpus (13)
- End-to-end Optimization of Machine Learning Prediction Queries
- Polystore Mathematics of Relational Algebra
- Cloudy with high chance of DBMS: A 10-year prediction for Enterprise-Grade ML
- Serving Deep Learning Models with Deduplication from Relational Databases
- Extending Relational Query Processing with ML Inference
- SPORES: Sum-Product Optimization via Relational Equality Saturation for Large Scale Linear Algebra
- A Relational Matrix Algebra and its Implementation in a Column Store
- Distributed Triangle Counting in the Graphulo Matrix Math Library
- On the Expressiveness of LARA: A Unified Language for Linear and Relational Algebra
- Tensor Relational Algebra for Machine Learning System Design
- Leam: An Interactive System for In-situ Visual Text Analysis
- The Collection Virtual Machine: An Abstraction for Multi-Frontend Multi-Backend Data Analysis
- Recursive SPARQL for Graph Analytics