Claims
- 1. A computer-implemented method of providing in-place reorganization of a database to achieve reasonably accurate results for user transactions during high-throughput concurrent usage of the database, comprising:
(a) tracking, in the computer, the reorganization's movement of records across a user transaction's position within a scan of the database; and (b) correcting, in the computer, a behavior of the user transaction to account for the movement of the records.
- 2. The method of claim 1, wherein the reorganization clusters data.
- 3. The method of claim 1, wherein the reorganization provides online restoration of clustering.
- 4. The method of claim 1, wherein the reorganization distributes free space evenly.
- 5. The method of claim 1, wherein the reorganization removes overflow.
- 6. The method of claim 1, wherein the reorganization is performed concurrently with a plurality of concurrent user transactions.
- 7. The method of claim 6, wherein the concurrent user transactions are allowed to use different types of access to the database.
- 8. The method of claim 1, wherein the reorganization allows repeatable read for the user transaction.
- 9. The method of claim 1, wherein the reorganization does not require repeatable read but does allow cursor stability for the user transaction.
- 10. The method of claim 1, wherein the tracking step comprises maintaining, for each user transaction, at least one movement list to track the reorganization's movement of records that the user transaction might access.
- 11. The method of claim 10, wherein the tracking step comprises concurrently maintaining different types of movement lists appropriate for different types of access by different user transactions.
- 12. The method of claim 10, wherein a type of access determines a type of movement list used in the reorganization.
- 13. The method of claim 10, wherein the movement list comprises at least one of the lists in a group comprising a forward ordered list, backward ordered list, and differential lists.
- 14. The method of claim 13, wherein the forward ordered list tracks records that the reorganization moves forward.
- 15. The method of claim 13, wherein the forward ordered list tracks records that the user transaction has already processed.
- 16. The method of claim 13, further comprising omitting redundant processing of records that appear in the forward ordered list.
- 17. The method of claim 13, wherein the backward ordered list tracks records that the reorganization moves backward.
- 18. The method of claim 13, wherein the backward ordered list tracks records that the user transaction has not yet processed.
- 19. The method of claim 13, further comprising processing records that appear on the backward ordered list.
- 20. The method of claim 13, wherein the differential list tracks records that the reorganization moves forward, backward, or behind the user transaction.
- 21. The method of claim 13, further comprising applying a differential list to a list of records maintained by the user transaction to correct the list of records.
- 22. The method of claim 21, wherein the list of records is derived from an index.
- 23. The method of claim 21, further comprising correcting the list of records by inserting new entries of the list into the differential list and by deleting old entries of the list from the differential list.
- 24. The method of claim 13, further comprising modifying the differential list when the reorganization moves a record.
- 25. The method of claim 13, further comprising maintaining both a recent differential list and a composite differential list.
- 26. A computer-implemented system for providing in-place reorganization of a database to achieve reasonably accurate results for user transactions during high-throughput concurrent usage of the database, comprising:
(a) a computer; (b) means, performed by the computer, for tracking a reorganization's movement of records across a user transaction's position within a scan of the database; and (c) means, performed by the computer, for correcting a behavior of the user transaction to account for the movement of the records.
- 27. The system of claim 26, wherein the reorganization clusters data.
- 28. The system of claim 26, wherein the reorganization provides online restoration of clustering.
- 29. The system of claim 26, wherein the reorganization distributes free space evenly.
- 30. The system of claim 26, wherein the reorganization removes overflow.
- 31. The system of claim 26, wherein the reorganization is performed concurrently with a plurality of concurrent user transactions.
- 32. The system of claim 31, wherein the concurrent user transactions ate allowed to use different types of access to the database.
- 33. The system of claim 26, wherein the reorganization allows repeatable read for the user transaction.
- 34. The system of claim 26, wherein the reorganization does not require repeatable read but does allow cursor stability for the user transaction.
- 35. The system of claim 26, wherein the means for tracking comprises means for maintaining, for each user transaction, at least one movement list to track the reorganization's movement of records that the user transaction might access.
- 36. The system of claim 35, wherein the means for tracking comprises means for concurrently maintaining different types of movement lists appropriate for different types of access by different user transactions.
- 37. The system of claim 35, wherein a type of access determines a type of movement list used in the reorganization.
- 38. The system of claim 35, wherein the movement list comprises at least one of the lists in a group comprising a forward ordered list, backward ordered list, and differential lists.
- 39. The system of claim 38, wherein the forward ordered list tracks records that the reorganization moves forward.
- 40. The system of claim 38, wherein the forward ordered list tracks records that the user transaction has already processed.
- 41. The system of claim 38, further comprising means for omitting redundant processing of records that appear in the forward ordered list.
- 42. The system of claim 38, wherein the backward ordered list tracks records that the reorganization moves backward.
- 43. The system of claim 38, wherein the backward ordered list tracks records that the user transaction has not yet processed.
- 44. The system of claim 38, further comprising means for processing records that appear on the backward ordered list.
- 45. The system of claim 38, wherein the differential list tracks records that the reorganization moves forward, backward, or behind the user transaction.
- 46. The system of claim 38, further comprising means for applying a differential list to a list of records maintained by the user transaction to correct the list of records.
- 47. The system of claim 46, wherein the list of records is derived from an index.
- 48. The system of claim 46, further comprising means for correcting the list of records by inserting new entries of the list into the differential list and by deleting old entries of the list from the differential list.
- 49. The system of claim 38, further comprising means for modifying the differential list when the reorganization moves a record.
- 50. The system of claim 38, further comprising means for maintaining both a recent differential list and a composite differential list.
- 51. An article of manufacture embodying logic for a computer-implemented method of providing in-place reorganization of a database to achieve reasonably accurate results for user transactions during high-throughput concurrent usage of the database, comprising:
(a) tracking the reorganization's movement of records across a user transaction's position within a scan of the database; and (b) correcting a behavior of the user transaction to account for the movement of the records.
- 52. The method of claim 51, wherein the reorganization clusters data.
- 53. The method of claim 51, wherein the reorganization provides online restoration of clustering.
- 54. The method of claim 51, wherein the reorganization distributes free space evenly.
- 55. The method of claim 51, wherein the reorganization removes overflow.
- 56. The method of claim 51, wherein the reorganization is performed concurrently with a plurality of concurrent user transactions.
- 57. The method of claim 56, wherein the concurrent user transactions are allowed to use different types of access to the database.
- 58. The method of claim 51, wherein the reorganization allows repeatable read for the user transaction.
- 59. The method of claim 51, wherein the reorganization does not require repeatable read but does allow cursor stability for the user transaction.
- 60. The method of claim 51, wherein the tracking step comprises maintaining, for each user transaction, at least one movement list to track the reorganization's movement of records that the user transaction might access.
- 61. The method of claim 60, wherein the tracking step comprises concurrently maintaining different types of movement lists appropriate for different types of access by different user transactions.
- 62. The method of claim 60, wherein a type of access determines a type of movement list used in the reorganization.
- 63. The method of claim 60, wherein the movement list comprises at least one of the lists in a group comprising a forward ordered list, backward ordered list, and differential lists.
- 64. The method of claim 63, wherein the forward ordered list tracks records that the reorganization moves forward.
- 65. The method of claim 63, wherein the forward ordered list tracks records that the user transaction has already processed.
- 66. The method of claim 63, further comprising omitting redundant processing of records that appear in the forward ordered list.
- 67. The method of claim 63, wherein the backward ordered list tracks records that the reorganization moves backward.
- 68. The method of claim 63, wherein the backward ordered list tracks records that the user transaction has not yet processed.
- 69. The method of claim 63, further comprising processing records that appear on the backward ordered list.
- 70. The method of claim 63, wherein the differential list tracks records that the reorganization moves forward, backward, or behind the user transaction.
- 71. The method of claim 63, further comprising applying a differential list to a list of records maintained by the user transaction to correct the list of records.
- 72. The method of claim 71, wherein the list of records is derived from an index.
- 73. The method of claim 71, further comprising correcting the list of records by inserting new entries of the list into the differential list and by deleting old entries of the list from the differential list.
- 74. The method of claim 63, further comprising modifying the differential list when the reorganization moves a record.
- 75. The method of claim 63, further comprising maintaining both a recent differential list and a composite differential list.
CROSS-REFERENCE TO RELATED APPLICATION
[0001] This application is a Continuation of application Ser. No. 09/220,084, filed Dec. 23, 1998, entitled “METHODS FOR IN-PLACE ONLINE REORGANIZATION OF A DATABASE,” which application is incorporated herein by reference.
Continuations (1)
|
Number |
Date |
Country |
Parent |
09220084 |
Dec 1998 |
US |
Child |
10151393 |
May 2002 |
US |