Claims
- 1. A method for building one or more indexes on data concurrent with manipulation of data, said method comprising the steps of:
a. performing an index build operation without restricting the manipulation of data; and b. bringing said index to consistency with said data based upon processing recovery log records to simulate index manipulations during data operations.
- 2. A method as per claim 1, wherein said data operations comprise any of, or a combination of the following: insert, update, or delete.
- 3. A method as per claim 1 , wherein said step of performing an index build further comprises the steps of:
a. scanning data; b. extracting index keys from said scanned data; c. pairing said index keys with a record identifier; d. sorting said index keys and record identifiers; and e. building an indexed structure from said sorted index keys and record identifiers.
- 4. A method as per claim 3, wherein said step of bringing said index to consistency further comprises the steps of:
a. recording position of a recovery log in close proximity to said step of scanning data; b. reading recovery log from said recorded position to current position; and c. simulating index manipulations during data operations to bring consistency to said indexed structure.
- 5. A method as per claim 3, wherein said step of bringing said index to consistency further comprises the steps of:
a. recording position of a recovery log in close proximity to said step of scanning data; b. creating a pseudo log for every record inserted, updated, or deleted; and c. reading said pseudo log and simulating index manipulations during data operations to bring consistency to said indexed structure.
- 6. An article of manufacture comprising computer usable medium having a computer readable program code for building one or more indexes on data concurrent with manipulation of data, said medium comprising:
a. computer readable program code performing an index build operation without restricting the manipulation of data; and b. computer readable program code bringing said index to consistency with said data based upon processing recovery log records to simulate index manipulations during data insert, update, or delete operations.
- 7. A method for building indexes without restricting the manipulation of data, said method comprising the steps of:
a. pre-building a recovery log image; b. scanning data; c. extracting index keys from said scanned data; d. pairing said index keys with a record identifier; e. sorting said index keys and record identifiers; f. building an indexed structure from said sorted index keys and record identifiers; g. post-building a recovery log image; and h. comparing said pre-built and post-built recovery log images to simulate index manipulations during data operations to bring consistency to said indexed structure.
- 8. A method as per claim 7, wherein said data operations comprise any of, or a combination of the following: insert, update, or delete.
- 9. A method as per claim 7, wherein said data is data stored in a database.
- 10. An apparatus for building one or more indexes on data concurrent with the manipulations of said data, said apparatus comprising:
a. an index builder performing index build operations without restricting manipulations of data; and b. an index manipulations simulator bringing said index to consistency with said data based upon processing log records to simulate index manipulations during data operations.
- 11. An apparatus for building one or more indexed on data concurrent with manipulations of said data, as per claim 10, wherein said index builder further comprises:
a. a data scanner scanning data; b. an index key extractor extracting index keys from said scanned data; c. a paring element pairing said index keys with a record identifier; d. a sorter sorting said index keys and record identifiers; and e. an index structure builder building an indexed structure from said sorted index keys and record identifiers.
- 12. An apparatus for building one or more indexed on data concurrent with manipulations of said data, as per claim 10, wherein said index manipulations simulator brings said index to consistency by recording position of a recovery log, reading recovery log from said recorded position to a current position, and simulating index manipulations during data operations to bring said consistency to said data.
- 13. An apparatus for building one or more indexed on data concurrent with manipulations of said data, as per claim 10, wherein said data operations comprises any of, or a combination of the following: insert, update, or delete.
CROSS REFERENCE TO RELATED APPLICATIONS
[0001] This application is related to the application by Sockut et al. entitled “Interaction Between Application of a Log and Maintenance of a Table that Maps Records Identifiers During Online Reorganization of a Database”, now U.S. Pat. No. 6,026,412, which is hereby incorporated by reference in its entirety, including any appendices and references thereto. This application is related to the application by Blank et al. entitled “High Performance Recover/Build Index System by Unloading Database Files in Parallel”, now U.S. Pat. No. 5,842,208, which is hereby incorporated by reference in its entirety, including any appendices and references thereto.