The Cure for SQL Race Conditions: True Serializability in 9.1

Talk Type: 
45 Minute Talk
Track: 
Application development
Technical Level: 
Intermediate
License: 
BSD

If you don't know what a race condition is, or you thought that SQL was immune from race conditions, this talk is for you. These are bugs that slip through testing, are hard to track down, and might cause invalid data in your database.

The good news is that 9.1 offers a cure: true serializability through Serialized Snapshot Isolation (SSI). It's easy to use and magically detects a live SQL race condition and turns it into an error.

Oh, did I say "magic"? It's actually technology developed by Kevin Grittner and Dan R.K. Ports, based on some fresh research by Michael J. Cahill, et al.

Of course, there is a catch: because race conditions may turn into errors, application developers need to be prepared to retry transactions when that happens. This is usually a minor burden, however, because all you need to do is send the same transaction again.