Last month, Microsoft announced Data Amp, a online event focusing on its Data Platform and AI initiatives. Data Amp is taking place today, and with it come a slew of announcements.
Perhaps the biggest reveal is that SQL Server 2017 (the forthcoming release of the flagship relational database product, formerly referred to as SQL Server "vNext") will now host code written in the Python programming language, alongside similar capabilities for code written in R that were introduced with SQL Server 2016. Community Technology Preview 2 (CTP2) of SQL Server 2017, which Microsoft is labeling as "production-quality," is available today and includes the Python integration.
In other Data Amp news, Microsoft is announcing General Availability of several Microsoft Cognitive Services. Mary Jo Foley is providing specific coverage of this today in a separate post.
Snacks on a database
Python has emerged as a contender for data science tool of choice. R has long been a contender for that same title, and Microsoft's 2015 acquisition of Revolution Analytics made clear that Microsoft strongly supported R's candidacy. But Python, in combination with open source libraries like NumPy and Pandas, is undeniably important in the same arena. And now that SQL Server accommodates both languages, Microsoft has made clear that it wants to go where the developers are, and not make the developers come to them.
Also read: Microsoft acquires Revolution Analytics
Also read: Microsoft's R Strategy
One thing integration of Python brings over that of R is that Python is not just a statistics- or data science-oriented language. Instead, it's a general purpose programming language that enables functionality in SQL Server stored procedures not possible with that environment's native Transact-SQL (T-SQL) language and not especially convenient in R.
Essentially, hosting Python in SQL Server may enable scenarios that were part of the vision for its hosting of the .NET Common Language Runtime (CLR) and the C# and Visual Basic .NET languages, introduced with SQL Server 2005. SQL CLR integration encountered a certain failure to launch; perhaps Python integration could pick up the baton.
Azure's Data Lake and Analysis Services
Before leaving the subject of R and Python, I'll point out that Microsoft is also announcing General Availability of its Microsoft R Server 9.1 as well as its integration with HDInsight. This includes support for SparklyR, SparkETL and Spark SQL, as well as Graphics Processing Unit (GPU) support for neural networks. And Microsoft is reiterating at Data Amp the integration of R and Python (alongside the original integration of C#) into U-SQL in Azure Data Lake Analytics (ADLA).
Also read: Hands-on with Azure Data Lake: How to get productive fast
Also read: Microsoft's data announcements, and what they mean
A new announcement to accompany discussion of ADLA is GA of Azure Data Lake Store (the storage layer underlying ADLA) in the Azure North Europe region. And the GAs just keep coming: Azure Analysis Services, the cloud counterpart to the SQL Server Analysis Services OLAP platform, gets its GA stripes today as well.
Cortana Intelligence templates
One thing's clear: Microsoft has an array of separate analytics services in the cloud. Almost two years back, the company took stock of this and announced an umbrella for all of them, now called the Cortana Intelligence Suite. And while that may have struck you back then as more of a branding exercise than true integration, Microsoft is upping the ante today, with its announcement of Cortana Intelligence solution templates.
Also read: Cortana Analytics: Microsoft's cloud analytics prix fixe
The first of these templates cover implementations for personalized offers, quality assurance and demand forecasting, and are, Microsoft says, based on its engineering team's own best practices in implementing such solutions. The templates are essentially accelerators -- they are customize-able and backed an ecosystem of partners trained in the templates themselves, including their architectures and data models.
Coming full circle back to SQL Server 2017, Microsoft data watchers will recall that this release will be the first one to support the relational database engine running on both Windows and Linux (Red Hat Enterprise Linux -- RHEL, SUSE Linux Enterprise Server -- SLES, and Ubuntu). And, by extension of the latter, the product will also run in Linux-based Docker containers, including on a Mac.
Also read: Why Microsoft needs SQL Server on Linux
Let all that settle in for a minute: SQL Server runs on Linux, in containers, and on a Mac. It accommodates code written in Python and R, including code that uses an array of external open source libraries for both languages. Microsoft also has an entire micro-site, filled with SQL Server code samples, not only for C#, but also for Java, Node.js, PHP, Python, Ruby and R.
SQL Server has been around for a long time now -- almost a quarter century, in fact. The degree and extent to which Microsoft's attitude toward competing platforms has evolved over that time is staggering. In fact, you might need an entire SQL Server database to keep track of it.