Hekaton (XTP)

In putting together my blog posts on Hekaton I’ve done a fair amount of reading, this page contains the predominate texts I’ve looked at – I’ll try and keep it up-to-date.

My Stuff:

What is Hashing? Using Modulus to Partition Data

In-memory tables have two types of indexes – Hash and Range; this post will help you understand better the concept around Hashing data and take you towards understanding Hash indexes.

In-Memory Tables: Hash Indexes

Gentle introduction into what a Hash index is. Should be read in conjunction with the post above.

Throughput Improvement through Delayed Durability on Commit Tran

Not specifically Hekaton, introduced in SQL Server 2014 was the ability for you to perform asynchronous commits; ordinarily when you do a commit transaction the statement will not complete until the data is physically hardened off onto the storage media, Delayed Durability is a way to remove that latency headache.

Understanding Row Chains and Hash Indexing

In order to understand how in-memory tables function with regard to indexing, performance and the multi-version concurrency control (MVCC) used to do updates, inserts and deletes then you need a good understanding of Row Chains – this article covers the basics of Row Chains and also goes into more detail of how the Hash Index utilises them.

Understanding Row Chains and Range Indexing

As per above, but relates to Range Indexing – I’d recommend you read the post on Hash Indexes first.

Hekaton – Basics

SQL Server 2014 Extreme Transaction Processing (XTP) / in-memory OLTP / Hekaton – whatever you want to call it, this deck is from my Zagreb session in the spring of 2014.

Hekaton – Advanced

SQL Server 2014 Extreme Transaction Processing (XTP) / in-memory OLTP / Hekaton – whatever you want to call it, this deck is from my Zagreb session in the spring of 2014.

Academic Stuff:

The guts of the Extreme Transaction Processing (Hekaton) stems from these papers.

LLAMA: A Cache/Storage Subsystem for Modern Hardware

LLAMA (Latch-free, Log-Structured, Access-Method Aware) – this is a really good backgrounder for the way the latch free stuff works including Garbage Collection.

The Bw-Tree: A B-Tree for New Hardware

The new Range Index on an in-memory table uses a Bw-Tree structure which is an improvement over the standard B-Tree we are used to do as it offers latch and lock free modifications to greatly improve scalability across multiple cores and concurrent connections.

Check out the PPT associated with the academic paper: http://research.microsoft.com/en-us/um/people/justinle/papers/ICDE2013_bwtree.pptx

Structuring Storage Based on Latch-Free B-Trees

The Microsoft patent under pining the Bw-Tree and MVCC combination.

High-Performance Concurrency Control Mechanisms for Main-Memory Databases

Still reading it :) – will summarise shortly.

Concurrency Control and Recovery in Database Systems

Still reading it :) – will summarise shortly; chapter 5 is on MVCC.

Whitepapers and other articles:

Kalen Delaney white paper on CTP2

Great paper on all the aspects that come with Hekaton.

Leave a Reply

*

%d bloggers like this: