SQL Server 2017 Machine Learning Services with R
上QQ阅读APP看书,第一时间看更新

Microsoft SQL Server Machine Learning R Services

The in-database flavor of R Open distribution is available as Machine Learning R Services for Microsoft SQL Server, and covers all the ScaleR algorithms that are available in the RevoScaleR package.

The memory and disk, in this case, will be managed by your installation of SQL Server, and the R execution is done using the SQL Server Trusted Launchpad service that governs the communication between SQL Server and R engine.

Also, users can connect to R Services using R Client but the DeployR and ConnectR functions will be limited.

Microsoft SQL Server R Services is an in-database version for SQL Server 2016 and onwards, and this will be the main focus of this book. These in-database services can be installed when a new instance of SQL Server is installed. Figure 4 shows that R in-database service (or machine learning services (in-database) as a part of SQL Server 2017) are installed as an instance feature, and when ticking this feature, the R service (or the Python service) will be installed. One must also understand that Microsoft R Server is a standalone component that is not installed when R Services are installed. One must explicitly put a tick next to R Server (Machine Learning Server) under shared services. However, R services (in-database) will not install R Server.

R Services (in-database) is a standalone source of R language and R programming with full stack and capabilities of SQL Server, including the tools and technologies for governance, security, reliability, and performance. In SSMS, one can invoke and call R functions making R analysis or predictions using transact SQL with an R script. This can be achieved using a system external procedure: sp_execute_external_script.

The ScaleR libraries that are a part of the R Service (in-database) installation allow data scientists, developers, or database administrators to securely execute an R script from a SQL Server computer or on Microsoft R Server. By defining the computational context, a user can choose where to push the computations and load, either to stay in-database R runtime or use the ScaleR library to enhance connectivity and parallelism and push the load to Microsoft R Server.

To close the circle, with the installation of client R that comes available as a standalone and separate installer, you can develop your R code and deploy the solution to R Services or to Microsoft R Server running on Windows or Linux.

Figure 5 depicts how data scientists or data analysts can push the load from client/workstation to a cloud-based solution, a virtual machine, an R Server, or R services (in-database). From a client's perspective, one can also easily choose a hybrid solution, especially when the need for data integration and data consolidation between different systems is needed. This concept will most certainly give the enterprise an immediate boost and lift in performance, as well as faster and better solutions adaptation almost instantly:

Figure 5