This paper presents two algorithms for maintaining Btree index consistency in a DBMS which does not use write-ahead logging (WAL). One algorithm is similar to shadow paging, but improves performance by integrating shadow meta-data with index meta-data. The other algorithm uses a two-phase page reorganization scheme to reduce the space overhead caused by shadow paging. Although designed for the POSTGRES storage system, these algorithms would also be useful in a WAL-based storage system as support for logical logging. Measurements of a prototype implementation and estimates of the effect of the algorithms on large trees show that they will have little impact on data manager performance.
Mark Sullivan, Michael A. Olson