Maintaining index data in a database

التفاصيل البيبلوغرافية
العنوان: Maintaining index data in a database
Patent Number: 9,892,142
تاريخ النشر: February 13, 2018
Appl. No: 13/527871
Application Filed: June 20, 2012
مستخلص: 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.
Inventors: Zagelow, Margaret (Morgan Hill, CA, US); Cotner, Curt L. (Gilroy, CA, US); McPherson, Jr., John A. (San Jose, CA, US); Kempfert, Claus (Altdorf, DE)
Assignees: INTERNATIONAL BUSINESS MACHINES CORPORATION (Armonk, NY, US)
Claim: 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.
Claim: 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.
Claim: 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.
Claim: 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.
Claim: 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.
Claim: 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.
Claim: 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.
Claim: 8. The method of claim 5 , wherein the triggering event comprises a synchronous time update cycle or an asynchronous update signal.
Claim: 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.
Claim: 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.
Claim: 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.
Claim: 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.
Claim: 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.
Claim: 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.
Claim: 15. The method of claim 12 , wherein the triggering event is based on a synchronous time update cycle or an asynchronous update signal.
Claim: 16. The method of claim 12 , wherein the first data update information is communicated to the first index manager and the second index manager.
Claim: 17. The method of claim 16 , wherein the update of the index table is based on the first data update information.
Patent References Cited: 5832484 November 1998 Sankaran et al.
5937414 August 1999 Souder et al.
6047291 April 2000 Anderson et al.
6182090 January 2001 Peairs
6338056 January 2002 Dessloch et al.
6691123 February 2004 Gulliksen
7028022 April 2006 Lightstone et al.
7133868 November 2006 Ruest et al.
7272589 September 2007 Guay et al.
7308456 December 2007 Friske et al.
7657576 February 2010 Norcott
7702614 April 2010 Shah
7720884 May 2010 Gandhi
7756873 July 2010 Gould et al.
7761418 July 2010 Brown et al.
8161051 April 2012 Kaku et al.
2003/0046309 March 2003 McGrath
2003/0105858 June 2003 Hogg et al.
2003/0182319 September 2003 Morrison
2004/0049537 March 2004 Titmuss
2004/0133562 July 2004 Toong et al.
2004/0215600 October 2004 Aridor
2004/0230571 November 2004 Robertson
2005/0108189 May 2005 Samsonov
2005/0228728 October 2005 Stromquist
2006/0015490 January 2006 Denuit et al.
2006/0074965 April 2006 Cunningham et al.
2006/0129618 June 2006 Maier
2006/0149767 July 2006 Kindsvogel et al.
2006/0178895 August 2006 Djellal et al.
2006/0206543 September 2006 Nishino
2007/0179995 August 2007 Prahlad
2007/0192372 August 2007 Bestgen et al.
2007/0206585 September 2007 Lee
2007/0283291 December 2007 Morris
2008/0059495 March 2008 Kiessig et al.
2008/0065707 March 2008 Iwasaki
2008/0086449 April 2008 Matsuzawa
2009/0074300 March 2009 Hull
2009/0210429 August 2009 Agrawal
2010/0005151 January 2010 Gokhale
2010/0042641 February 2010 Kamalakantha
Other References: Deelman, Ewa et al., “A Metadata Catalog Service for Data Intensive Applications,” The Globus Project, www.globus.org, Information Sciences Institute, University of Southern California, 2003; 33 pages. cited by applicant
Assistant Examiner: Le, Jessica N
Primary Examiner: Park, Grace
Attorney, Agent or Firm: Toler Law Group, PC
رقم الانضمام: edspgr.09892142
قاعدة البيانات: USPTO Patent Grants