Towards a unified architecture for in-RDBMS analytics
By Xixuan Feng, Arun Kumar, B. Recht, Christopher R'e. 2012
211 citations recorded by the source corpus.
The increasing use of statistical data analysis in enterprise applications has created an arms race among database vendors to offer ever more sophisticated in-database analytics. One challenge in this race is that each new statistical technique must be implemented from scratch in the RDBMS, which leads to a lengthy and complex development process. We argue that the root cause for this overhead is the lack of a unified architecture for in-database analytics. Our main contribution in this work is to take a step towards such a unified architecture. A key benefit of our unified architecture is that performance optimizations for analytics techniques can be studied generically instead of an ad hoc, per-technique fashion. In particular, our technical contributions are theoretical and empirical studies of two key factors that we found impact performance: the order data is stored, and parallelization of computations on a single-node multicore RDBMS. We demonstrate the feasibility of our architecture by integrating several popular analytics techniques into two commercial and one open-source RDBMS. Our architecture requires changes to only a few dozen lines of code to integrate a new statistical technique. We then compare our approach with the native analytics tools offered by the commercial RDBMSes on various analytics tasks, and validate that our approach achieves competitive or higher performance, while still achieving the same quality.
Subfields: Artificial Intelligence, Computer Networks and Communications
How researchers see this paper
The researchers whose trusted networks rank it highest, strongest advocate first. Every researcher gets a different order.
In Artificial Intelligence
- Martin Jaggi
- Sanjay Krishnan
- Michael I. Jordan
- Sebastian U. Stich
- Peter Richtárik
- M. Franklin
- Christopher R'e
- Ameet Talwalkar
In Computer Networks and Communications
- Ion Stoica
- Sebastian U. Stich
- Martin Jaggi
- M. Franklin
- Ce Zhang
- Sanjay Krishnan
- Scott Shenker
- Matei A. Zaharia
Citations in the corpus
- BoostClean: Automated Error Detection and Repair for Machine Learning (2017, methodology): “The database community has built systems to support almost every stage of the development process including featuriza-tion [1,53], distributed model training [2,17,19,24], and model deployment [16].”
- KeystoneML: Optimizing Pipelines for Large-Scale Advanced Analytics (2016, methodology): “using linear algebra operators such as matrix multiplication [21], convex optimization routines [20] or multidimensional arrays as logical building blocks [57].”
- Characterizing & Finding Good Data Orderings for Fast Convergence of Sequential Gradient Methods (2022, background): “While it is possible to sample this function uniformly at random, it has been observed [6, 7, 23] that traversing a (possibly random) permutation of the functions works better in practice.”
- DeepDive: Web-scale Knowledge-base Construction using Statistical Learning and Inference (2012, methodology): “To scale up the performance of machine learning, we leverage the Bismarck system [4] that executes a wide variety of machine learning techniques inside an RDBMS.”
- MacroBase: Prioritizing Attention in Fast Data (2016, methodology): “In designing a specialized engine, we were inspired by several past projects, including Gigascope (specialized for network monitoring) [28], WaveScope (specialized for signal processing) [36], MCDB (specialized for Monte Carlo-based operators) [52], and Bismarck (providing extensible aggregation for”
- Are Key-Foreign Key Joins Safe to Avoid when Learning High-Capacity Classifiers? (2017, unknown): “The data management community has long studied how to integrate ML with data systems [19, 12, 52]), how to scale ML [6, 31], and how to use database ideas to improve ML tasks [25, 26].”
- Towards Linear Algebra over Normalized Data (2016, background): “INTRODUCTION The data management industry and academia are working intensively on tools to integrate machine learning (ML) algorithms and frameworks such as R with data systems [1,9,10, 18,20,23,33].”
- MLbase: A Distributed Machine-learning System (2013, background): “[20] Y. Low et al. Graphlab: A new framework for parallel machine learning.”
- MacroBase: Analytic Monitoring for the Internet of Things (2016, background): “When interesting behaviors occur, or when something goes awry in a system, many data points will exhibit the trend (e.g., all phones with the iOS beta version generated problematic trips).”
- Bolt-on Differential Privacy for Scalable Stochastic Gradient Descent-based Analytics (2016, methodology): “For example, Bismarck [19] offers a highly efficient in-RDBMS implementation of SGD to provide a single framework to implement many convex analysis-based ML techniques.”
- The Missing Piece in Complex Analytics: Low Latency, Scalable Model Management and Serving with Velox (2014, background): “Similarly, Bismarck [8] allows users to express complex analytics via common user-defined aggregates.”
- Shark: SQL and rich analytics at scale (2012, background): “Other research projects [16, 18] have demonstrated that it is possible to express certain machine learning algorithms in SQL and avoid moving data out of the database.”