Method, apparatus and program storage device for managing buffers during online reorganization
First Claim
Patent Images
1. A program storage device, comprising:
- program instructions executable by a processing device to perform operations for managing buffers during online reorganization, the operations comprising;
providing an adaptive buffer having a dynamically adjustable boundary between log records and pointers associated with the log records, the adaptive buffer for processing the log records and pointers associated with the log records during online reorganization of a database; and
adaptive switching between a first and a second task during the processing of the log records comprising data log records and index log records during the online reorganization of the database, further comprising;
begin processing, by a first task, records located in first buffer associated with first task set and processing, by a second task, records located in first buffer associated with second task set;
completing by first task the processing of records in first buffer associated with first task;
begin processing by first task, records located in second buffer associated with first task set without waiting for second task to complete processing records of first buffer associated with second task set;
completing processing records located in second buffer associated with first task by first task;
waiting, by first task, until second task completes the processing of records located in first buffer associated with second task set;
refilling, by first task, the first buffer associated with first task set and the first buffer associated with second task set;
determining whether the first task or the second task completes processing records in its first buffer next;
beginning to refill second buffer for both tasks by the task determined to next complete processing of its first buffer; and
processing, by task determined to next complete processing its first buffer, second buffer of task determined to next complete processing its first buffer.
2 Assignments
0 Petitions
Accused Products
Abstract
A method, apparatus and program storage device for managing buffers during online reorganization. An adaptive buffer is provided having a dynamically adjustable boundary, the adaptive buffer processes log records and pointers associated with the log records during online reorganization of a database. Adaptive switching is provided between a first and a second task during the processing of data log records and index log records during the online reorganization of the database.
30 Citations
20 Claims
-
1. A program storage device, comprising:
-
program instructions executable by a processing device to perform operations for managing buffers during online reorganization, the operations comprising; providing an adaptive buffer having a dynamically adjustable boundary between log records and pointers associated with the log records, the adaptive buffer for processing the log records and pointers associated with the log records during online reorganization of a database; and adaptive switching between a first and a second task during the processing of the log records comprising data log records and index log records during the online reorganization of the database, further comprising; begin processing, by a first task, records located in first buffer associated with first task set and processing, by a second task, records located in first buffer associated with second task set; completing by first task the processing of records in first buffer associated with first task; begin processing by first task, records located in second buffer associated with first task set without waiting for second task to complete processing records of first buffer associated with second task set; completing processing records located in second buffer associated with first task by first task; waiting, by first task, until second task completes the processing of records located in first buffer associated with second task set; refilling, by first task, the first buffer associated with first task set and the first buffer associated with second task set; determining whether the first task or the second task completes processing records in its first buffer next; beginning to refill second buffer for both tasks by the task determined to next complete processing of its first buffer; and processing, by task determined to next complete processing its first buffer, second buffer of task determined to next complete processing its first buffer. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A program storage device comprising:
-
program instructions executable by a processing device to perform operations for managing buffers during online reorganization, the operations comprising; providing an adaptive buffer having a dynamically adjustable boundary between log records and pointers associated with the log records, the adaptive buffer for processing the log records and pointers associated with the log records during online reorganization of a database; and adaptive switching between a first and a second task during the processing of the log records comprising data log records and index log records during the online reorganization of the database, further comprising; begin processing, by a first task, records located in first buffer associated with first task set and processing, by a second task, records located in first buffer associated with second task set; completing by first task the processing of records in first buffer associated with first task; begin processing by first task, records located in second buffer associated with first task set without waiting for second task to complete processing records of first buffer associated with second task set; completing processing records located in second buffer associated with first task by first task; waiting, by first task, until second task completes the processing of records located in first buffer associated with second task set; refilling, by first task, the first buffer associated with first task set and the first buffer associated with second task set; determining whether the first task or the second task completes processing records in its second buffer next; beginning to refill first buffer for both tasks by the task determined to first complete processing of its second buffer; and processing, by task determined to next complete processing its second buffer, first buffer of task determined to next complete processing its second buffer.
-
-
12. A program storage device, comprising:
-
program instructions executable by a processing device to perform operations for managing buffers during online reorganization, the operations comprising; begin processing, by a first task, records located in first buffer associated with first task set and processing, by a second task, records located in first buffer associated with second task set; completing by first task the processing of records in first buffer associated with first task; begin processing by first task, records located in second buffer associated with first task set without waiting for second task to complete processing records of first buffer associated with second task set; completing processing records located in second buffer associated with first task by first task; waiting, by first task, until second task completes the processing of records located in first buffer associated with second task set; refilling, by first task, the first buffer associated with first task set and the first buffer associated with second task set; determining whether the first task or the second task completes processing records in its first buffer next; beginning to refill second buffer for both tasks by the task determined to next complete processing of its first buffer; and processing, by task determined to next complete processing its first buffer, second buffer of task determined to next complete processing its first buffer. - View Dependent Claims (13, 14, 15, 16, 17)
-
-
18. An apparatus for managing buffers during online reorganization, comprising:
-
a computer having a data store coupled thereto, wherein the data store stores data; and one or more computer programs, performed by the computer, for beginning processing, by a first task, records located in first buffer associated with first task set and processing, by a second task, records located in first buffer associated with second task set, completing by first task the processing of records in first buffer associated with first task, beginning processing by first task records located in second buffer associated with first task set without waiting for second task to complete processing records of first buffer associated with second task set, completing processing records located in second buffer associated with first task by first task, waiting, by first task, until second task completes the processing of records located in first buffer associated with second task set and refilling, by first task, the first buffer associated with first task set and the first buffer associated with second task set, determining whether the first task or the second task completes processing records in its first buffer next, beginning to refill second buffer for both tasks by the task determined to next complete processing of its first buffer; and
processing, by task determined to next complete processing its first buffer, second buffer of task determined to next complete processing its first buffer.
-
-
19. An apparatus for managing buffers during online reorganization, comprising:
-
a data storage device for storing data in a database; a computer, coupled to the data storage device, for executing instructions for reorganizing the database, the computer including; first task means for beginning to process records located in first buffer associated with first task means; and second task means for processing records located in first buffer associated with second task means; wherein the first task means completes the processing of records in a first buffer associated with first task means, processes records located in second buffer associated with first task means without waiting for second task means to complete processing records of first buffer associated with second task means, completes processing records located in second buffer associated with first task means, wait until second task completes the processing of records located in first buffer associated with second task means, refills the first buffer associated with first task means and the first buffer associated with second task means, determines whether the first task or the second task completes processing records in its first buffer next, begins to refill second buffer for both tasks by the task determined to next complete processing of its first buffer; and
processes, by task determined to next complete processing its first buffer, second buffer of task determined to next complete processing its first buffer.
-
-
20. A method of adaptive switching between tasks during online reorganization of a database, comprising:
-
begin processing, by a first task, records located in first buffer associated with first task set and processing, by a second task, records located in first buffer associated with second task set; completing by first task the processing of records in first buffer associated with first task; begin processing by first task, records located in second buffer associated with first task set without waiting for second task to complete processing records of first buffer associated with second task set; completing processing records located in second buffer associated with first task by first task;
waiting, by first task, until second task completes the processing of records located in first buffer associated with second task set; andrefilling, by first task, the first buffer associated with first task set and the first buffer associated with second task set, determining whether the first task or the second task completes processing records in its first buffer next, beginning to refill second buffer for both tasks by the task determined to next complete processing of its first buffer; and processing, by task determined to next complete processing its first buffer, second buffer of task determined to next complete processing its first buffer.
-
Specification