R is coming to SQL Server. SQL Server 2016 (which will be in public preview this summer) will include new real-time analytics, automatic data encryption, and the ability to run R within the database itself:
For deeper insights into data, SQL Server 2016 expands its scope beyond transaction processing, data warehousing and business intelligence to deliver advanced analytics as an additional workload in SQL Server with proven technology from Revolution Analytics. We want to make advanced analytics more accessible and increase performance for your advanced analytic workloads by bringing R processing closer to the data and building advanced analytic capabilities right into SQL Server. Additionally, we are building PolyBase into SQL Server, expanding the power to extract value from unstructured and structured data using your existing T-SQL skills. With this wave, you can then gain faster insights through rich visualizations on many devices including mobile applications on Windows, iOS and Android.
With this update, data scientists will no longer need to extract data from SQL server via ODBC to analyze it with R. Instead, you will be able to take your R code to the data, where is will be run inside a sandbox process within SQL Server itself. This eliminates the time and storage required to move the data, and gives you all the power of R and CRAN packages to apply to your database.
At last weeks' Microsoft Ignite conference in Chicago, SQL Server program managers Lindsey Allen and Borko Novakovic demonstrated a prototype of running R within SQL Server. (A description of the intergration begins at 57:00, and the demo at 1:05:00, in the video below.) In the demo, Lindsey applies a Naive Bayes classification model (from the e1071 R package) to the famous Iris data, using the same R code used in this Azure ML Studio experiment.
SQL Server 2016 is the first Microsoft product to integrate Revolution R (and there are more exciting announcements on that front to come -- stay tuned). This also brings R to other Microsoft products via their native SQL Server integration, including Excel and PowerBI. Read more about the features coming to SQL Server 2016, including Revolution R integration, at the link below.
SQL Server Blog: SQL Server 2016 public preview coming this summer
Long live R! The business layer is dead!
Posted by: Steve Olson | May 15, 2015 at 18:42
Which raises the question I've raised on a MicroSoft post, and elsewhere: will the hook allow use of free-as-in-beer RA/R and Real R, or just the fee paid RA/R?r
Posted by: Robert Young | May 16, 2015 at 05:33
Will SQL Server allow triggers etc to be written in R and be able to write it inline like PostgreSQL? i.e. can it be commited to a DVCS as text for continuous deployment (testing, staging, deployment, analytics)? or will it need to be done like .net assemblies that can only be managed via the GUI?
Posted by: Matt | May 16, 2015 at 08:28
will this integration compliant with the GPL or should we email Stallman
Posted by: Ajay Ohri | May 16, 2015 at 20:43
@Robert, the integration will be with Revolution R Enterprise. This means you will have access to the parallel external-memory algorithms (PEMAs) included with RRE, so you can use parallel processing for statistical modeling and machine learning on your SQL server data, without being bound by R object size limitations.
RRE is built on the GPL-licensed Revolution R Open which will be installed separately. I'm not sure yet if it will be possible to use only RRO from SQL Server but I will check.
Posted by: David Smith | May 18, 2015 at 13:45
@David:
The thin ice exists because Joe Conway, of PL/R, has demonstrated that a RDBMS will hook to Real R through both engines. Which is to say the GPL R codebase. If RA were to create a dummy package whose only function was to re-direct the hook/integration from Real R to RRE, that might get folks' attention.
Posted by: Robert Young | May 19, 2015 at 10:39
Very powerful, but all versions of SQL Server will have this integration with R?
Posted by: Dataprix | May 21, 2015 at 20:37