Understanding Transactions on Memory-Optimized Tables
Topic Status: Some information in this topic is preview and subject to change in future releases. Preview information describes new features or changes to existing features in Microsoft SQL Server 2016 Community Technology Preview 2 (CTP2).
Transactions access memory-optimized tables using a form of optimistic, multi-version concurrency control. This means that there are different versions of the data. Each transaction operates on its own transactionally consistent version of the database, independent from other concurrently running transactions. In addition, transactions operate under the optimistic assumption that there will be no conflicts with other, concurrent, transactions. This avoids the need to use locks, but does require the system to detect conflicts and terminate one of the conflicting transactions. Conflicts can occur only for write-write transactions and for read-write transactions. If there is a write-write conflict, one write transaction is terminated.
There are similarities between the concurrency control for memory-optimized tables and the concurrency control for disk-based tables for the READ_COMMITTED_SNAPSHOT and SNAPSHOT transaction isolation levels. (For more information about disk-based tables, see Row Versioning-based Isolation Levels in the Database Engine.)
This section on transactions in memory-optimized tables includes the following topics:
For more information, see Control Transaction Durability.