IP Library Granted Patent US 11,151,161
Granted Patent B2
US 11,151,161 · App. 16/392,258 · Granted Oct 19, 2021

Data replication and data failover in database systems

Inventors: Benoit Dageville (Seattle, WA); Eric Robinson (Sammamish, WA); Martin Hentschel (Seattle, WA)
Assignee: Snowflake Inc.
G06F16/273G06F16/245H04L67/1097
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 11,151,161
App. No.
16/392,258
Granted
Oct 19, 2021
Kind
B2
Abstract

Replication and failover of database data is disclosed. A method includes replicating database data stored in a primary deployment such that the database data is further stored in a secondary deployment. The method includes executing one or more updates to the database data at the secondary deployment when the primary deployment is unavailable and propagating the one or more updates to the primary deployment when the primary deployment becomes available again. The method includes executing queries on the database data at the primary deployment when the primary deployment is available.

Claims (47)

1. A system comprising:

a cache memory to store database data; and

a processor, operatively coupled with the cache memory, to:

determine an inability of a primary deployment to access a micro-partition volume of a secondary deployment;

replicate, responsive to determining the inability of the primary deployment to access the micro-partition volume of the secondary deployment, the database data stored in a primary deployment to an inbound stage of the secondary deployment to cause the secondary deployment to replicate the database data stored in the inbound stage to the micro-partition volume of the secondary deployment;

determine that the primary deployment is unavailable; and

execute one or more transactions on the database data at the secondary deployment in response to determining that the primary deployment is unavailable.

2. A method, comprising:

determining an inability of a primary deployment to access a micro-partition volume of a secondary deployment;

replicating, responsive to determining the inability of the primary deployment to access the micro-partition volume of the secondary deployment, a database data stored in the primary deployment to an inbound stage of the secondary deployment to cause the secondary deployment to replicate the database data stored in the inbound stage to the micro-partition volume of the secondary deployment;

determining that the primary deployment is unavailable; and

executing one or more transactions on the database data at the secondary deployment in response to determining that the primary deployment is unavailable.

3. A non-transitory computer readable storage media comprising instructions that, when executed by a processor, cause the processor to:

determine an inability of a primary deployment to access a micro-partition volume of a secondary deployment;

replicate, responsive to determining the inability of the primary deployment to access the micro-partition volume of the secondary deployment, the database data stored in the primary deployment to an inbound stage of the secondary deployment to cause the secondary deployment to replicate the database data stored in the inbound stage to the micro-partition volume of the secondary deployment;

determine that the primary deployment is unavailable; and

execute one or more transactions on the database data at the secondary deployment in response to determining that the primary deployment is unavailable.

4. The system of claim 1 , wherein the processor is further to:

determine that that the primary deployment is no longer unavailable;

propagate the one or more transactions on the database data to the primary deployment in response to determining that the primary deployment is no longer unavailable; and

execute queries on the database data at the primary deployment.

5. The system of claim 1 , wherein to determine that the primary deployment is unavailable, the processor to determine that a power outage has occurred at the primary deployment.

6. The system of claim 1 , wherein to determine that the primary deployment is unavailable, the processor to determine that an error resulting in improper modification or deletion of the database data at the primary deployment has occurred.

7. The system of claim 1 , wherein to determine that the primary deployment is unavailable, the processor to determine that a data center outage has occurred at the primary deployment.

8. The system of claim 1 , wherein to determine that the primary deployment is unavailable, the processor to determine that a cloud provider of the primary deployment has experienced an outage.

9. The system of claim 1 , wherein to determine that the primary deployment is unavailable, the processor to determine that an error has occurred at the primary deployment.

10. The system of claim 1 , wherein to determine that the primary deployment is unavailable, the processor to determine that the primary deployment is undergoing scheduled downtime.

11. The method of claim 2 , further comprising:

determining that that the primary deployment is no longer unavailable;

propagating the one or more transactions on the database data to the primary deployment in response to determining that the primary deployment is no longer unavailable; and

executing queries on the database data at the primary deployment.

12. The method of claim 2 , wherein determining that the primary deployment is unavailable comprising determining that a power outage has occurred at the primary deployment.

13. The method of claim 2 , wherein determining that the primary deployment is unavailable comprising determining that an error resulting in improper modification or deletion of the database data at the primary deployment has occurred.

14. The method of claim 2 , wherein determining that the primary deployment is unavailable comprising determining that a data center outage has occurred at the primary deployment.

15. The method of claim 2 , wherein determining that the primary deployment is unavailable comprising determining that a cloud provider of the primary deployment has experienced an outage.

16. The method of claim 2 , wherein determining that the primary deployment is unavailable comprising determining that an error has occurred at the primary deployment.

17. The method of claim 2 , wherein determining that the primary deployment is unavailable comprising determining that the primary deployment is undergoing scheduled downtime.

18. The non-transitory computer readable storage media of claim 3 , wherein the processor further to:

determine that that the primary deployment is no longer unavailable;

propagate the one or more transactions on the database data to the primary deployment in response to determining that the primary deployment is no longer unavailable; and

execute queries on the database data at the primary deployment.

19. The non-transitory computer readable storage media of claim 3 , wherein to determine that the primary deployment is unavailable, the processor to determine that a power outage has occurred at the primary deployment.

20. The non-transitory computer readable storage media of claim 3 , wherein to determine that the primary deployment is unavailable, the processor to determine that an error resulting in improper modification or deletion of the database data at the primary deployment has occurred.

21. The non-transitory computer readable storage media of claim 3 , wherein to determine that the primary deployment is unavailable, the processor to determine that a data center outage has occurred at the primary deployment.

22. The non-transitory computer readable storage media of claim 3 , wherein to determine that the primary deployment is unavailable, the processor to determine that a cloud provider of the primary deployment has experienced an outage.

23. The non-transitory computer readable storage media of claim 3 , wherein to determine that the primary deployment is unavailable, the processor to determine that an error has occurred at the primary deployment.

24. The non-transitory computer readable storage media of claim 3 , wherein to determine that the primary deployment is unavailable, the processor to determine that the primary deployment is undergoing scheduled downtime.

Assignments (2)
CHANGE OF NAME Recorded May 17, 2019
From: SNOWFLAKE COMPUTING INC.
To: SNOWFLAKE INC.
Reel/Frame 049219/0792 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 23, 2019
From: DAGEVILLE, BENOIT; ROBINSON, ERIC; HENTSCHEL, MARTIN
To: SNOWFLAKE COMPUTING INC.
Reel/Frame 048974/0045 →
Continuity (2)
Provisional Application 62694656 · Jul 6, 2018
Related Publication 20200012659A1 · Jan 9, 2020
Cited By (1)
US 12,248,816