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.
34 Citations
67 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. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29)
-
-
30. 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 (31, 32, 33, 34, 35, 36, 37, 38)
-
-
39. A structure in a computing system for implementing in-memory records, comprising:
-
a memory comprising two or more in-memory buffers;
each of the two or more in-memory buffers comprising records corresponding to changes to the same system. - View Dependent Claims (40, 41, 42)
-
- 43. 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.
-
50. A computer program product comprising a 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.
-
-
51. 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.
-
-
52. A computer program product comprising a 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.
-
-
53. 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.
-
-
54. A computer program product comprising a 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.
-
-
55. 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.
-
-
56. 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. - View Dependent Claims (57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67)
-
Specification