AI and Data Together: Microsoft Wants to Make SQL Server its Runtime for Machine Intelligence
Data and machine intelligence(MI) are growing closer together. For decades, database platforms have abstracted the fundamental operations on data in the from of queries or CRUD operations as well as some basic computation routines. However, that’s quickly changing with the evolution of machine learning(ML) and artificial intelligence( or machine intelligence as the cool kids call it ;) ). Recently, Microsoft has made it really clear that they want to bring the world of databases and MI closer together.
Last week, Microsoft announced the community technical preview(CTP) of SQL Server 2017 which takes important steps to bring new MI capabilities to the traditional database platform. Specifically, Microsoft announced that SQL Server 2017 will be able to execute Python scripts natively which opens the door to leverage Python’s rich ecosystem of MI libraries directly on the SQL Server runtime. This effort complements last year’s release of R Services as part of SQL Server 2016.
Supporting Python, R, SQL and C# on the same database runtime certainly enables the creation of highly sophisticated MI applications. More and more we are going to see MI algorithms becoming as common as data access operations in database servers. Microsoft is in a unique position to lead this new trend but we should expect similar moves by competitors such as Oracle, IBM or newcomers such as MongoDB or Couchbase.
Where Does SQL Server 2017 Fits in Microsoft’s MI Strategy?
Microsoft has, arguably, built the most complete MI technology suite in the market. The list of Microsoft’s MI technologies includes advanced platforms such as Azure ML or R Server, AI APIs such as Microsoft Cognitive Services, data visualization tools such as PowerBI or even vertical solutions included in the Cortana Intelligence Suite. In that diverse ecosystem, we can only question the role of SQL Server MI capabilities.
Adding Python and R support for SQL Server will allow developers to implement MI models that natively process data stored in SQL Server databases. Those MI models can be directly persisted in the underlying database servers and scaled as part of SQL Server clusters. Mor importantly, developers will have access to these capabilities using the familiar SQL Server toolset.
The runtimes for R and Python are initial steps to make SQL Server a viable MI platform. However, there are other ideas that Microsoft should consider in this area.
5 Ideas for SQL Server’s MI Roadmap
1 — MCT Support: SQL Server can become the ideal runtime for Microsoft Cognitive Toolkit(MCT) programs. Supporting Python is definitely a step in the right direction as MCT’s programs natively supports the popular programming language.
2 — Support for Open Source Deep Learning Frameworks: If we want to get really ambitious, we can foresee SQL Server adding support for deep learning frameworks such as TensorFlow, Torch, Chainer, Theano, etc.
3 — MI Management Tools: Providing a sophisticated toolset for managing, training and monitoring MI models can be a winning strategy for SQL Server.
4 — Self-Service MI Tools: SQL Server should consider providing a native runtime for popular self-service MI and data exploration tools such as Jupyter or Zepellin.
5 — MI Models as First-Class Citizens: MI models should become a first class component of SQL Server and its support should be at the same level of traditional database constructs such as tables, stored procedures, etc.