CS262A Reading
Summary 12
The Design of the Postgres Storage System
Michael Stonebraker
Summary by Feng Zhou
9/29/2002
3 key features,
-
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.
-
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.
-
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.