IP Library Granted Patent US 10,705,926
Granted Patent B2
US 10,705,926 · App. 15/663,971 · Granted Jul 7, 2020

Data protection and recovery across relational and non-relational databases

Inventors: Tarun Thakur (Fremont, CA); Prasenjit Sarkar (Los Gatos, CA); Pin Zhou (San Jose, CA)
Assignee: RUBRIK, INC.
G06F11/1469G06F11/1451G06F16/284G06F16/25G06F2201/80G06F2201/835
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,705,926
App. No.
15/663,971
Granted
Jul 7, 2020
Kind
B2
Abstract

Embodiments disclosed herein provide systems, methods, and computer readable media for recovering data across relational and non-relational databases. In a particular embodiment, a method includes identifying first data having a first version time in a first version store storing data versions from a relational database. Based on the first version time, the method provides identifying second data, associated with the first data, in a second version store storing data versions from a non-relational database. The method further provides recovering the first data to the relational database and the second data to the non-relational database.

Claims (57)

1. A method for recovering data across relational and non-relational databases, the method comprising:

detecting a data corruption occurred before a transaction;

identifying, using a transaction identifier, a first data version in a first version store storing relational data versions from a relational database, wherein the transaction identifier includes a timestamp of a transaction, wherein the first data version is a most recent relational data version created before a time of the transaction;

identifying, using the timestamp, a second data version, associated with the first data version, in a second version store storing non-relational data versions from a non-relational database, wherein respective data protection schemes used on each type of data in the relational and non-relational databases run independently of one another, wherein the first data version and the second data version are created at the same time, wherein the second data version is a most recent non-relational data version created before the time of the transaction;

restoring the first data version to the relational database; and

restoring the second data version to the non-relational database.

2. The method of claim 1 , wherein a first relational data version comprises the first data version and wherein a first non-relational data version comprises the second data version.

3. The method of claim 2 , wherein identifying the second data version comprises:

identifying the first non-relational data version from among the non-relational data versions based on the first non-relational data version having been created at the first version time.

4. The method of claim 2 , wherein recovering the first data version to the relational database and the second data version to the non-relational database comprises:

restoring the relational database to the first relational data version; and

restoring the non-relational database to the first non-relational data version.

5. The method of claim 4 , wherein:

restoring the relational database to the first relational data version comprises instructing a relational versioning system to restore the relational database to the first relational data version; and

restoring the non-relational database to the first non-relational data version comprises instructing a non-relational versioning system to restore the non-relational database to the first non-relational data version.

6. The method of claim 2 , further comprising:

at the first version time, creating both the first relational data version and the first non-relational data version.

7. The method of claim 6 , wherein creating both the first relational data version and the first non-relational data version comprises:

instructing a relational versioning system to create and store the first relational data version in the first version store; and

instructing a non-relational versioning system to create and store the first non-relational data version in the second version store.

8. The method of claim 1 , further comprising:

identifying a timestamp associated with one or more data entries stored in the relational database; and

identifying the first version time corresponding to the timestamp.

9. The method of claim 8 , wherein the one or more data entries comprise a transaction.

10. A system for recovering data across relational and non-relational databases, the system comprising:

one or more computer readable storage media;

a processing system operatively coupled with the one or more computer readable storage media; and

program instructions stored on the one or more computer readable storage media that, when read and executed by the processing system, direct the processing system to:

detecting, a data corruption occurred before a transaction;

identifying, using a transaction identifier, a first data version in a first version store storing relational data versions from a relational database, wherein the transaction identifier includes a timestamp of a transaction, wherein the first data version is a most recent relational data version created before a time of the transaction;

identifying, using the timestamp, a second data version, associated with the first data version, in a second version store storing non-relational data versions from a non-relational database, wherein respective data protection schemes used on each type of data in the relational and non-relational databases run independently of one another, wherein the first data version and the second data version are created at the same time, wherein the second data version is a most recent non-relational data version created before the time of the transaction;

restoring the first data version to the relational database; and

restoring the second data version to the non-relational database.

11. The system of claim 10 , wherein a first relational data version comprises the first data version and wherein a first non-relational data version comprises the second data version.

12. The system of claim 11 , wherein to identify the second data version, the program instructions direct the processing system to:

identify the first non-relational data version from among the non-relational data versions based on the first non-relational data version having been created at the first version time.

13. The system of claim 11 , wherein recovering the first data version to the relational database and the second data version to the non-relational database, the program instructions direct the processing system to:

restore the relational database to the first relational data version; and

restore the non-relational database to the first non-relational data version.

14. The system of claim 13 , wherein:

to restore the relational database to the first relational data version, the program instructions direct the processing system to instruct a relational versioning system to restore the relational database to the first relational data version; and

to restore the non-relational database to the first non-relational data version, the program instructions direct the processing system to instruct a non-relational versioning system to restore the non-relational database to the first non-relational data version.

15. The system of claim 11 , wherein the program instructions further direct the processing system to:

at the first version time, create both the first relational data version and the first non-relational data version.

16. The system of claim 15 , wherein to create both the first relational data version and the first non-relational data version, the program instructions direct the processing system to:

instruct a relational versioning system to create and store the first relational data version in the first version store; and

instruct a non-relational versioning system to create and store the first non-relational data version in the second version store.

17. The system of claim 10 , wherein the program instructions further direct the processing system to:

identify a timestamp associated with one or more data entries stored in the relational database; and

identify the first version time corresponding to the timestamp.

18. The system of claim 17 , wherein the one or more data entries comprise a transaction.

19. A machine readable medium comprising instructions which, when read by a machine, because the machine to perform operations comprising, at least:

detecting, a data corruption occurred before a transaction;

identifying, using a transaction identifier, a first data version in a first version store storing relational data versions from a relational database, wherein the transaction identifier includes a timestamp of a transaction, wherein the first data version is a most recent relational data version created before a time of the transaction;

based identifying, using the timestamp, a second data version, associated with the first data version, in a second version store storing non-relational data versions from a non-relational database, wherein respective data protection schemes used on each type of data in the relational and non-relational databases run independently of one another, wherein the first data version and the second data version are created at the same time, wherein the second data version is a most recent non-relational data version created before the time of the transaction;

restoring the first data version to the relational database; and

restoring the second data version to the non-relational database.

Assignments (4)
RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL AT REEL/FRAME NO. 60333/0323 Recorded Jun 13, 2025
From: GOLDMAN SACHS BDC, INC., AS COLLATERAL AGENT
To: RUBRIK, INC.
Reel/Frame 071565/0602 →
GRANT OF SECURITY INTEREST IN PATENT RIGHTS Recorded Jun 10, 2022
From: RUBRIK, INC.
To: GOLDMAN SACHS BDC, INC., AS COLLATERAL AGENT
Reel/Frame 060333/0323 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 23, 2018
From: DATOS IO INC.
To: RUBRIK, INC.
Reel/Frame 045609/0336 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 31, 2017
From: THAKUR, TARUN; SARKAR, PRASENJIT; ZHOU, PIN
To: DATOS IO INC.
Reel/Frame 043142/0257 →
Continuity (2)
Provisional Application 62368592 · Jul 29, 2016
Related Publication 20180032411A1 · Feb 1, 2018
Cited By (1)
US 12,223,500