IP Library › Granted Patent US 9,892,142
Granted Patent B2
US 9,892,142 · App. 13/527,871 · Granted Feb 13, 2018

Maintaining index data in a database

Inventors: Margaret Zagelow (Morgan Hill, CA); Curt L. Cotner (Gilroy, CA); John A. McPherson, Jr. (San Jose, CA); Claus Kempfert (Altdorf, DE)
Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
G06F17/30336
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,892,142
App. No.
13/527,871
Granted
Feb 13, 2018
Kind
B2
Abstract

In a particular embodiment, a method includes storing, at a staging table of a database, a data update generated based on a transaction performed with respect to a data table that is associated with one or more indexes. Each index of the one or more indexes is maintained externally to the database. The method further includes maintaining the data update at the staging table at least until index update data is received at the database. The index update data represents a modification, based on the data update, to a particular index of the one or more the indexes.

Claims (56)

1. A system comprising:

a memory configured to store processor-executable instructions; and

a processor coupled to the memory, wherein the processor is configured to execute the processor-executable instructions to:

perform a transaction to modify at least a first data portion of a data table of a database, wherein the database comprises the data table, a staging table, and an index table, and wherein the index table is configured to store index data based on an index of the first data portion of the data table;

based on performance of the transaction, store first data update information in the staging table, the first data update information corresponding to the transaction;

communicate the first data update information to an index manager in response to a triggering event, wherein the index manager is at a location remote from the database and includes the index of the first data portion of the data table;

maintain the first data update information in the staging table at least until index update data is received by the processor from the index manager;

receive the index update data from the index manager, wherein the index update data corresponds to a modification performed on the index of the first data portion of the data table; and

in response to the processor receiving the index update data:

update the index data of the index table based on the index update data; and

remove the first data update information from the staging table.

2. The system of claim 1 , wherein the processor is further configured to execute the processor-executable instructions to:

store second data update information in the staging table, the second data update information corresponding to a second transaction performed on the first data portion of the data table; and

communicate the second data update information to the index manager, wherein the first data update information and the second data update information are communicated in a batch message to the index manager.

3. The system of claim 1 , wherein the index data of the index table represents the index of the first data portion of the data table, and wherein the first data portion of the data table includes text data.

4. The system of claim 1 , wherein the processor is further configured to remove the first data update information from the staging table in response to the update of the index table.

5. A method comprising:

performing a transaction to modify at least a first data portion of a data table of a database, wherein the database comprises the data table, a staging table, and an index table, and wherein the index table is configured to store index data based on an index of the first data portion of the data table;

based on the transaction, storing first data update information in the staging table, the first data update information corresponding to the transaction;

communicating the first data update information to a first index manager in response to a triggering event, wherein the first index manager is at a location remote from the database and includes the index of the first data portion of the data table;

maintaining the first data update information in the staging table at least until index update data is received from the first index manager;

receiving the index update data from the first index manager, wherein the index update data corresponds to a modification of the index of the first data portion of the data table; and

in response to receiving the index update data:

updating the index data of the index table based on the index update data; and

removing the first data update information from the staging table.

6. The method of claim 5 , further comprising:

communicating second data update information to the first index manager, wherein the second data update information is generated based on a second transaction to modify the first data portion of the data table;

receiving an error message associated with the second data update information from the first index manager; and

communicating a request to a second index manager to create a second index associated with the second index manager based on the index table.

7. The method of claim 5 , further comprising:

storing second data update information in the staging table, the second data update information corresponding to a second transaction performed to modify the first data portion of the data table; and

communicating the second data update information to the first index manager, wherein the first data update information and the second data update information are communicated in a batch message to the first index manager.

8. The method of claim 5 , wherein the triggering event comprises a synchronous time update cycle or an asynchronous update signal.

9. The method of claim 5 , further comprising:

storing second data update information in the staging table, wherein the second data update information corresponds to a second transaction to modify at least a second data portion of the data table; and

maintaining the second data update information in the staging table at least until receipt of second index update data from a second index manager, wherein the second index update data corresponds to a modification of a second index associated with the second index manager.

10. The method of claim 9 , further comprising removing the second data update information from the staging table in response to receiving the second index update data from the second index manager.

11. The method of claim 9 , wherein the index update data is received after the communication of the first data update information and responsive to the first data update information.

12. A method comprising:

performing a transaction to modify at least a first data portion of a data table of a database, wherein the database comprises the data table, a staging table, and an index table, and wherein the index table is configured to store index data based on an index of the first data portion of the data table;

based on performing the transaction, storing first data update information in the staging table, the first data update information corresponding to the transaction;

communicating the first data update information to at least one of a first index manager or a second index manager in response to a triggering event, wherein the first index manager, the second index manager, and the database are remote from each other;

maintaining the first data update information in the staging table at least until receipt of index update data;

receiving the index update data from at least one of the first index manager or the second index manager, wherein the index update data corresponds to a modification performed on a first index of the first data portion of the data table associated with the first index manager or a second index of the first data portion of the data table associated with the second index manager; and

in response to receiving the index update data:

updating the index data of the index table based on the index update data; and

removing the first data update information from the staging table.

13. The method of claim 12 , further comprising:

receiving an error message from the first index manager; and

communicating a request to the second index manager to create the second index, the second index created based on the index table.

14. The method of claim 12 , further comprising:

storing second data update information in the staging table, the second data update information corresponding to a modification of at least a second data portion of the data table; and

communicating the second data update information to the second index manager.

15. The method of claim 12 , wherein the triggering event is based on a synchronous time update cycle or an asynchronous update signal.

16. The method of claim 12 , wherein the first data update information is communicated to the first index manager and the second index manager.

17. The method of claim 16 , wherein the update of the index table is based on the first data update information.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 20, 2012
From: ZAGELOW, MARGARET; COTNER, CURT L.; MCPHERSON, JOHN A., JR.; KEMPFERT, CLAUS
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 028409/0881 →
Continuity (2)
Continuation 12240343 · Sep 29, 2008
Related Publication 20120259824A1 · Oct 11, 2012