1 / 7

Optimistic Concurrency Internals

Optimistic Concurrency Internals. James Rowland-Jones @ jrowlandjones. What we will cover in the next hour. Concurrency Basics Flavours of Optimistic Concurrency The Internals. “the ability of multiple processes to act on the same data at the same time”. Concurrency.

gibson
Download Presentation

Optimistic Concurrency Internals

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Optimistic Concurrency Internals James Rowland-Jones @jrowlandjones

  2. What we will cover in the next hour • Concurrency Basics • Flavours of Optimistic Concurrency • The Internals

  3. “the ability of multiple processes to act on the same data at the same time” Concurrency

  4. Read Committed Snapshot Isolation • Essentially same isolation level as Read Committed in Pessimistic Mode • No shared locks when reading data • Once set - default transaction isolation level for that SQL Server database. • The data that the user can read is the data provided at the time the statement inside the transaction starts.

  5. Snapshot Isolation • Completely New Isolation Level • Designed for Higher degrees of Isolation level than RCSI • Not Good if concurrent Updates are occurring • Fair number of restrictions

  6. Row Versioning • Used to implement • Online Index Rebuilds • Triggers (inserted and deleted tables use row versioning) • MARS • Prior to updating a row SQL Server copies the row and stores it in the version store • Held till no longer required • Marked by the Transaction ID of the row that caused its creation • Writers bear the brunt of the cost for setting up the version • Readers pay navigating pointer chains • BLOBs aren’t moved into the version store in their entirety • Only fragment that was changed is held.

More Related