The In-Memory OLTP Engine in SQL Server 2014: An Overview

A few days ago, on March 21st, I participated as an invited speaker at Microsoft Conference 2014 that took place in Nicosia, Cyprus.

My session was on SQL Server 2014 and specifically about what’s new in this release of SQL Server.

My session’s agenda was on the following areas of new features on SQL Server:

  • Interaction with Windows Azure
  • Security Enhancements
  • Performance Improvements & Enhancements
  • T-SQL Enhancements
  • In-Memory OLTP Engine

Someone might wonder why the “In-Memory OLTP Engine” is in bold, red letters 🙂

 

The SQL Server In-Memory OLTP Engine

The reason is that this feature is the long-awaited in-memory processing engine that it is built-in into the SQL Server Engine and when you properly use it, you can get extremely high speedups in data processing when compared to the “traditional processing”.

The In-Memory OLTP Engine introduces new data structures described as “memory-optimized” (i.e. memory-optimized tables and table variables).

 

Memory-Optimized Tables

Memory-optimized tables store their data into memory using multiple versions of each row’s data. This technique is characterized as “Non-blocking multi-version optimistic concurrency control” and eliminates both Locks and Latches thus achieving breakthrough performance. The list of main features of memory-optimized tables are:

  • Rows in the table are read from and written to memory
  • The entire table resides in memory
  • Non-blocking multi-version optimistic concurrency control
  • Durable & non-durable
  • A second copy maintained on disk for durability (if enabled)
  • Data in memory-optimized tables is only read from disk during database recovery
  • Interoperable with disk-based tables

Watch a Video About Memory-Optimized Tables

Natively-Compiled Stored Procedures

Another feature of the In-Memory OLTP Engine is “natively compiled stored procedures”. A natively-compiled stored procedure is a SQL Server object that can access only memory-optimized data structures such as memory-optimized tables, table variables, etc. The main features of a natively-compiled stored procedure are:
  • It is compiled to native code (DLL) when it is created
  • Aggressive optimizations take time at compile time
  • Can only interact with memory-optimized tables

The call to a natively compiled stored procedure is actually a DLL Entry Point which is something that offers very fast execution times!

When you properly combine memory-optimized tables with natively compiled stored procedures for heavy workloads like DW ETL processes, high data insert rate processes and processes that demand low latency execution you can expect some serious speedups.

 

Watch a Video about Natively-Compiled Stored Procedures

 

 

Highly Recommended Tool: In-Memory OLTP Simulator

Our solution, “In-Memory OLTP Simulator“, helps you to easily benchmark standard and custom scenarios of data workloads and processing against the powerful In-Memory OLTP Engine in SQL Server. Moreover, you get rich analytics and insights, and see how Memory Optimization in SQL Server can help you boost the performance of your data processes.

In-Memory OLTP Simulator - SQLNetHub

Try In-Memory OLTP Simulator free for 14 days

 

Enroll to the Online Course!

Enroll to our online course titled  “Boost SQL Server Database Performance with In-Memory OLTP” and learn how to Harness the Power of SQL Server’s In-Memory Optimization and Boost the Performance of your Data Processes!

Boost SQL Server Database Performance with In-Memory OLTP - Online Course

Enroll Now with Discount!

 

 

Featured Online Courses:

 

Check our other related SQL Server Performance articles.

Subscribe to our newsletter and stay up to date!

Check out our latest software releases!

Check out Artemakis’s eBooks!

 

Rate this article: 1 Star2 Stars3 Stars4 Stars5 Stars (1 votes, average: 5.00 out of 5)

Loading...

Reference: SQLNetHub.com (https://www.sqlnethub.com)

© SQLNetHub