Database Reference
In-Depth Information
Repeatable read : This doesn't allow dirty or non-repeatable reads but does
allow phantom reads.
Snapshot : This does not allow dirty, non-repeatable, or phantom reads.
Serializable : This does not allow dirty, non-repeatable, or phantom reads.
All data access from memory-optimized tables will make use of optimistic
concurrency. Multiple isolation levels are still allowed. In-memory optimized tables
support the following isolation levels:
Snapshot : In this isolation level, data reads will be a transactionally
consistent version of the data that existed at the start of the transaction. Only
committed transactions at the start of the transaction will be recognized.
Data modifications made after the transaction has started will not be
returned. With a snapshot transaction, the statements in a snapshot isolation
transaction get a snapshot of the committed data as it existed at the start of
the transaction.
Repeatable read : This isolation level gives the same guarantee as the
snapshot isolation level—you get a snapshot of the committed data at the
start of the transaction. Along with that, you will get any row that is read by
the transaction at the time the transaction commits, provided the row has not
been changed by any other transaction.
Serializable : Serializable builds on all the guarantees offered by repeatable
reads and snapshot isolation levels and also prevents phantom reads.
Phantom rows can appear between the time of the snapshot and end of the
transaction. Phantom rows match the filter condition of a data manipulation
statement. A transaction is serializable if we can guarantee that it would
return exactly the same data at the end of the transaction as it did at the start.
Summary
In this chapter, we have looked at In-Memory OLTP. In particular, we have looked
at in-memory tables, natively compiled stored procedures, how to create a database
capable of supporting In-Memory OLTP, and how concurrency works with these
new database objects. In the next chapter, we will look at Delayed Durability and
how it can impact the performance of your databases.
 
Search WWH ::




Custom Search