Restoring database consistency integrity
US-2015254298-A1 · Sep 10, 2015 · US
US9779128B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-9779128-B2 |
| Application number | US-201414249558-A |
| Country | US |
| Kind code | B2 |
| Filing date | Apr 10, 2014 |
| Priority date | Apr 10, 2014 |
| Publication date | Oct 3, 2017 |
| Grant date | Oct 3, 2017 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
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.
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
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
Related publications grouped by family.
Answers are generated from the same data shown on this page.