Database table re-partitioning using two active partition specifications

US10042910B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10042910-B2
Application numberUS-201414188541-A
CountryUS
Kind codeB2
Filing dateFeb 24, 2014
Priority dateFeb 24, 2014
Publication dateAug 7, 2018
Grant dateAug 7, 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 source partitions of a table of a database to target partitions is initiated. Thereafter, a transition partition specification is specified that identifies the source partitions and the target partitions. Data is then moved (e.g., asynchronously moved, etc.) from the source partitions to the target partitions. Concurrently with the moving of the data, operates are handled using the transition partition specification. Subsequently, the source partitions are dropped when all of the data has been moved to the target partitions and there are no open transactions accessing the source partitions. Related apparatus, systems, techniques and articles are also described.

First claim

Opening claim text (preview).

What is claimed is: 1. A computer-implemented method, comprising: initiating a repartitioning of a table of a database, the table being repartitioned from source partitions to target partitions; specifying a transition partition specification identifying the source partitions and the target partitions; receiving, from a client, an operation with respect to the table; and concurrently executing the operation and moving data from the source partitions to the target partitions, the moving of the data being based at least on the transition partition specification, the data being moved on a row level by at least starting a data move transaction as a part of a background job, selecting data from a source partition, inserting the selected data into a target partition using an insert stack forming part of the database, deleting the selected data from the source partition, and committing the data move transaction, the operation being executed concurrently with the moving of the data by at least: in response to the operation deleting at least one row of data from the table, executing the operation by at least deleting the at least one row of data from both the source partitions and the target partitions; in response to the operation updating the at least one row of data from the table, executing the operation by at least: deleting the at least one row of data from both the source partitions and the target partitions; and inserting at least one updated row of data into the target partitions but not the source partitions; and in response to the operation inserting the at least one row of data into the table, executing the operation by at least inserting the at least one row of data into the target partitions but not the source partitions; dropping the source partitions when all of the data has been moved to the target partitions and there are no open transactions accessing the source partitions; and exclusively locking the table and updating the transition partition specification to reflect the data as having been moved to the target partitions. 2. The method as in claim 1 , wherein the data is moved on a column level. 3. The method as in claim 2 , wherein the data is moved on the column level using a remote agent. 4. The method as in claim 1 , wherein the database is an in-memory column-oriented database. 5. A non-transitory computer program product storing instructions which, when implemented by at least one data processor forming part of at least one computing system, result in operations comprising: initiating a repartitioning of a table of a database, the table being repartitioned from source partitions to target partitions; specifying a transition partition specification identifying the source partitions and the target partitions; receiving, from a client, an operation with respect to the table; and concurrently executing the operation and moving data from the source partitions to the target partitions, the moving of the data being based at least on the transition partition specification, the data being moved on a row level by at least starting a data move transaction as a part of a background job, selecting data from a source partition, inserting the selected data into a target partition using an insert stack forming part of the database, deleting the selected data from the source partition, and committing the data move transaction, the operation being executed concurrently with the moving of the data by at least: in response to the operation deleting at least one row of data from the table, executing the operation by at least deleting the at least one row of data from both the source partitions and the target partitions; in response to the operation updating the at least one row of data from the table, executing the operation by at least: deleting the at least one row of data from both the source partitions and the target partitions; and inserting at least one updated row of data into the target partitions but not the source partitions; and in response to the operation inserting the at least one row of data into the table, executing the operation by at least inserting the at least one row of data into the target partitions but not the source partitions; dropping the source partitions when all of the data has been moved to the target partitions and there are no open transactions accessing the source partitions; and exclusively locking the table and updating the transition partition specification to reflect the data as having been moved to the target partitions. 6. The computer program product as in claim 5 , wherein the data is moved on a column level. 7. The computer program product as in claim 6 , wherein the data is moved on the column level using a remote agent. 8. The computer program product as in claim 5 , wherein the database is an in-memory column-oriented database. 9. A system comprising: at least one data processor; and memory storing instructions which, when implemented by the at least one data processor, result in operations comprising: initiating a repartitioning of a table of a database, the table being repartitioned from source partitions to target partitions; specifying a transition partition specification identifying the source partitions and the target partitions; receiving, from a client, an operation with respect to the table; and concurrently executing the operation and moving data from the source partitions to the target partitions, the moving of the data being based at least on the transition partition specification, the data being moved on a row level by at least starting a data move transaction as a part of a background job, selecting data from a source partition, inserting the selected data into a target partition using an insert stack forming part of the database, deleting the selected data from the source partition, and committing the data move transaction, the operation being executed concurrently with the moving of the data by at least: in response to the operation deleting at least one row of data from the table, executing the operation by at least deleting the at least one row of data from both the source partitions and the target partitions; in response to the operation updating the at least one row of data from the table, executing the operation by at least: deleting the at least one row of data from both the source partitions and the target partitions; and inserting at least one updated row of data into the target partitions but not the source partitions; and in response to the operation inserting the at least one row of data into the table, executing the operation by at least inserting the at least one row of data into the target partitions but not the source partitions; dropping the source partitions when all of the data has been moved to the target partitions and there are no open transactions accessing the source partitions; and exclusively locking the table and updating the transition partition specification to reflect the data as having been moved to the target partitions. 10. The system as in claim 9 , wherein the data is moved on a column level using a remote agent. 11. The system as in claim 9 , wherein the database is an in-memory column-oriented database.

Assignees

Inventors

Classifications

  • Asynchronous replication or reconciliation · CPC title

  • G06F16/278Primary

    Data partitioning, e.g. horizontal or vertical partitioning · CPC title

  • Physics · mapped topic

  • 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 US10042910B2 cover?
Partitioning of source partitions of a table of a database to target partitions is initiated. Thereafter, a transition partition specification is specified that identifies the source partitions and the target partitions. Data is then moved (e.g., asynchronously moved, etc.) from the source partitions to the target partitions. Concurrently with the moving of the data, operates are handled using …
Who is the assignee on this patent?
Bensberg Christian, Fricke Lars, Lee Juchang, and 4 more
What technology area does this patent fall under?
Primary CPC classification G06F16/278. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Aug 07 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 3 related publications on this page (citations in our corpus or others sharing the same primary CPC).