Microsoft's SQL Server 2014 early code: First look
Welcome to the Hekaton
Clustered columnstore indexes are great... but not a killer feature
SQL Server 2012 introduced columnstore indexes. Column-oriented storage is good for compression, since columns typically contain similar values, and for queries that select only a few columns from a table. This can give substantial performance improvements in data warehouse applications, where large datasets are extracted from operational data for reporting and analysis. Columnstore indexes in SQL Server 2012 are not updateable.
New in SQL Server 2014 are clustered columnstore indexes, which are updateable, and are now intended to be standard for data warehousing. However, they have their own limitations. In particular, you cannot combine a clustered columnstore index with any other indexes. A table with a clustered columnstore index is a specialist table type in which the index is the primary storage for the table. In a data warehouse context that is fair enough, but this is not a general-purpose feature.
Other new features include the Buffer Pool Extension, which uses a solid-state drive as a database engine buffer pool to improve throughput, and enhancements to the resource governor, for allocating usage quotas, which allow you to control the I/O operations per second for a specified resource pool.
What is notable in SQL Server 2014 overall is that so much of the product seems unchanged. The new in-memory database engine is a huge feature, despite painful limitations, and without it Microsoft could not justify a full version number bump. Clustered columnstore indexes are great, but only applicable for a small subset of applications. For those who cannot make use of either feature, SQL Server 2014 will be a hard upgrade to sell.
At the same time, the hardware trend today is towards rapidly increasing amounts of server memory as well as many processors, and the “Hekaton” feature is aligned with both, even though it has limited ability to take advantage in this first release.
I asked if Microsoft if it was paying attention to the rise of non-relational databases, and received a hint that there are research projects covering this area. I also mentioned dissatisfaction with the performance of some programmability features, such as the Entity Framework in .NET, and again it was hinted that programmability will be a focus of the next major release.
Microsoft has not yet given full details of pricing and licensing for SQL Server 2014, though the indications are that not much has changed. According to an online table, the memory limit on the Standard edition has been lifted from 64GB to 128GB. It is still limited to the lesser of four CPU sockets or 16 cores. The Enterprise edition does not have these limits. The free Express edition is limited to 1GB memory and one socket or four cores, with a maximum database size of 10Gb.
In summary? SQL Server 2014 is slicker than previous releases but retains enough familiarity for diehards to step in and start running things. Yet, for this speed Microsoft has stumbled in other key areas, meaning there's plenty to improve on next time around. ®