Personally, the feature I am most excited about in SQL Server 2014 is the In-Memory OLTP (codenamed ‘Hekaton’) feature. Since SQL Server CTP1 was released, a lot of my interactions with colleagues and customers have revolved around this new feature and the one question everyone has is, how do I get started? Well, here’s a readiness roadmap I have put together to help you!
Sunil Agarwal, Principal Program Manager from the SQL Server product team, has been one of the key people steering the work towards its eventual public unveiling in CTP1. I’ve been fortunate enough to interact with Sunil on a few occasions and I marvel at his passion and energy. He recently presented three sessions at TechEd 2013 North America, which are now available online, complete with slides and video!
- Microsoft SQL Server In-Memory OLTP: Overview of Project "Hekaton". This session introduces the motivations and high-level design of the in-memory OLTP system, and Rick Kutschera (from BWin) sharing their experience migrating to the new ecosystem.
- Microsoft SQL Server In-Memory OLTP Project "Hekaton": App Dev Deep Dive. Here, Sunil presents the developer side of In-Memory OLTP, this talk is very useful if you are planning to migrate parts of your workload to Hekaton.
- Microsoft SQL Server In-Memory OLTP Project "Hekaton": Management Deep Dive. This session goes into depth about the storage structures, durability, transaction logging, backup / restore etc. AMAZING stuff!
A related set of deep sessions were delivered by Jos de Bruijn (also a key member of the Hekaton PM team) at TechEd Europe 2013. Jos is a PhD and his technical depth and passion to share information is clearly evident – take a look for yourself!
- Microsoft SQL Server 2014 In-Memory OLTP: Overview
- SQL Server In-Memory OLTP: Developer Deep Dive. This session is a developer focused session, in which Jos starts off with a quick review of the in-memory framework, quickly transitioning into T-SQL support for DDL and programmability objects. He also explains hash indexes for memory optimized tables, and goes into depth about how the natively compiled procedures work. He then closes with a lot of coverage of the concurrency benefits of in-memory OLTP. WOW!
- SQL Server In-Memory OLTP: DBA Deep Dive. This one goes after the manageability aspects for DBAs.
In-Memory OLTP Code Samples
Here are some useful samples from MSDN.
- Creating a Memory Optimized Table
- Sample Database Using In-Memory OLTP
- Migrating a Queue-Based Application to use In-Memory OLTP
- Application-Level Partitioning
- Using ODBC to Access a Memory-Optimized Table
- Data Platform Insider blog: Getting started
- Hekaton Whitepaper by Kalen Delaney
- MSDN home page: In-Memory OLTP (In-Memory Optimization)
All the inside scoops from the team which made it happen!
- Hekaton Breaks Through - Microsoft Research: A nice read on the history of this project and the people involved in it.
- Hekaton: SQL Server’s Memory-Optimized OLTP Engine. This is one paper you MUST read, because it was written by the developers themselves! It is written for the ACM SIGMOD conference.
- High-Performance Concurrency Control Mechanisms for Main-Memory Databases. This paper describes the multiversion concurrency control used in Hekaton.
- The Bw-Tree: A B-tree for New Hardware Platforms. This paper describes some of the implementation details of the indexing scheme for storing ordered data in Hekaton. Do note, this paper is HEAVY stuff, not for the faint-hearted!
If you find more resources which you would like to share, please post a comment or contact me through this blog to let me know, I will gladly link them up in this roadmap!