Proceedings of the VLDB Endowment · 2012 · 139 citations · 15 references
EngineeringNew Lock ManagerComputer ArchitectureSnapshot IsolationTransactional SystemData DeduplicationTransaction ProcessingSerializable Isolation LevelConcurrency ControlData ConsistencyParallel ComputingData ManagementSerializable Snapshot IsolationComputer EngineeringData PrivacyComputer ScienceData SecurityCloud ComputingParallel ProgrammingConcurrent Data StructureTransactional Memory
This paper describes our experience implementing PostgreSQL's new serializable isolation level. It is based on the recently-developed Serializable Snapshot Isolation (SSI) technique. This is the first implementation of SSI in a production database release as well as the first in a database that did not previously have a lock-based serializable isolation level. We reflect on our experience and describe how we overcame some of the resulting challenges, including the implementation of a new lock manager, a technique for ensuring memory usage is bounded, and integration with other PostgreSQL features. We also introduce an extension to SSI that improves performance for read-only transactions. We evaluate PostgreSQL's serializable isolation level using several benchmarks and show that it achieves performance only slightly below that of snapshot isolation, and significantly outperforms the traditional two-phase locking approach on read-intensive workloads.
15
On optimistic methods for concurrency control
H. T. Kung, John T. Robinson · ACM Transactions on Database Systems · 1981 · 1.4K citations · Full text
A critique of ANSI SQL isolation levels
Hal Berenson, Phil Bernstein, Jim Gray et al. · 1995 · 855 citations · Full text
Michael Stonebraker, Lawrence A. Rowe · ACM SIGMOD Record · 1986 · 685 citations · Full text