Thursday, January 23, 2014

What's New in SQL?

SQL Server is Microsoft’s flagship relational database platform. This article looks at some of the new and enhanced features that will be included in the new release due out in the next version, namely SQL Server 2014.
 
Below are what I consider to be the top 5 features coming to a SQL Server near you sometime in 2014:-
 
1. Cache frequently used data on SSD
Officially known as ‘Buffer Pool Extension’. This functionality allows the integration of solid-state drives (SSDs) into SQL Server 2014 to use as a non-volatile random access memory (NvRAM) extension. In non-techie speak this means that SQL Server 2014 will be able to use the SSDs to cache frequently used data on fast storage that otherwise would have to be retrieved from the slower disks. This feature will work with clusters too as each cluster node can have its own SSDs.
 
My current thinking is that this will probably be version specific; Microsoft uses maximum memory capacity as one of the differentiators between their Standard and Enterprise versions and since this will allow you to extend the amount of available memory it stands to reason that it is probably going to be an Enterprise only feature.

2. AlwaysOn Availability Groups
AGs have been around for a while now, and are a great way of scaling out the read operations on a database system. The fairly significant limitation with AlwaysOn in SQL 2012 was that should your primary fail, or should your cluster lost its quorum, then it would automatically take down the readable secondaries too.
 
With SQL Server 2014, this will no longer be an issue; the secondaries will remain online even if the primary is no longer available. There are obviously a few caveats to this, the main one being that you will not be able to query the AG listener and will have to connect to the replica’s server name instead. This is a fairly easy thing to work around if you create individual DNS records for the readable replicas, but it is something that you will have to keep in mind. Additionally, you can now have up to 8 secondary AlwaysOn servers (previously 4), albeit with the increased cost in Enterprise licenses too.
 
3. Failover Cluster Support Enhancements
In the olden days (i.e. prior to SQL Server 2014), if you had a SQL Server Cluster then you had to accept the rule that only one node could access a volume at a time. This node effectively ‘owned’ the volume and no other node was, therefore, allowed to read from, write to, or for that matter see it.
 
However, from SQL Server 2014, you will be able to take advantage of using Clustered Shared Volumes in your cluster; this gives you a much greater flexibility and allows multiple cluster nodes to access the same storage volume at the same time. You will no doubt be aware that this technology been available in Windows and Hyper-V for a while now and it’s good to see the same functionality coming to SQL Server too. The biggest gain that I can see with this feature is that should one node of your SQL cluster lose connectivity to its storage, it should still be able to read and write data over the network to the storage a via a different nodes connection. Obviously this would be slower than if it did it directly, but it is still a quantum leap over and above the functionality we had with traditional clustering.
 
4. Specialised in-memory OLTP tables
If your organisation has a truly large dataset (the term ‘big data’ springs to mind), then this feature may be of extreme interest to you.
 
Hekaton is apparently Greek for a hundred, which is the performance improvement goal that Microsoft set out to achieve when they started with this new technology. Hekaton is best suited for storing ‘hot’ (heavily used) tables in memory effectively removing the need for latches and locking to occur, which in turn should then result in a significant overall performance increase.
Obviously with this sort of potential improvement, it is not going to be as simple as enabling the feature and away you go. There will be structural changes required to implement it properly. For instance, Hekaton does not support the use identity columns, which means that you may need to consider changing your primary clustered key to a GUID instead.
 
Also, you will hopefully have already considered that keeping specific tables resident in memory will mean that you have less of it available for the rest of the system to use. This may not be a problem if you have a monster server or two with terabytes of RAM available, but for the less ‘Olympian’ administrators out there you should at least look at whether you need to max out the memory capacity for your servers before turning this feature on. You definitely do not want to run out of available memory with this feature.
 
5. The Cloud
Although already mentioned previously in passing, Microsoft is also investing heavily in their cloud offering Windows Azure. New features and functionality in SQL Server 2014 will allow you create hybrid database environment that allows for easy wizard based movement of databases between on premise and Azure in both directions.
 
This functionality also extends to AlwaysOn groups, sending backups directly to Azure storage and for that matter it will even be possible to create an on premise database, with the data and log files held in Azure. Whilst I am the first to say that I am not exactly sure as to why you would want to do this last one, I sure that there are some scenarios whereby this would be a desirable thing.
 
Final Thoughts
As a former SQL DBA, used to managing multi-terabyte databases, I can see a number of potentially significant performance improvements that will be coming in SQL Server 2014. It’s good to know that whilst Microsoft are advancing with their Cloud vision, they are also still investing heavily in improving their on premise versions too, providing administrators with new features to allow them to implement a hybrid on premise/cloud environment when you’re ready.
 
Whilst there is no pricing information for SQL Server 2014 available from Microsoft at present, I think it is reasonably safe to say that it will not be any cheaper than you are currently paying for SQL Server licensing.
 
If you have the time, I would suggest that you download a copy of the latest preview and have a play. Microsoft have stated that if you have a database that currently runs on SQL Server 2012 you should have no problems running it on SQL Server 2014.  I would take that with a pinch of salt as there are always going to be exceptions, but give it a go and see what performance gains are there to be had out of the box. I think you will be suitable impressed.
 
Please note: The information in this article is based on the latest community technology preview and the feature set included in the final build is subject to change until SQL Server 2014 goes to RTM.
 
Should you require any further information regarding SQL or to discuss your requirements please do not hesitate to contact us.
 
Mike Metcalf, Technical Consultant, Celerity Limited
 To View this article on Celerity Limited's Website please click here or visit www.celerity-uk.com

No comments:

Post a Comment