An improved method, mechanism, and system for implementing, generating, and maintaining
records, such as redo records and redo logs in a database system, are disclosed.
Multiple sets of records may be created and combined into a partially ordered (or
non-ordered) group of records, which are later collectively ordered or sorted as
needed to create an fully ordered set of records. With respect to a database system,
redo generation bottleneck is minimized by providing multiple in-memory redo buffers
that are available to hold redo records generated by multiple threads of execution.
When the in-memory redo buffers are written to a persistent storage medium, no
specific ordering needs to be specified with respect to the redo records from the
different in-memory redo buffers. While the collective group of records may not
be ordered, the written-out redo records may be partially ordered based upon the
ordered redo records from within individual in-memory redo buffers. At recovery,
ordering and/or merging of redo records may occur to satisfy database consistency requirements.