Linux Today: Linux News On Internet Time.

Linux Gazette: PostgreSQL's Multi-Version Concurrency Control

Jul 01, 2001, 20:00 (10 Talkback[s])
(Other stories by Joseph Mitchell)

Joseph Mitchell outlines a way that PostgreSQL users can work around the lack of a pure "no-locking" capability.

"Question of the day: what's the single most annoying thing about most large multi-user databases? As anyone who's worked with one knows, it's waiting. And waiting. Whether the database system is using table-level, page-level, column-level, or row-level locking, the same annoying problem persists: readers (SELECTs) wait for writers (UPDATEs) to finish, and writers (UPDATEs) wait for readers (SELECTs) to finish. 'My kingdom,' they cry, 'for a database with 'no-locking' capability!'"

"For PostgreSQL, 'no-locking' is already a reality. Readers never wait for writers, and writers never wait for readers. I can already hear the objections to the claim that there is no "no-locking" in PostgreSQL, so let me explain PostgreSQL's advanced technique called Multi-Version Concurrency Control (MVCC)."

Complete Story

Related Stories: