A system and method for maintaining checkpoints of a keyed data structure
using a sequential log are provided. The system and method are built upon
the idea of writing all updates to a keyed data structure in a physically
sequential location. The system and method make use of a two-stage
operation. In a first stage, various values of the same key are combined
such that only the latest value in a given checkpoint interval is
maintained for writing to persistent storage. In a second stage of the
operation, a periodic write operation is performed to actually store the
latest values for the key-value pairs to a persistent storage. All such
updates to key-value pairs are written to the end of a sequential log.
This minimizes the physical storage input/output (I/O) overhead for the
write operations. Data structures are provided for identifying the most
current entries in the sequential log for each key-value pair.