Much has been written of Microsoft’s transformation, most recently the naming of Satya Nadella as the third CEO in Microsoft’s history. In reality, the foundation for the most visible of these changes has been laid over the course of years. You can look at the development focus and release pace over the last couple of SQL Server versions to see the effect the Microsoft transformation is having on their database product line:
A quick look at this will show two features:
- The pace of development is far more aggressive. It used to be somewhat sleepy – releases every 5 years, speeding to every 3 years at the middle of the decade, and now every two years.
- The releases are now far more audacious. The enhancements between SQL 7 and SQL 2008 were evolutionary, but the improvements in SQL 2012 and 2014 are potentially revolutionary. In two years, they’ve introduced several new forms of in-memory processing with ColumnStore and In-memory tables (Hekaton), a very nearly completely overhauled replication and HA mechanism, not to mention the adaptation of SQL Server into a truly cloud-oriented database platform.
The rapid evolution of the SQL Server platform means that customers will be looking to EMC to provide advice on the infrastructure to support SQL and the applications that run on top of it. Here’s what’s most likely to impact our conversations around SQL Server:
In Memory Optimization
In-memory OLTP is one of the most impactful features in SQL 2014. There’s tons of material out on the web for you to research. The thing that jumps out to me is that it’s rarely referred to as an “in-memory database”. “Whole-hog” migration of a database to in-memory is going to be a very rare beast with SQL 2014. Instead, tables and stored procedures are individually identified as candidates for in-memory optimization.
This means that a high performance database (HPDB) will likely continue to require access to storage with predictably low latency to maintain performance, even while using in-memory tables and SPs to increase performance. Look for some upcoming EMC white papers to guide you around the best practices for in-memory optimization on EMC infrastructure.
Buffer Pool Extension
This neat little feature in SQL 2014 allows administrators to leverage low latency persistent storage devices (usually flash) to extend the buffer pools available to SQL Server. Using this feature means both increased performance in read-intensive workloads (write-intensive and DW workloads will have limited performance increases), as well as an improved achievable consolidation ratios – always a concern given the cost of licensing. Look to XtremSF to enable this feature for EMC customers.
This utility has been in SQL Server for some time now, but has become more critical to the operation of SQL in the context of cloud computing. It’s not a full quality of service implementation, but it allows the DBA to limit resources that a database can consume. In SQL 2014, the Governor has been extended to allow control of IOPs per volume. Look for this feature to be implemented to reduce risk of performance issues in Database as a Service deployments.
Aside from the in-memory OLTP capabilities, Hybrid Cloud support is the most talked about new feature in SQL 2014. This paper has a variety of different use cases and illustrates how easy Microsoft is making it to move SQL databases into Azure. I think one of the most popular options will be the simple integration of AlwaysOn Availability Groups with Azure, allowing customers to run production on-premises, while a secondary used for disaster recovery, reporting, or both can reside in Azure. As Microsoft does not charge for data ingestion, disaster recovery to Azure becomes a very inexpensive option.
In this scenario being able to control things like backup and transaction logs on all copies becomes more interesting to customers EMC DPAD customers will be happy to find that Avamar and Networker supports these scenarios.
Continued Consolidation pressure
With SQL Server 2012, Microsoft dropped the Server+CAL licensing option for SQL Server Enterprise edition, and it appears there will be no change for SQL 2014. The silver lining in this policy is that the per-core licensing makes smart virtualization a viable method for controlling licensing costs. If you plan out your deployment with an understanding of your resource needs and how SQL is licensed, you can use converged infrastructure like vBlock or VSPEX to minimize your licensing cost exposure.
More storage options
SQL 2012 introduced the ability to leverage direct attached storage while retaining high availability features (by leveraging AlwaysOn Availability Groups). It also introduced the ability to storage SQL databases on SMB shares (in the same manner that Oracle DBAs may choose to leverage NFS). SQL 2014 introduces support for cluster shared volumes (CSVs) with block storage devices. This will allow more manageable block environments, with faster failover between nodes.
To illustrate the difference between CSVs and traditional cluster disks, consider the following diagram showing the latter:
In the figure above, we have a two node cluster with an active and passive node. Only one of the nodes in the cluster can write to the NTFS volume at any given time. The NTFS volume itself is part of the same cluster resource group that holds the SQL services.
Contrast that with the cluster shared volume. Both nodes have read and write access to files in the volume (although it’s important to remember SQL itself does not allow RAC-style multi-writer access to the same file).
Support for cluster shared volumes means failover will be faster, as the presentation of the LUN to the passive node does not need to happen as part of the process. It also means that block storage for SQL Server becomes even simpler by divorcing the workload (database) from the LUN itself. It also means that solutions like SQL Server with VPLEX will become even easier to deploy.
We’ve only just scratched the surface with this brief overview, but it should be clear that EMC solutions continue to play a critical part in extracting the maximum value out of your investment in SQL Server. Contact your local EMC account team to start a conversation.