Serializable Snapshot Isolation in PostgreSQL

Download: pdf .

“Serializable Snapshot Isolation in PostgreSQL” by Dan R. K. Ports and Kevin Grittner. In Proceedings of the 38th International Conference on Very Large Data Bases (VLDB '12), (Istanbul, Turkey), Aug. 2012.

Abstract

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.

Download: pdf .

BibTeX entry:

@inproceedings{ports12:_serial_snaps_isolat_postg,
   author = {Dan R. K. Ports and Kevin Grittner},
   title = {Serializable Snapshot Isolation in {PostgreSQL}},
   booktitle = {Proceedings of the 38th International Conference on Very
	Large Data Bases ({VLDB} '12)},
   address = {Istanbul, Turkey},
   month = aug,
   year = {2012}
}

Also see all authors, all publications by date, and all publications by topic.

Programming Methodology Group