Apache MADlib: Big Data Machine Learning in SQL

  • Open source, commercially friendly Apache license
  • For PostgreSQL and Greenplum Database®
  • Powerful machine learning, graph, statistics and analytics for data scientists

Read More

Getting Started with Apache MADlib using Jupyter Notebooks

We have created a library of Jupyter Notebooks to help you get started quickly with MADlib. It includes many commonly used algorithms by data scientists.

 

MADlib 1.21.0 Release

On March 1, 2023, MADlib completed its eleventh release as an Apache Software Foundation Top Level Project.

New features include:

  • Graph: Add warm start for weakly connected components.

  • Graph: Add multicolumn identifier support for SSSP and APSP.

  • Build: Add support for Photon3 OS.

Improvements:

  • XGBoost: Add support for bigint and varchar columns.

  • XGBoost: Enable eval_metrics parameter.

You are invited to download the 1.21.0 release and review the release notes. Also please refer to the list of supported databases and OS.

 

MADlib 1.20.0 Release

On August 3, 2022, MADlib completed its tenth release as an Apache Software Foundation Top Level Project.

New features include:

  • XGBoost: Python based XGBoost with single and grid search executions.

  • Graph: Add multicolumn support for WCC and Pagerank.

Improvements:

  • Utilities: Reuse update plan in GroupIterationController.

  • Documentation: Update online examples for various modules.

  • Elastic Net - GLM - SVM: Adjust ORCA to reduce planning time.

You are invited to download the 1.20.0 release and review the release notes. Also please refer to the list of supported databases and OS.

 

MADlib 1.19.0 Release

On March 8, 2022, MADlib completed its ninth release as an Apache Software Foundation Top Level Project.

New features include:

  • DBSCAN: Fast parallel-optimized DBSCAN.

  • MLP: Add rmsprop and Adam optimization techniques.

Improvements:

  • Graph: Improve WCC subtx count and catalog entry frequency.

  • MLP: Set lambda value for minibatch.

  • GLM-multinom: Use non-temp tables in GroupIterationController.

  • Jenkins: Add new dockerfile for PG11.

  • Build: Use dynamic_library_path for module pathname.

You are invited to download the 1.19.0 release and review the release notes. Also please refer to the list of supported databases and OS.

 

MADlib 1.18.0 Release

On April 5, 2021, MADlib completed its eighth release as an Apache Software Foundation Top Level Project.

New features include:

  • Deep learning - New grid and random search methods.

  • Deep learning - AutoML methods Hyperband and Hyperopt.

  • Deep learning - Custom loss functions and custom metrics.

  • Deep learning - TensorBoard support.

  • Deep learning - Multi-input and output support for fit and evaluate.

  • DBSCAN - Density based clustering (phase 1).

Improvements:

  • Deep learning - Implement cache logic to speed performance.

  • Deep learning - Reduce GPU idle time when moving model state between workers.

  • Deep learning - Use Keras version from TensorFlow.

  • Deep learning - Add top n to evaluate.

  • Graph - Support BIGINT for all graph methods.

  • Infra - Switch to CloudBees (was Jenkins).

You are invited to download the 1.18.0 release and review the release notes. Also please refer to the list of supported databases and OS.

 

MADlib 1.17.0 Release

On April 9, 2020, MADlib completed its seventh release as an Apache Software Foundation Top Level Project.

New features include:

  • Deep learning - Model selection framework for Keras with Tensorflow backend with GPU acceleration, for model architecture search and hyperparameter optimization.

  • Deep learning - Support for heterogeneous clusters where GPUs are attached to only certain segment hosts.

  • Deep learning - Support inference for imported models not trained in MADlib ("bring your own model").

  • Deep learning - Support transfer learning for multiple model fit function.

  • Deep learning - Generate model selection table for grid search or random search.

  • Deep learning - Helper function to get GPU type and configuration in a database cluster.

  • k-Means clustering - Select optimal number of centroids using elbow or silhouette methods.

  • PostgreSQL 12 support.

Improvements:

  • Association rules - Add option to set number of posterior rules.

  • Correlation and covariance - Improve memory usage with large number of groups.

  • Deep learning - Improve performance of mini-batch preprocessor and fit functions.

  • Docs - Inprove installation guide on wiki.

  • Graph - SSSP should not show vertices in output table that are unreachable.

  • LDA - Add stopping criteria on perplexity.

You are invited to download the 1.17.0 release and review the release notes. For more details about the new deep learning feature, please refer to the Apache MADlib deep learning notes and the Jupyter notebook examples.

 

MADlib 1.16 Release

On July 8, 2019, MADlib completed its sixth release as an Apache Software Foundation Top Level Project.

New features include:

  • Deep learning - Early stage support for Keras with Tensorflow backend with GPU acceleration. Focus on image classification use cases.

  • Deep learning utilities - Load model architectures and weights, parallel loading of images from NumPy arrays or file system, preprocess images for gradient descent optimization algorithms.

  • Greenplum 6 support.

  • PostgreSQL 11 support.

Improvements:

  • K-nearest neighbors - Improve performance with kd-tree approximate method.

  • Association rules - Set default maximum itemset rules to 10 to reduce runtime.

You are invited to download the 1.16 release and review the release notes. For more details about the new deep learning feature, please refer to the Apache MADlib deep learning notes and the Jupyter notebook examples.

 

MADlib Graduates to Apache Top Level Project

On July 19, 2017, the ASF board established Apache MADlib as a Top Level Project, which was approved by unanimous vote of the directors present. Please see the associated press release from the ASF.

MADlib entered incubation in the fall of 2015 and made five releases as an incubating project. Along the way, the MADlib community has worked hard to ensure that the project is being developed according to the principles of the  The Apache Way. We will continue to do so in the future as a TLP, to the best of our ability.

Thank you to all who have contributed to the project so far, and we look forward more innovation in machine learning in the future as a TLP!