US 12,105,734 B2
Data replication and data failover in database systems
Benoit Dageville, Seattle, WA (US); Eric Robinson, Sammamish, WA (US); and Martin Hentschel, Seattle, WA (US)
Assigned to Snowflake Inc., Bozeman, MT (US)
Filed by Snowflake Inc., San Mateo, CA (US)
Filed on Dec. 2, 2019, as Appl. No. 16/700,958.
Application 16/700,958 is a continuation of application No. 16/392,258, filed on Apr. 23, 2019, granted, now 11,151,161.
Claims priority of provisional application 62/694,656, filed on Jul. 6, 2018.
Prior Publication US 2020/0104310 A1, Apr. 2, 2020
This patent is subject to a terminal disclaimer.
Int. Cl. G06F 16/245 (2019.01); G06F 16/27 (2019.01); H04L 67/1097 (2022.01)
CPC G06F 16/273 (2019.01) [G06F 16/245 (2019.01); H04L 67/1097 (2013.01)] 30 Claims
OG exemplary drawing
 
1. A system comprising:
a memory to store database data; and
a processor, operatively coupled with the memory, the processor to:
replicate the database data stored in a primary deployment such that the database data is further stored in a secondary deployment;
execute one or more transactions on the database data at the primary deployment to cause a change to the database data to be stored in the primary deployment;
determine that the primary deployment transitioned from an available state to an unavailable state;
propagate, prior to a successful write of a transaction log associated with the one or more transactions to a data storage, the one or more transactions on the database data to the secondary deployment to perform a failover to the secondary deployment in response to determining that the primary deployment transitioned from the available state to the unavailable state; and
replicate, using the transaction log and after performing the failover, the change to the database data stored in the primary deployment such that the change is further stored in the secondary deployment.