Method and mechanism for efficient implementation of ordered records
First Claim
1. A method for implementing records in a computing system, comprising:
- establishing two or more in-memory buffers;
distributing records across the two or more in-memory buffers;
identifying a cross-sectional interval for the two or more in-memory buffers, the cross-sectional interval based upon a temporal period, the cross-section intervals corresponding to a subset of zero or more records for each of the two or more in-memory buffers, the subset of zero or more records for each of the two or more in-memory buffers being temporally ordered; and
writing the subset of zero or more records for each of the two or more in-memory buffers to the persistent storage medium, wherein records written to the persistent storage medium are not sequentially ordered as an entire group.
1 Assignment
0 Petitions
Accused Products
Abstract
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.
97 Citations
60 Claims
-
1. A method for implementing records in a computing system, comprising:
-
establishing two or more in-memory buffers; distributing records across the two or more in-memory buffers; identifying a cross-sectional interval for the two or more in-memory buffers, the cross-sectional interval based upon a temporal period, the cross-section intervals corresponding to a subset of zero or more records for each of the two or more in-memory buffers, the subset of zero or more records for each of the two or more in-memory buffers being temporally ordered; and writing the subset of zero or more records for each of the two or more in-memory buffers to the persistent storage medium, wherein records written to the persistent storage medium are not sequentially ordered as an entire group. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A method for implementing records in a computing system, comprising:
-
establishing multiple buffers in the computing system; distributing records across the multiple buffers; identifying an interval within the multiple buffers to write the records to a persistent storage medium; and writing the records to the persistent storage medium, wherein the records written to the persistent storage medium are not sequentially ordered as an entire group. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28)
-
-
29. A method for applying ordered records, in which one or more intervals of records have been persistently stored to a persistent storage medium, each of the one or more intervals of records comprising a self-contained set of records for a given interval, comprising:
-
(a) identifying a checkpoint; (b) identifying an interval of records corresponding to the checkpoint; (c) creating an ordered group of records by ordering records within the interval of records; (d) applying the ordered group of records; (e) determining whether an additional interval of records are to be applied; and (f) repeating (c) through (e) until no further intervals of records are to be applied. - View Dependent Claims (30, 31, 32, 33, 34, 35, 36, 37)
-
- 38. A structure in a computing system for implementing records on a persistent storage medium, comprising an on-disk log comprising two or more intervals of records, each of the two or more intervals of records comprising a self-contained set of records for a given interval, wherein each of the two or more intervals of records comprises a collection of unordered records.
-
44. A computer program product comprising a tangible computer usable medium having executable code to execute a process for implementing records in a computing system, the process comprising the steps of:
-
establishing two or more in-memory buffers; distributing records across the two or more in-memory buffers; identifying a cross-sectional interval for the two or more in-memory buffers, the cross-sectional interval based upon a temporal period, the cross-section intervals corresponding to a subset of zero or more records for each of the two or more in-memory buffers, the subset of zero or more records for each of the two or more in-memory buffers being temporally ordered; and writing the subset of zero or more records for each of the two or more in-memory buffers to the persistent storage medium, wherein records written to the persistent storage medium are not sequentially ordered as an entire group.
-
-
45. A system for implementing records in a computing system, comprising:
-
means for establishing two or more in-memory buffers; means for distributing records across the two or more in-memory buffers; means for identifying a cross-sectional interval for the two or more in-memory buffers, the cross-sectional interval based upon a temporal period, the cross-section intervals corresponding to a subset of zero or more records for each of the two or more in-memory buffers, the subset of zero or more records for each of the two or more in-memory buffers being temporally ordered; and means for writing the subset of zero or more records for each of the two or more in-memory buffers to the persistent storage medium, wherein records written to the persistent storage medium are not sequentially ordered as an entire group.
-
-
46. A computer program product comprising a tangible computer usable medium having executable code to execute a process for implementing records in a computing system, the process comprising the steps of:
-
establishing multiple buffers in the computing system; distributing records across the multiple buffers; identifying an interval within the multiple buffers to write the records to a persistent storage medium; and writing the records to the persistent storage medium, wherein the records written to the persistent storage medium are not ordered as an entire group.
-
-
47. A system for implementing records in a computing system, comprising:
-
means for establishing multiple buffers in the computing system; means for distributing records across the multiple buffers; means for identifying an interval within the multiple buffers to write the records to a persistent storage medium; and means for writing the records to the persistent storage medium, wherein records written to the persistent storage medium are not sequentially ordered as an entire group.
-
-
48. A computer program product comprising a tangible computer usable medium having executable code to execute a process for applying ordered records in a computing system, in which one or more intervals of records have been persistently stored to a persistent storage medium, each of the one or more intervals of records comprising a self-contained set of records for a given interval, the process comprising:
-
(a) identifying a checkpoint; (b) identifying an interval of records corresponding to the checkpoint; (c) creating an ordered group of records by ordering records within the interval of records; (d) applying the ordered group of records; (e) determining whether an additional interval of records are to be applied; and (f) repeating (c) through (e) until no further intervals of records are to be applied.
-
-
49. A system for applying ordered records in a computing system, in which one or more intervals of records have been persistently stored to a persistent storage medium, each of the one or more intervals of records comprising a self-contained set of records for a given interval, comprising:
-
(a) means for identifying a checkpoint; (b) means for identifying an interval of records corresponding to the checkpoint; (c) means for creating an ordered group of records by ordering records within the interval of records; (d) means for applying the ordered group of records; (e) means for determining whether an additional interval of records are to be applied; and (f) means for utilizing (c) through (e) until no further intervals of records are to be applied.
-
-
50. A method for implementing redo records in a database, comprising:
-
establishing multiple redo buffers in a database system; distributing redo records across the multiple redo buffers; identifying a log-write interval within the multiple redo buffers to write the redo records to a persistent storage medium; and writing the redo records to the persistent storage medium, wherein the redo records written to the persistent storage medium are not ordered as an entire group. - View Dependent Claims (51, 52, 53, 54, 55, 56, 57, 58, 59, 60)
-
Specification