CS262A Reading Summary 12

The Design of the Postgres Storage System

Michael Stonebraker
Summary by Feng Zhou
9/29/2002

3 key features,
  1. By recording all the operations, Postgres storage manager is able to provide all the history of a specific record. This is achieved by chaining the record images (anchor points) and later changes (delta records) in chronological order. This functionality is desirable for a lot of applications in both engineering and business. So providing it internally in the DBMS, in a efficient way, is a good idea.
  2. Archiving functionality is integrated into the system and can be done in the background continuously. This is desirable because it improves availability. Index of the archives can also be maintained so that archived data can be accessed online, thus providing a consistent user view of data on disks and on archival media.
  3. The assumption of the existence stable main memory (non-volatile memory) greatly simplifies the system design and opens up new possiblities. Although the validity of this assumption is not proved in the paper. It may be well valid sometime in the future because of breakthroughs in the semiconductor field.

One major flaw:

The idea of recording multiple operations to data in Postgres is similar to LFS, in which writes to files are recorded in a log. However, Postgres storage system does not try to write to the disk sequentially. So if there is limited or no non-volatile memory to act as a write buffer, the performance of Postgres will be much lower than WAL-based DBMSes. This limits the applicability of this system because most current computer systems do not have non-volatile memories equipped.