Database table re-partitioning using trigger-based capture and replay

US10055440B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10055440-B2
Application numberUS-201414188543-A
CountryUS
Kind codeB2
Filing dateFeb 24, 2014
Priority dateFeb 24, 2014
Publication dateAug 21, 2018
Grant dateAug 21, 2018

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Partitioning of a source table of a database to a target table is initiated. Thereafter, a replay table is generated that is populated with triggers for database operations performed on the source table for subsequent replay for the target partitions. Data is later moved (e.g., asynchronously moved, etc.) from the source table to the target table. The database operations are replayed on the target table T subsequent to the moving of the data using the replay table. In addition, the source table is dropped when all of the data has been moved to the target table and there are no operations requiring replay. Related apparatus, systems, techniques and articles are also described.

First claim

Opening claim text (preview).

What is claimed is: 1. A method comprising: initiating a repartitioning of a source table of a database, the repartitioning comprising moving data from the source table to a target table; concurrently performing database operations on the source table and moving the data from the source table to the target table, the database operations modifying one or more rows in the source table; generating, based at least on the database operations performed on the source table, a replay table, the replay table storing, in response to triggers, one or more key values corresponding to the one or more rows in the source table that have been modified by the database operations, each of the one or more key values being associated with an insert operation or a delete operation, the replaying table comprising a key column for storing the one or more key values corresponding to the one or more rows in the source table that have been modified by the database operation, and the generation of the replay table comprising: responding to an update operation on a first row in the source table by storing, in the replay table, a corresponding insert operation and delete operation, the corresponding insert operation and delete operation being stored in the replay table instead of the update operation, and the storage of corresponding insert operation and delete operation comprising a first key value associated with an insert operation type indicator and a second key value associated with a delete operation type indicator, the first key value comprising the original key and/or a new key of the first row modified by the update operation, and the second key value comprising an original key of the first row modified by the update operation; replaying, on the target table, the database operations in the replay table, the database operations in the replay table including only insert operations and/or delete operations for inserting and/or deleting the one or more rows from the target table, the replaying of the database operations being performed subsequent to the moving of the data from the source table to the target table, the replaying of the database operations comprising performing an inner join of the replay table with the source table to at least retrieve, from the source table, the one or more rows in the source table that have been modified by the database operations; and dropping the source table when all of the data has been moved to the target table and there are no more database operations requiring replay. 2. The method as in claim 1 , wherein the generation of the replay table further comprises responding to an insert operation by storing, in the replay table, a third key value associated with the insert operation type indicator, and wherein the third key value is associated with a second row that is inserted into the source table by the insert operation. 3. The method as in claim 1 , wherein the generation of the replay table further comprises responding to a delete operation by storing, in the replay table, a third key value associated with the delete operation type indicator, and wherein the third key value is associated with a second row that is deleted from the source table by the delete operation. 4. The method as in claim 1 , further comprising: exclusively locking the source tables while replaying the database operations using the replay table. 5. The method as in claim 1 , further comprising: renaming a name of the target table to a name of the source table upon dropping the source table. 6. A non-transitory computer program product storing instructions which, when executed by at least one data processor forming part of at least one computing system, results in operations comprising: initiating a repartitioning of a source table of a database, the repartitioning comprising moving data from the source table to a target table; concurrently performing database operations on the source table and moving the data from the source table to the target table, the database operations modifying one or more rows in the source table; generating, based at least on the database operations performed on the source table, a replay table, the replay table storing, in response to triggers, one or more key values corresponding to the one or more rows in the source table that have been modified by the database operations, each of the one or more key values being associated with an insert operation or a delete operation, the replaying table comprising a key column for storing the one or more key values corresponding to the one or more rows in the source table that have been modified by the database operation, and the generation of the replay table comprising: responding to an update operation on a first row in the source table by storing, in the replay table, a corresponding insert operation and delete operation, the corresponding insert operation and delete operation being stored in the replay table instead of the update operation, and the storage of corresponding insert operation and delete operation comprising a first key value associated with an insert operation type indicator and a second key value associated with a delete operation type indicator, the first key value comprising the original key and/or a new key of the first row modified by the update operation, and the second key value comprising an original key of the first row modified by the update operation; replaying, on the target table, the database operations in the replay table, the database operations in the replay table including only insert operations and/or delete operations for inserting and/or deleting the one or more rows from the target table, the replaying of the database operations being performed subsequent to the moving of the data from the source table to the target table, the replaying of the database operations comprising performing an inner join of the replay table with the source table to at least retrieve, from the source table, the one or more rows in the source table that have been modified by the database operations; and dropping the source table when all of the data has been moved to the target table and there are no more database operations requiring replay. 7. The computer program product as in claim 6 , wherein the generation of the replay table further comprises responding to an insert operation by storing, in the replay table, a third key value associated with the insert operation type indicator, and wherein the third key value is associated with a second row that is inserted into the source table by the insert operation. 8. The computer program product as in claim 6 , wherein the generation of the replay table further comprises responding to a delete operation by storing, in the replay table, a third key value associated with the delete operation type indicator, and wherein the third key value is associated with a second row that is deleted from the source table by the delete operation. 9. The computer program product as in claim 6 , wherein the operations further comprise: exclusively locking the source tables while replaying the database operations using the replay table. 10. The computer program product as in claim 6 , wherein the operations further comprise: renaming a name of the target table to a name of the source table upon dropping the source table. 11. A system comprising: at least one data processor; and memory storing instructions which, when executed by the at least one data processor, results in operations comprising: initiating a repartitioning of a source table of a database, the repartitioning comprising moving data from the source table to a target table; concurrently performing database operations on the source ta

Assignees

Inventors

Classifications

  • Tablespace storage structures; Management thereof · CPC title

  • Physics · mapped topic

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US10055440B2 cover?
Partitioning of a source table of a database to a target table is initiated. Thereafter, a replay table is generated that is populated with triggers for database operations performed on the source table for subsequent replay for the target partitions. Data is later moved (e.g., asynchronously moved, etc.) from the source table to the target table. The database operations are replayed on the tar…
Who is the assignee on this patent?
Bensberg Christian, Faerber Franz, Fricke Lars, and 5 more
What technology area does this patent fall under?
Primary CPC classification G06F16/2282. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Aug 21 2018 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 4 related publications on this page (citations in our corpus or others sharing the same primary CPC).