Book Image

SQL Server 2016 Developer's Guide

By : Miloš Radivojević, Dejan Sarka, William Durkin
Book Image

SQL Server 2016 Developer's Guide

By: Miloš Radivojević, Dejan Sarka, William Durkin

Overview of this book

Microsoft SQL Server 2016 is considered the biggest leap in the data platform history of the Microsoft, in the ongoing era of Big Data and data science. This book introduces you to the new features of SQL Server 2016 that will open a completely new set of possibilities for you as a developer. It prepares you for the more advanced topics by starting with a quick introduction to SQL Server 2016's new features and a recapitulation of the possibilities you may have already explored with previous versions of SQL Server. The next part introduces you to small delights in the Transact-SQL language and then switches to a completely new technology inside SQL Server - JSON support. We also take a look at the Stretch database, security enhancements, and temporal tables. The last chapters concentrate on implementing advanced topics, including Query Store, column store indexes, and In-Memory OLTP. You will finally be introduced to R and learn how to use the R language with Transact-SQL for data exploration and analysis. By the end of this book, you will have the required information to design efficient, high-performance database applications without any hassle.
Table of Contents (21 chapters)
SQL Server 2016 Developer's Guide
Credits
About the Authors
About the Reviewer
www.PacktPub.com
Customer Feedback
Preface
12
In-Memory OLTP Improvements in SQL Server 2016

Chapter 1. Introduction to SQL Server 2016

SQL Server is the main relational database management product from Microsoft. It has been around in one form or another since the late 1980s (developed in partnership with Sybase), but as a standalone Microsoft product since the early 1990s. During the last 20 years, SQL Server has changed and evolved, gaining newer features and functionality along the way.

The SQL Server we know today is based on what was arguably the most significant (r)evolutionary step in its history, with the release of SQL Server 2005. The changes that were introduced have allowed the versions that followed the 2005 release to take advantage of newer hardware and software improvements such as: 64-bit memory architecture, better multi-CPU and multi-core support, as concludes the overview of programming better alignment with the .NET framework, and many more modernizations in general system architecture.

The incremental changes introduced in each subsequent version of SQL Server have continued to improve upon this solid foundation. Fortunately, Microsoft have changed their release cycle for multiple products, including SQL Server, resulting in shorter timeframes between releases. This has, in part, been due to Microsoft's focus on their much reported "Mobile First, Cloud First" strategy. This strategy, together with the development of the cloud version of SQL Server "Azure SQL Database", has forced Microsoft into a drastically shorter release cycle. The advantage of this strategy is that we are no longer required to wait three to five years for a new release (and new features). There have been releases every two years since SQL Server 2012 was introduced, with multiple releases of Azure SQL Database in between the real versions. While we can be pleased that we no longer need to wait for new releases, we are also at a distinct disadvantage. The rapid release of new versions and features leaves us developers with ever decreasing periods of time to get to grips with the shiny new features. Previously, versions had many years between releases, allowing us to build up a deeper knowledge and understanding of the available features before having to consume new information.

In this chapter, we will introduce what's new inside SQL Server 2016. We will outline features that are brand new in this release of the product and look at features that have been extended or improved upon.

We will be outlining new features in the following areas:

  • Security

  • Engine features

  • Programming

  • Business intelligence