RCSI provides statement-level consistent reads with minimal blocking and no application changes, while Snapshot Isolation provides transaction-level consistency using the same row versioning infrastructure but adds update conflict detection and guarantees a stable point-in-time view throughout the transaction.
|
Feature |
RCSI
(Read Committed Snapshot Isolation) |
Snapshot
Isolation (SI) |
|
Isolation
Level |
Modified
READ COMMITTED |
Separate
Isolation Level |
|
Introduced In |
SQL Server 2005 |
SQL Server 2005 |
|
Uses
Row Versioning |
Yes |
Yes |
|
Uses TempDB Version Store |
Yes |
Yes |
|
Prevents
Dirty Reads |
Yes |
Yes |
|
Reader Blocks Writer |
No (mostly) |
No (mostly) |
|
Writer
Blocks Reader |
No
(mostly) |
No
(mostly) |
|
Shared Locks for Reads |
Not required for data reads |
Not required for data reads |
|
Consistency
Scope |
Statement
Level |
Transaction
Level |
|
Snapshot Taken When |
At the start of each statement |
At the start of transaction |
|
Data
Seen by SELECT |
Latest
committed data when statement starts |
Data
as of transaction start |
|
Multiple SELECTs in Same Transaction |
Can see different committed data |
Always see same version |
|
Repeatable
Reads Guaranteed? |
No |
Yes |
|
Phantom Reads Possible? |
Yes (between statements) |
No |
|
Non-Repeatable
Reads Possible? |
Yes
(between statements) |
No |
|
Update Conflict Detection |
No |
Yes |
|
Error
3960 Possible? |
No |
Yes |
|
Application Code Changes Required |
No |
Yes |
|
SET
TRANSACTION ISOLATION LEVEL Needed |
No |
Yes |
|
Enable at Database Level |
Yes |
Yes |
|
Suitable
for Existing Applications |
Excellent |
Requires
code changes |
|
Reporting Consistency |
Medium |
High |
|
Long
Running Transactions |
Not
ideal for consistent reporting |
Excellent |
|
Concurrency |
Very High |
High |
|
TempDB
Usage |
High |
High |
|
Version Store Usage |
High |
High |
|
Most
Commonly Used |
Yes |
Less
Common |
|
Typical Use Case |
OLTP Systems |
Financial Reporting / Auditing |
No comments:
Post a Comment
If you have any doubt, please let me know.