System and method for massively parallel processing database

US9779128B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9779128-B2
Application numberUS-201414249558-A
CountryUS
Kind codeB2
Filing dateApr 10, 2014
Priority dateApr 10, 2014
Publication dateOct 3, 2017
Grant dateOct 3, 2017

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.

In one embodiment, a method of performing point-in-time recovery (PITR) in a massively parallel processing (MPP) database includes receiving, by a data node from a coordinator, a PITR recovery request and reading a log record of the MPP database. The method also includes determining a type of the log record and updating a transaction table when the type of the log record is an abort transaction or a commit transaction.

First claim

Opening claim text (preview).

What is claimed is: 1. A method of performing point-in-time recovery (PITR) in a massively parallel processing (MPP) database, the method comprising: receiving, by a data node of the MPP database from a coordinator of the MPP database, a PITR recovery request; reading, by the data node from first storage, a log record of the MPP database, wherein the log record comprises a global timestamp; determining, by the data node, that a transaction type of the log record is an abort transaction or a commit transaction; determining, by the data node, that a target type of the PITR request is a target time or a transaction type; updating, by the data node, a transaction table in local storage of the data node based on the transaction type of the log record being an abort transaction or a commit transaction, based on the global timestamp, and based on the target type; and performing, by the data node, a transaction in accordance with the updated transaction table stored in the local storage of the data node. 2. The method of claim 1 , further comprising: receiving, by the data node from the coordinator, a second PITR recovery request; reading a second log record of the MPP database; determining that a second transaction type of the second log record is not the abort transaction or the commit transaction; and replaying the second log record based on determining that the second transaction type of the second log record is not the abort transaction or the commit transaction. 3. The method of claim 1 , wherein, based on determining that the target type of the PITR recovery request is the target time, updating the transaction table further comprises: determining that the transaction type of the log record is the commit transaction; determining that the global timestamp of the log record is before the target time, after determining that the transaction type of the log record is the commit transaction; and setting a transaction state of the transaction table to commit based on determining that the global timestamp of the log record is before the target time. 4. The method of claim 1 , wherein, based on determining that the target type of the PITR recovery request is the transaction type, updating the transaction table further comprises: determining that a transaction identifier (ID) of the target is a transaction ID of the log record; and updating the transaction table in accordance with the transaction ID of the target based on determining that the transaction ID of the target is the transaction ID of the log record. 5. The method of claim 4 , wherein updating the transaction table in accordance with the transaction ID of the target comprises: setting a timestamp of the transaction table to a commit timestamp; setting a transaction state of the transaction table to commit; and setting the transaction state of the transaction table to abort based on determining that the timestamp of the transaction table is before the target time. 6. The method of claim 1 , further comprising: receiving, by the data node from the coordinator, a begin transaction message comprising a global transaction identification number (GXID) and a reader timestamp; entering the GXID and the reader timestamp in a transaction table to produce a transaction entry; performing a transaction in accordance with the begin transaction message producing transaction results; and transmitting, by the data node to the coordinator, the transaction results. 7. The method of claim 6 , further comprising: receiving, by the data node from the coordinator, a commit message comprising a commit timestamp; replacing the reader timestamp in the transaction entry with the commit timestamp; storing the commit timestamp in the log record; and transmitting, by the data node to the coordinator, a commit response. 8. The method of claim 6 , further comprising: receiving, by the data node from the coordinator, a prepare commit message; and transmitting, by the data node to the coordinator, a prepare response. 9. The method of claim 6 , further comprising: receiving, by the data node from the coordinator, an abort message comprising an abort timestamp; replacing the reader timestamp in the transaction entry with the abort timestamp; storing the abort timestamp in the log record; and transmitting, by the data node to the coordinator, an abort response. 10. The method of claim 1 , wherein, based on determining that the target type of the PITR recovery request is the target time, updating the transaction table further comprises: determining that the transaction type of the log record is the abort transaction; and setting a state of the transaction table to transaction abort based on determining that the log record is the abort transaction. 11. The method of claim 1 , wherein, based on determining that the target type of the PITR recovery request is the target time, updating the transaction table further comprises: determining that the transaction type of the log record is the commit transaction; determining that the global timestamp of the log record is not before the target time, after determining that the transaction type of the log record is the commit transaction; and setting a state of the transaction table to transaction abort based on determining that the log record is the abort transaction. 12. The method of claim 1 , wherein, based on determining that the target type of the PITR recovery request is the transaction type, updating the transaction table further comprises: determining that a transaction identifier (ID) of the target is not a transaction ID of the log record; and setting a timestamp of the transaction table in accordance with the log record based on determining that the transaction ID of the target is not the transaction ID of the log record. 13. The method of claim 1 , wherein the transaction table comprises a transaction identifier, a transaction type, and a timestamp. 14. A data node of a massively parallel processing (MPP) database, the data node comprising: a local storage; a memory storage comprising instructions; and one or more processors in communication with the memory, wherein the one or more processors execute the instructions to: receive, from a coordinator of the MPP database, a point-in-time recovery (PITR) recovery request; read, from first storage, a log record of the MPP database, wherein the log record comprises a global timestamp; determine that a transaction type of the log record is an abort transaction or a commit transaction; determine that a target type of the PITR is a target time or a transaction type; update a transaction table in the local storage of the data node, based on the transaction type of the log record being an abort transaction or a commit transaction, based on the global timestamp, and based on the target type; and perform a transaction in accordance with the updated transaction table stored in the local storage of the data node. 15. The data node of claim 14 , wherein the one or more processors execute the instructions to replay the log record when the transaction type of the log record is not the abort transaction or the commit transaction. 16. The data node of claim 14 , wherein, when the target type of the PITR recovery request is the target time, the one or more processor execute the instructions to: determine whether the transaction type of the log record is the commit transaction or the abort transaction; determine whether the global timestamp of the log record is before the target time when the transaction type o

Assignees

Inventors

Classifications

  • of parallel queries · CPC title

  • Timestamp · CPC title

  • in transactions (updating of structured data in databases G06F16/23) · CPC title

  • Updates performed during online database operations; commit processing · CPC title

  • by selection of backup contents · CPC title

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 US9779128B2 cover?
In one embodiment, a method of performing point-in-time recovery (PITR) in a massively parallel processing (MPP) database includes receiving, by a data node from a coordinator, a PITR recovery request and reading a log record of the MPP database. The method also includes determining a type of the log record and updating a transaction table when the type of the log record is an abort transaction…
Who is the assignee on this patent?
Futurewei Technologies Inc
What technology area does this patent fall under?
Primary CPC classification G06F16/2379. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Oct 03 2017 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 2 related publications on this page (citations in our corpus or others sharing the same primary CPC).