IP Library Granted Patent US 11,436,255
Granted Patent B1
US 11,436,255 · App. 17/490,543 · Granted Sep 6, 2022

Automated database replication at a remote deployment

Inventors: Pui Kei Johnston Chu (Richmond Hill, CA); Benoit Dageville (San Mateo, CA); Shreyas Narendra Desai (Bellevue, WA); Sameer Deshpande (Mountain View, CA); Subramanian Muralidhar (Mercer Island, WA); Di Wu (Newark, CA)
Assignee: Snowflake Inc.
G06F16/273
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,436,255
App. No.
17/490,543
Granted
Sep 6, 2022
Kind
B1
Abstract

Disclosed herein are systems and methods for database replication to a remote deployment with automated fulfillment. In an embodiment, a data platform provisions a remote-deployment account of a data provider at a remote deployment of the data platform with a set of one or more replication-preparation objects associated with a primary-deployment database that is resident in a primary-deployment account of the data provider at a primary deployment of the data platform. After the provisioning, the data platform detects receipt of a database-replication request associated with a data consumer, requesting availability of a local instance of the primary-deployment database in the remote-deployment account of the data provider. The data platform responsively performs one or more remote-deployment-activation operations, which makes available to the data consumer a local instance of the primary-deployment database in the remote-deployment account of the data provider at the remote deployment of the data platform.

Claims (26)

1. A method comprising:

storing, at a remote deployment of a data platform, a set of replication-preparation objects, the set of replication-preparation objects including a set of operations for replicating a database stored at a primary deployment of the data platform;

detecting, by a processor, using a task object of the set of replication-preparation objects a request for availability of a local instance of the database at the remote deployment of the data platform; and

in response to the detecting the request, executing, by the processor, the set of operations included in the set of replication-preparation objects to replicate the database as the local instance at the remote deployment, wherein the set of replication-preparation objects includes a database shell of the database stored at the primary deployment of the data platform, wherein the executing the set of operations comprises: invoking a database-refresh operation causing database data to be pushed from the database stored at primary deployment to the database shell at the remote deployment.

2. The method of claim 1 , wherein the request is received at the remote deployment of the data platform.

3. The method of claim 2 , further comprising: monitoring the remote deployment for requests to replicate the database.

4. The method of claim 1 , wherein the database data being pushed to the database shell at the remote deployment modifies the database shell into a remote-deployment database at the remote deployment.

5. The method of claim 4 , wherein the set of replication-preparation objects includes a share shell that is configured as an access control with respect to the remote-deployment database.

6. The method of claim 5 , wherein executing the set of operations further comprises: invoking a share-refresh operation that provides a data consumer with access to the remote-deployment database at the remote deployment.

7. The method of claim 6 , wherein invoking a share-refresh operation initiates share data to be pushed from a primary-deployment share to the share shell, the share data modifying the share shell into a remote-deployment share at the remote deployment.

8. A data platform comprising:

one or more computer processors; and one or more computer-readable mediums storing instructions that, when executed by the one or more computer processors, cause the data platform to perform operations comprising:

storing, at a remote deployment of a data platform, a set of replication-preparation objects, the set of replication-preparation objects including a set of operations for replicating a database stored at a primary deployment of the data platform;

detecting using a task object of the set of replication-preparation objects, a request for availability of a local instance of the database at the remote deployment of the data platform; and

in response to the detecting the request, executing the set of operations included in the set of replication-preparation objects to replicate the database as the local instance at the remote deployment, wherein the set of replication-preparation objects includes a database shell of the database stored at the primary deployment of the data platform, wherein the executing the set of operations comprises: invoking a database-refresh operation causing database data to be pushed from the database stored at primary deployment to the database shell at the remote deployment.

9. The data platform of claim 8 , wherein the request is received at the remote deployment of the data platform.

10. The data platform of claim 9 , the operations further comprising: monitoring the remote deployment for requests to replicate the database.

11. The data platform of claim 8 , wherein the database data being pushed to the database shell at the remote deployment modifies the database shell into a remote-deployment database at the remote deployment.

12. The data platform of claim 11 , wherein the set of replication-preparation objects includes a share shell that is configured as an access control with respect to the remote-deployment database.

13. The data platform of claim 12 , wherein executing the set of operations further comprises: invoking a share-refresh operation that provides a data consumer with access to the remote-deployment database at the remote deployment.

14. The data platform of claim 13 , wherein invoking a share-refresh operation initiates share data to be pushed from a primary-deployment share to the share shell, the share data modifying the share shell into a remote-deployment share at the remote deployment.

15. A non-transitory computer-readable medium storing instructions that, when executed by one or more computer processors of a data platform, cause the data platform to perform operations comprising:

storing, at a remote deployment of a data platform, a set of replication-preparation objects, the set of replication-preparation objects including a set of operations for replicating a database stored at a primary deployment of the data platform;

detecting using a task object of the set of replication-preparation objects, a request for availability of a local instance of the database at the remote deployment of the data platform; and

in response to the detecting the request, executing the set of operations included in the set of replication-preparation objects to replicate the database as the local instance at the remote deployment, wherein the set of replication-preparation objects includes a database shell of the database stored at the primary deployment of the data platform, wherein the executing the set of operations comprises: invoking a database-refresh operation causing database data to be pushed from the database stored at primary deployment to the database shell at the remote deployment.

16. The non-transitory computer-readable medium of claim 15 , wherein the request is received at the remote deployment of the data platform.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 30, 2021
From: CHU, PUI KEI JOHNSTON; DAGEVILLE, BENOIT; DESAI, SHREYAS NARENDRA; DESHPANDE, SAMEER; MURALIDHAR, SUBRAMANIAN; WU, DI
To: SNOWFLAKE INC.
Reel/Frame 057657/0958 →
Continuity (2)
Continuation 17302396 · Apr 30, 2021
Provisional Application 63200668 · Mar 21, 2021
Cited By (1)
US 12,314,284