SQL Server 2014 In-Memory OLTP HekatonSQL Server 2014 is nearly here. When it ships it will come with an “In-Memory OLTP” feature. This feature is generally known by its codename: Hekaton. Why that code name? Well, hekaton is Greek for a hundred, and that was the targeted performance improvement that Microsoft set out to achieve when building this new technology.

I’m a huge fan of this feature. I’m already thinking about putting together some kind of script that would target a database and check to see which objects would be best suited to be converted to in-memory objects. Of course Microsoft already has something for you to use. However, that tool will require your use of the Management Data Warehouse feature at some point. When the time comes for both of those folks currently using MDW to migrate to Hekaton they are going to be very happy.

What objects make for good candidates for Hekaton objects? Great question. I’d suggest that the objects you want to target for Hekaton are objects that are “hot”. That is, they are used frequently, and they are able to easily fit inside of memory.

Why those tables? Well, I’d wager that if you have an OLTP system and a table you declare to be “hot”, you likely already have a handful of indexes on this tables for a variety of reasons. Those indexes are causing additional overhead that you would typically see as latching and locking. Hekaton removes the need for latching and locking, resulting in a dramatic increase in performance and throughput.

I expect that very soon the day will come for you to consider using Hekaton. To help prepare you for that day I wanted to provide you with some of the more useful links I have been collecting these past few months.

First up, here is a link to the MSDN entry that gets you started on the topic of In-Memory OLTP: http://technet.microsoft.com/en-us/library/dn133186(v=sql.120).aspx

Are you instead looking for code samples? They have that, too: http://technet.microsoft.com/en-us/library/dn296373(v=sql.120).aspx

Hekaton Blog Posts

Here is a list of Microsoft blog posts that will help you prepare for Hekaton:

Posts from Tony Rogerson:

Posts from Bob Beauchemin:

Hekaton Videos

Here is a video from Dr. David DeWitt at the PASS 2013 Summit in Charlotte:

Here are some videos on Channel 9 from TechEd 2013, the first three are from Sunil Agarwal, a Principal Program Manager for the SQL Server product team at Microsoft:

These next three are from Jos de Bruijn, a Program Manager for the SQL Server product team and key member of the Hekaton team:

Hekaton Whitepapers

Lastly, I’ll leave you with a link to the some whitepapers:

While in Madrid for TechEd this year I had the honor to staff one of the Microsoft booths with Jos. While showing one of the standard Hekaton demos an attendee challenged him by saying “show me the source code for the demo app”. Jos complied, breaking down the application code, explaining how the tables were loaded into memory, how the stored procedures were written as in-memory objects as well. We would get improvement upwards of 70x with the sample data and then Jos started to speculate what scenarios would be needed for data and code to achieve greater than 100x.

That conversation alone was worth the price of admission for any SQL geek at TechEd this year. I count myself lucky to have been able to just listen to Jos explain about the nuances of Hekaton.

Most of the information listed above is specific to SQL Server 2014 CTP1. As newer versions of SQL Server are released I intend to update this post over time with additional links that I find to be useful regarding Hekaton. So you may find it useful to bookmark this page for future reference.