JoinBoost: Grow Trees Over Normalized Data Using Only SQL
Not on the map. Why?
Abstract (arXiv)
Although dominant for tabular data, ML libraries that train tree models over normalized databases (e.g., LightGBM, XGBoost) require the data to be denormalized as a single table, materialized, and exported. This process is not scalable, slow, and poses security risks. In-DB ML aims to train models within DBMSes to avoid data movement and provide data governance. Rather than modify a DBMS to support In-DB ML, is it possible to offer competitive tree training performance to specialized ML libraries...with only SQL? We present JoinBoost, a Python library that rewrites tree training algorithms over normalized databases into pure SQL. It is portable to any DBMS, offers performance competitive with specialized ML libraries, and scales with the underlying DBMS capabilities. JoinBoost extends prior work from both algorithmic and systems perspectives. Algorithmically, we support factorized gradient boosting, by updating the Y variable to the residual in the non-materialized join result. Although this view update problem is generally ambiguous, we identify addition-to-multiplication preserving, the key property of variance semi-ring to support rmse, the most widely used criterion. System-wise, we identify residual updates as a performance bottleneck. Such overhead can be natively minimized on columnar DBMSes by creating a new column of residual values and adding it as a projection. We validate this with two implementations on DuckDB, with no or minimal modifications to its internals for portability. Our experiment shows that JoinBoost is 3x (1.1x) faster for random forests (gradient boosting) compared to LightGBM, and over an order magnitude faster than state-of-the-art In-DB ML systems. Further, JoinBoost scales well beyond LightGBM in terms of the # features, DB size (TPC-DS SF=1000), and join graph complexity (galaxy schemas).
Key facts. Cited by 4 papers in the map (data through 14 Oct 2026). Builds on 17 of its 81 references that are in the map. First posted on arXiv 1 Jul 2023.
Builds on
17 of 81 references.
References · 17
- 2016XGBoost: A Scalable Tree Boosting Systemcited by 5,166
- 2022Why do tree-based models still outperform deep learning on tabular data?cited by 199
- 2022Operationalizing Machine Learning: An Interview Studycited by 25
- 2015FAQ: Questions Asked Frequentlycited by 14
- 2016Towards Linear Algebra over Normalized Datacited by 12
- 2017PASS-GLM: polynomial approximate sufficient statistics for scalable Bayesian GLM inferencecited by 12
- 2019Declarative Recursive Computation on an RDBMS, or, Why You Should Use a Database For Distributed Machine Learningcited by 12
- 2019A Layered Aggregate Engine for Analytics Workloadscited by 12
- 2018Benchmarking and Optimization of Gradient Boosting Decision Tree Algorithmscited by 7
- 2022Share the Tensor Tea: How Databases can Leverage the Machine Learning Ecosystemcited by 7
- 2018AC/DC: In-Database Learning Thunderstruckcited by 6
- 2019Rk-means: Fast Clustering for Relational Datacited by 5
5 more
- 2021Causal Gradient Boosting: Boosted Instrumental Variable Regressioncited by 4
- 2021TCUDB: Accelerating Database with Tensor Processorscited by 4
- 2018Functional Aggregate Queries with Additive Inequalitiescited by 3
- 2015Aggregations over Generalized Hypertree Decompositionscited by 1
- 2022Calibration: A Simple Trick for Wide-table Delta Analyticscited by 1
Built on by
Citing papers per year: 2024: 2; 2025: 2.
4 papers.
- 2025Fast Factorized Learning: Powered by In-Memory Database Systems10 Dec 2025
- 2025InferF: Declarative Factorization of AI/ML Inferences over Joins25 Nov 2025
- 2024Biathlon: Harnessing Model Resilience for Accelerating ML Inference Pipelines18 May 2024
- 2024In-Database Data Imputation7 Jan 2024