Comparing Microsoft Machine Learning products.



Date created: April 20, 2019.



On this article, I would like to briefly compare 3 Machine Learning options offered by Microsoft. The ML products I would like to compare are SQL Server Machine Learning Services, Azure SQL Database Machine Learning Services, and Azure Machine Learning Services.

SQL Server Machine Learning Services is an In-database Machine Learning (ML) solution, where the analytics engine is embedded in SQL Server. It is an on-premises predictive analytics for relational data. No data movement needed, this ML option assumes a SQL Server database as the data tier for your application. You build and deploy models inside SQL Server. Model training on full datasets where your data lives, in a secure, compliant, scalable way. Encapsulate predictive logic in a database function, making it easy to include in data-tier logic. Existing and new applications can access an operate the Machine Learning models by just calling or using a SQL stored procedure. SQL Server Machine Learning Services is an on-premise ML solution for enterprises, that can run on a virtual machine on the cloud, and supports both R and Python. Machine learning phases: data preparation, model training and deployment.



Meanwhile, Azure SQL Database Machine Learning Services has the same in-database Machine Learning benefits as SQL Server Machine Learning Services, but in your Azure SQL database (vCore-model) which is a PaaS database option. There is no need to configure external scripts enabled via system stored procedure sp_configure because once you are signed up, machine learning is enabled for your Azure SQL database. This option is in preview and for now supports R (version 3.4.4.) but support for Python may be coming in the future. The relational data can be used in R scripts through stored procedures, T-SQL script containing R statements, or R code containing T-SQL.



About Azure Machine Learning Service, it is a cloud-based only, drag-and-drop machine learning solution. Build, experiment, and deploy models using preconfigured algorithms. It includes experimentation, model management and multiple deployment options. This option of ML only supports Python. Key benefits: you can use data coming from many sources in Azure; central management of scripts and run history, making it easy to compare model versions; easy deployment and management of models to the cloud or edge devices. Azure Machine Learning Service fully supports open-source technologies, so you can use tens of thousands of open-source Python packages such as TensorFlow, PyTorch, and scikit-learn. Rich tools are also available, such as Azure notebooks, Jupyter notebooks, or the Azure Machine Learning for Visual Studio Code extension to make it easy to explore and transform data, and then train and deploy models. This ML option has a free and a paid version. Azure Machine Learning Service covers all Machine Learning phases: data preparation, model training, deployment, and management. For more information, read here.



