SQL Server 2017 is now at Release Candidate 1, and is available for download with support for Windows and Linux.
The most surprising change to SQL Server 2017 is the addition of Linux support. When this was announced, Scott Guthrie, head of Microsoft’s Cloud & Enterprise business, said:
“SQL Server on Linux will provide customers with even more flexibility in their data solution.”
When the announcement was made, Microsoft said that the Linux version could be restricted to core relational database features. However, what has now been announced is being described as offering all the features of SQL Server v.Next for Linux and Windows. SQL Server v.Next has been the beta name for SQL Server 2017.
Microsoft says that to enable SQL Server on Linux they used a technology called the SQL Platform Abstraction Layer (SQLPAL). This evolved from a technology called Drawbridge that was developed by Microsoft Research. Drawbridge is a form of virtualization for applications based on two core technologies: a picoprocess, which is a process-based isolation container with a minimal kernel API surface; and a library OS, which is a version of Windows enlightened to run efficiently within a picoprocess.
The Linux version of the release candidate includes the same high availability solutions as the Windows Server version, including Always On availability groups integrated with Linux native clustering solutions like Pacemaker. In practical terms, it supports Active Directory integration. Transport Layer Security (TLS) is supported for data encryption; and SQL Server Integration Services works on Linux. The SQL version can be installed on Red Hat Enterprise Linux, Ubuntu Linux, SUSE Linux Enterprise Server. You can also install it on Linux Docker containers.
Graph data processing is another area of improvement. This lets you model many-to-many relationships. A graph database is a collection of nodes and edges, where a node represents an entity, and an edge represents a relationship between the two nodes that it connects. The graph relationships in SQL Server 2017 are integrated into Transact-SQL. The Transact-SQL extensions mean you can create node or edge tables. Since nodes and edges are stored as tables, all the operations that are supported on relational tables are supported on node or edge table. A new keyword, Match, has been added to support pattern matching and multi-hop navigation through the graph.
Adaptive query processing is another addition. This is a set of features that attempts to automatically overcome the problem where the plan chosen by the query optimizer is sub-optimal. For example, if the estimated number of rows flowing through the query plan was incorrect, the wrong plan may have been implemented. Adaptive query processing avoids the need for additional tuning from the database administrators. It can adjust batch mode memory grants, create batch mode adaptive joins, and set up interleaved execution of queries.
Another example of the opening up of SQL Server is the addition of Python integration for advanced analytics. You can now run in-database analytics using Python or R. This builds on what was called R Services in the last version of SQL Server, though this has now been renamed as Machine Learning Services. This service lets you run advanced analytics on your data without having to extract it to an external format.
You can use Machine Learning Services to run R or Python scripts in SQL Server, or install the standalone Microsoft Machine Learning Server to deploy and consume R and Python models that don’t require SQL Server. Both platforms include new MicrosoftML algorithms for distributed machine learning, and the latest version of Microsoft R. The Python option includes the revoscalepy module, which supports a subset of the distributed algorithms and compute contexts provided in RevoScaleR.
Source : i-programmer