Tuesday, May 09, 2017

SQL Server 2017 New Feature (my pick)

The following are few of the many features that SQL server 2017 introduced or improved. The list is not exhaustive list but the one I thought was interesting.

Adaptive Query Plans

This is very interesting. As we all know Microsoft introduced a concept of Query store feature in SQL Server 2016. Query store is integrated in SQL server 2016 and can capture query runtime information. Before query store was introduced we use plan cache to review and analyse execution plan. However, a restart of SQL server will wipe out all plan cache. Hence Microsoft introduced Query Store. But, Adaptive query plan takes this functionality further. With Adaptive query optimization in SQL server 2017, SQL server can evaluate the runtime of a query and compare with the current execution to the query that was performed in previous runs. If it finds a better plan, it can improve the execution plan for the next run. However this change will be incremental and conservative. Looks like in the future with the AIs help, the task of performance tuning can be handled by the system itself. I think, the DBA’s need to watch this space and learn a lot. I am sure, as we know this feature will get better over time.

Analytics changes
One of the major feature of SQL server 2016 was integration of R services into SQL server database engine. SQL server 2017 takes step further and enhanced the analytics by adding support for Python as the second language. As you all know Python is a powerful language and widely used by data scientists, analysts, developers and statisticians. It can leverage external statistical packages to perform data manipulation and statistical analysis within a T-SQL environment now. The service is now renamed from SQL server R services to SQL server Machine learning services.
 Changes to Cloud

Database as a service offering from Microsoft was lacking some compatibility as compared to on-premise or in an Azure VM version of SQL server such as cross database query and many more. The new solution to the problem is a new offering that combines platform as a service (PaaS) and infrastructure as a service (IaaS). This solution now supports cross database query and is a wonderful for Independent software vendors to migrate their solutions and I think is a smart move by Microsoft to enhance this feature.
Introduction of Graph database within core database engine
Graph databases are overlooked in many ways. But it should be looked as the next generation of relational databases. In graph database resulting data models are much simpler and at the same time more expressive. I am not going into detail of what a graph database and how it is structured however adding support for graphical database within SQL server database engine is remarkable but as always we need to give it some time before it mature. But, that doesn’t stop being excited about this feature. Graph databases are normally well suited for mining data from social media and complex relationship. I cannot wait to play with this added functionality.
Resumable online index rebuild
Another feature that caught my attention is resumable online index rebuild. How many times we are caught with starting a large table index rebuild and not able to complete? I would say many DBA’s came across plenty of times. This new feature allows you to resume an online index rebuild operation where it is stopped after a failure. It will allow you to pause and later resume the operation too. I will definitely look at this feature and investigate if I can use it as soon as I upgraded to SQL 2017
And many more --
 * Tempdb Setup Improvements
  * Improved Backup performance for small databases on high end servers
   * DBCC CLONEDATABASE Improvements
   * SQL Server agent support for Linux
The list goes on ...




No comments: