THE SQL Server Blog Spot on the Web

Welcome to - The SQL Server blog spot on the web Sign in | |
in Search

Kalen Delaney

Geek City: SQL Server 2014 In-Memory OLTP (“Hekaton”) Whitepaper

Tech Ed isn’t even over yet, and my new Hekaton Whitepaper is already generating questions I can’t answer yet!

Here are the two questions that were in my inbox this morning:

1. The whitepaper says “There are other wait types, such as waiting for a log write to complete.”
Does this mean that writing to the transaction log  will be the main bottleneck of the system?

Hey folks, the product isn’t even publicly available. How can I, or anyone, know what your main bottleneck will be? You do know that there is ALWAYS a bottleneck, right? Something has to be the limiting factor? But I can’t even begin to make a guess yet as to what kind of limiting factors will be in Hekaton, now called SQL Server In-Memory OLTP. The paper is about the Internals, and that’s what I researched. I did not do any performance testing. But, as I did mention in the paper, log writing is much more efficient for Hekaton tables than for the disk-based tables. So even if it IS the limiting factor, it will not be as limiting as it could potentially be for non-Hekaton tables.


2.  The whitepaper says “Note that none of the LOB data types are allowed.” 
We have some 75 columns  which are still ntext, so  it seems we are dead in the water even if we convert to nvarchar(max)?

As you read in the paper, rows are stored completely differently, and not on the disk-based 8K pages. So there is no mechanism for special pages for LOB or row-overflow data. Also, you’re aware that there is extra overhead for managing and accessing the LOB data, and to make In-Memory OLTP as efficient as possible, those extra-large rows needing extra work are avoided.  And like in my previous answer, without seeing your complete design (no, please don’t send it to me Smile ) there is no way I can tell just how ‘dead in the water’ you might be. I tend to feel there would be a way to redesign your tables, and separate the LOB types (which should be converted to something other than the deprecated ntext soon, anyway) into their own tables. As you read in the paper,  In-Memory OLTP tables can be joined with disk-based tables.

Please feel free to send more questions, but I most likely will NOT be able to answer every one in a blog post. There will be a update to the paper, with more internals details, for CTP2, and some of the questions will be answered there. Finally, the ultimate plan is a book, like my SQL Server Concurrency book, all about Hekaton… oops, I mean In-Memory OLTP.  Hopefully, the book will contain best practices suggestions gathered from actual research with In-Memory OLTP implementations, plus a big Q&A section to answer questions that weren’t answered elsewhere in the book.



Published Wednesday, June 5, 2013 10:42 AM by Kalen Delaney

Comment Notification

If you would like to receive an email when updates are made to this post, please register here

Subscribe to this post's comments using RSS



Aaron said:

Can you fix my database for me, it's slow. kthx bye.

Thanks for the whitepaper, I shall have a read now :)

June 5, 2013 5:58 PM

Aaron said:

Nice one.  Any hints about what sku's will include this ? hopefully standard gets it.

Let me know asap, so I can start removing my foreign keys and identity columns ;)

June 5, 2013 6:54 PM

Greg Linwood said:

Great article Kalen, very well written as usual and I really like where Microsoft is going with this, particularly as it integrates into the existing RDBMS & allows gradual migration.

Whilst there are some limitations to the implementation they seem reasonable & will still allow fairly wide spread use of this feature.

I have struggled to find compelling reasons to encourage customers to upgrade to SQL 2012 but this will be a significant reason to upgrade to SQL 2014, particulaly for customers with custom built solutions who can leverage the in-memory table feature relatively quickly.

June 5, 2013 10:02 PM

tobi said:

So many limitations. I had hoped for a feature that you could just enable by default and leave on auto-pilot.

This is targeted at the big clients who can expend as many man hours as they please. Management overhead is not a big concern for them.

June 6, 2013 7:27 AM

Wim said:

Nice whitepapaer!

2 Questions:

1. Why is the IdxLinkCount in the row header two bytes. As far I can see only 8 indexes may reference data in the data payload?

2. Figure 4, Insert of Greg, Beijing; I think the starting timestamp should be 100 in stead of 200?

June 6, 2013 10:30 AM

Wim said:

Please forget my first question... IdxLinkCount is a number of references not the number of indexes. Clear te me now.

June 6, 2013 10:41 AM

Luan Moreno said:

Kalen, thank you so much for this whitepaper i'm your fan

June 6, 2013 12:32 PM

Steve W said:

Could you possibly post the full URL to the WP? Tinyurls are blocked in my office.

Oh yeah, can you fix my database? It's slow...


June 6, 2013 4:48 PM

Steve W said:

Please cancel that last request. I used to get it.


June 6, 2013 4:52 PM

Kalen Delaney said:

You can also go to Microsoft's SQL Server 2014 page and link to the paper from the lower-right corner.  


June 6, 2013 5:53 PM

Chad Miller said:

The whitepaper mentions replication isn't support. Does that just mean using Hekaton tables as a replication source? I would think as a replication target--this would still be supported.

June 8, 2013 5:10 PM

Kalen Delaney said:

Hi Chad... I'll try to get details into the next whitepaper. I haven't tested replication yet, but my guess would be that being a subscriber isn't supported either due to the restrictions on the datatypes allowed. It would not be easy to ascertain in advance if the rows from the source would be allowable, so they just don't allow it at all. That's my guess for now....


June 8, 2013 6:28 PM

JRStern said:

Thanks for the paper, this sounds like big news.  I guess this is the ace in the hole that the SQL Server group has had for a while, as an excuse not to worry too much about some basic engine issues.

The number of limitations for the in-memory tables is offputting, but maybe they make sense in context - like who needs truncate table, if you don't have FKs and delete runs super-fast?

But not having FKs ... have to think about that, and the LOB/8K business too.  And - no identity columns?  That seems a pretty large shock to the system of any and all SQL Server practitioners!!!

June 17, 2013 2:06 PM

Kalen Delaney said:

Hi JRStern..

Since this is a completely new way of accessing and processing data, every operation has to be completely rewritten. MS decided they would prefer to get a system with basic operations out quickly, rather than wait for every feature to be implemented before releasing. More features will be added in every release!


June 19, 2013 6:16 PM

AlKessler said:

Seems like we'll be designing for a moveing target for several releases.  Switching between SQL-Classic and New-SQL (IMOLTP, aka Hekaton) sounds like a long term gradual process.  Any suggestions on db design ideas to take advantage of the new speedy features without breaking ?  I plan on buying asprin in bulk!  

June 21, 2013 9:46 AM

Luca Ferrari said:

thank's !!!!!! Great Whitepaper

June 25, 2013 5:54 PM

Anil Maharjan said:

It's really great to see such whitepapers and to know about the project 'Hekaton' aka In-Memory OLTP.



June 26, 2013 8:54 AM

Robert Young said:

The WP says that FK *constraints* aren't (yet?) supported.  But are FK access paths supported?  IOW, a FK can be defined for the purposes of generating joins, but FK violations are ignored on UPDATEs?  Or do we just use ANSI join syntax, and Hekaton uses single table access path for each table?

June 30, 2013 1:13 PM

dugi said:

Thanks for sharing!

July 3, 2013 5:43 PM

Kalen Delaney said:


I hope to get hands on with a couple of Hekaton implementations in the next month or two, so hopefully I'll be able to get some suggestions for db design issues.


July 8, 2013 1:47 PM

Kalen Delaney said:

Hi Robert

I'm really not sure what you're asking in your question about FK access paths. Can you clarify?

The JOIN syntax you use in a query should not affect how the query is processed internally.


July 8, 2013 1:50 PM

Susantha Bathige said:

I'm reading the In-Memory OLTP book and I've a clarification about the following; In Chapter 6, under the heading "Performance: reduced logging" 3rd paragraph it says;

"During a modification to a disk-based table, SQL Server constructs log records describing the change as the modification proceeds, writing them to the log buffer in memory, before it modifies the corresponding data pages in memory. When a transaction issues a commit, SQL Server flushes the log buffer to disk, and this will also flush log records relating to any concurrent, as yet-uncommitted transactions."

I was under the impression when a transaction issues a commit it will flush only the log records related to that transaction and when checkpoint occurs it flushes all log records plus dirty pages too.


June 17, 2016 1:43 PM

king said:



January 16, 2018 11:25 PM

king said:



January 16, 2018 11:36 PM

aaaa said:

mt0417 mt0417

April 16, 2018 8:41 PM

chenyingying said:


May 6, 2018 10:48 PM

linying123 said:


May 10, 2018 8:09 PM

shenyuhang said:


June 1, 2018 7:05 PM

kanker paru paru bisa sembuh tanpa operasi said:

June 28, 2018 6:40 PM

dongdong8 said:



June 29, 2018 2:49 AM

kesehatan said:

July 4, 2018 9:55 PM

kesehatan said:

July 5, 2018 8:10 PM

kesehatan said:

July 6, 2018 9:02 PM

kesehatan said:

July 9, 2018 12:41 AM

obat kanker payudara terbaik said:

July 10, 2018 8:51 PM

obat meningkatkan kecerdasan otak said:

July 13, 2018 9:43 PM

obat keputihan berlebihan dan berbau said:

July 15, 2018 8:51 PM

linying123 said:



July 16, 2018 8:34 PM

dongdong8 said:



July 23, 2018 11:31 PM

shenyuhang said:

July 23, 2018 11:41 PM

obat diabetes said:

August 1, 2018 11:18 PM

obat bronkitis anak secara alami said:

August 7, 2018 7:49 PM

obat sinusitis said:

August 10, 2018 7:23 PM

yaoxuemei said:


August 15, 2018 2:08 AM

qqq said:

August 16, 2018 12:19 AM

masker wajah alami untuk menghilangkan jerawat said: Masker wajah alami untuk menghilangkan jerawat Obat liver alami aman dan terbaik Obat herbal sinusitis kronis terbaik Obat bronkitis anak secara alami Obat Kanker Payudara terbaru 2018 Cara meningkatkan nafsu makan secara alami Obat herbal diabetes menurunkan gula darah Obat herbal kusta terbaik Obat benjolan di leher tanpa operasi Obat Herbal Kanker Otak tuntas hingga akar Obat TBC alami aman tanpa efek samping Obat radang amandel sembuh tanpa operasi Obat asam urat alami tanpa efek sampinfg Obat tetes Sariawan secara alami Cara mengobati mata bengkak dengan cepat Obat tradisional kanker lambung terbaik Obat kanker paru paru Obat usus buntu alami tanpa operasi Obat asam lambung naik cara alami

August 20, 2018 8:59 PM

chenjinyan said:


August 22, 2018 11:06 PM

shenyuhang said:


August 23, 2018 10:20 PM

obat herbal koresterol terbaik said:

August 23, 2018 10:58 PM

obat usus buntu alami tanpa operasi said:

August 24, 2018 12:21 AM

obat benjolan di tubuh said:

August 30, 2018 7:40 PM

obat wasir said:

September 4, 2018 8:26 PM

obat maag said:

September 17, 2018 7:10 PM

chenlixiang said:



September 18, 2018 10:00 PM

obat limfoma said:


September 23, 2018 6:50 PM

xiaojun said:

20180928 junda

September 27, 2018 10:57 PM

kakakaoo said:

October 8, 2018 2:23 AM

chenjinyan said:


October 9, 2018 6:55 PM

kakakaoo said:


November 8, 2018 2:07 AM

qqq said:

March 27, 2019 1:14 AM

ve a said:

April 4, 2019 2:52 PM

casdc said:

air max 270 Images"> , Golden Goose Francy"> , Golden Goose Ball Star"> , Golden Goose Sale , kids air force 1 mid"> , air force 1 high"> , Air Force 1 , air max 270 outlet , Golden Goose Superstar"> , Golden Goose Pure Star"> , Golden Goose Hi Star"> , Valentino Sandals"> , Disposable Medical Masks , air force 1 ac , Golden Goose Slide"> , Golden Goose Outlet , Golden Goose Hanami , air force 1 sp , GGDB Hanami"> , air force 1 premium , Golden Goose Man , Balenciaga Slide Shoes"> , Golden Goose Ball Star , air max 270 sale , Valentino Open Sneakers"> , Golden Goose Superstar , Golden Goose V Star"> , Balenciaga Outlet , GGDB Starter"> , Golden Goose Shoes , Golden Goose Outlet , Valentino Heels"> , Valentino Cage Heels"> , Golden Goose Big Sale , nike air force 270 , Air Force One , Golden Goose Francy , Valentino Sale , Golden Goose Sneakers Sale , GGDB Mid Star"> , Golden Goose , Golden Goose Francy , Golden Goose Man , kids air force 1 , GGDB Shoes , Golden Goose Slide , Golden Goose Starter"> , GGDB Hi Star , GGDB Slide , Balenciaga Shoes , Golden Goose Mid Star"> , Balenciaga Triple S Sneakers , Golden Goose Hi Star , Golden Goose Starter , Golden Goose Sneakers , Golden Goose Man Sneakers"> , Golden Goose V Star , air force 1 07 , Golden Goose Trainers , Golden Goose Women Ball Star Sneakers , Golden Goose Sale , GGDB , air force 1 mid , GGDB Francy , Cheap Air Force 1 , Valentino Sneakers , air force 1 , Golden Goose Woman Superstar Sneakers , supreme air force 1 , Valentino Outlet , Golden Goose Mid Star , Nike Air Force 1 , Golden Goose Woman Mid Star Sneakers"> , Golden Goose Hi Star , Golden Goose Shoes , Valentino Flats , Golden Goose Hi Star , Golden Goose Mid Star , Golden Goose Sneakers , Golden Goose Outlet , Golden Goose Slide , Medical Masks For Sale , Balenciaga Sale , off white air force 1 , kids air force 1 low , Golden Goose Sneakers Sale , Golden Goose NYC , nike sf af 1 , GGDB V Star , Golden Goose Sale , GGDB Superstar , Masks For Sale , Golden Goose Sale , Golden Goose Big Deals , Valentino Shoes Sale , Golden Goose Outlet , Balenciaga Sneakers , air force 1 utility , Golden Goose Woman Hi Star Sneakers , Golden Goose Woman , air force 1 upstep , cheap air max 270 , Golden Goose Starter , Golden Goose Woman Starter Sneakers , Golden Goose Superstar , Masks For Coronavirus For Sale , Golden Goose Slide , air max 270 , Golden Goose Ball Star , Valentino Shoes , Golden Goose Superstar , air max 270 , Valentino Cage Sandals , Golden Goose Woman , nike air force 1 , Golden Goose Ball Star , Golden Goose Stardan , air force 1 flyknit , Golden Goose Sneakers , Golden Goose Woman Sneakers , Golden Goose , Golden Goose Hi Star , Golden Goose Francy , Golden Goose Slide , Balenciaga Speed Sneakers , Golden Goose , nike court force , Golden Goose Francy , Golden Goose V Star , men air force 1 , Golden Goose Woman Francy Sneakers , Golden Goose Hanami , Golden Goose Mid Star , nike air max 270 , Golden Goose Woman V Star Sneakers , Golden Goose Woman Slide Sneakers , Golden Goose Sale , womens air force 1 , Golden Goose Starter , Golden Goose Shoes , Golden Goose Superstar , Valentino Slingback , GGDB Shoes Sale , air force 1 low , Golden Goose Mid Star

May 7, 2020 2:08 AM

Leave a Comment


This Blog


Favorite Non-technical Sites or Blogs

Privacy Statement