IP Library › Granted Patent US 12,135,734
Granted Patent B2
US 12,135,734 · App. 18/324,787 · Granted Nov 5, 2024

Replication of share across deployments in database system

Inventors: Pui Kei Johnston Chu (Richmond Hill, CA); Benoit Dageville (San Mateo, CA); Shreyas Narendra Desai (Bellevue, WA); Nithin Mahesh (Kirkland, WA); Subramanian Muralidhar (Mercer Island, WA); Vishnu Dutt Paladugu (Seattle, WA); Sahaj Saini (Seattle, WA); Chieh-Sheng Wang (San Mateo, CA); Di Wu (Newark, CA)
Assignee: Snowflake Inc.
G06F16/27G06F16/213G06F16/256
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 12,135,734
App. No.
18/324,787
Granted
Nov 5, 2024
Kind
B2
Abstract

Various embodiments provide for replicating a share across deployments of a data platform, where the share can be on a source deployment and the share can be replicated on one or more target deployments, and where the share is replicated with one or more database objects of the source deployment associated with the share. Some embodiments analyze the share to be replicated and, based on the analysis, determine one or more database objects that would be replicated to the one or more target deployments to enable a replica of the share on the one or more target deployments.

Claims (55)

1. A data platform comprising:

at least one hardware processor; and

at least one memory storing instructions that cause the at least one hardware processor to perform operations comprising:

receiving a request by a first account to replicate a source share on a source deployment of the data platform on a target deployment of the data platform, the source share being associated with the first account, the source share being configured to grant one or more accounts access to a set of database objects associated with the first account; and

in response to the request, replicating the source share on the target deployment as a replicated share by:

accessing, on the source deployment, share data defining the source share;

determining, based on the share data, a set of dependencies that identify one or more database objects on the source deployment from which at least one database object of the set of database objects depends;

generating, on the source deployment, a replication group configured to replicate the source share on the target deployment as the replicated share, the replication group being configured with a refresh schedule, the refresh schedule enabling a change to a definition of the share data on the source deployment to be applied to a definition of the replicated share on the target deployment; and

replicating, based on the replication group, the one or more database objects, of the source deployment, on the target deployment.

2. The data platform of claim 1 , wherein the replicating of the one or more database objects on the target deployment comprise:

replicating the one or more database objects into a hidden namespace on the target deployment.

3. The data platform of claim 2 , wherein the hidden namespace is associated with the first account on the target deployment.

4. The data platform of claim 1 , wherein the determining of the set of dependencies based on the share data comprises:

determining, based on the share data, the set of database objects to which the source share is granting access on the source deployment.

5. The data platform of claim 1 , wherein the replicating of the source share on the target deployment as the replicated share comprises:

generating the replicated share on the target deployment with a same name as the source share of the source deployment, the replicated share being configured to grant a second account on the target deployment with access to the set of database objects replicated on the target deployment.

6. The data platform of claim 5 , wherein the generating of the replicated share on the target deployment with the same name as the source share comprises:

determining whether an existing share on the target deployment has the same name; and

in response to determining that the existing share on the target deployment has the same name, prompting a user to rename the replicated share to a different name.

7. The data platform of claim 1 , wherein the set of database objects comprises at least one of an access grant, a table, a view, or a schema.

8. A method comprising:

receiving a request by a first account to replicate a source share on a source deployment of a data platform on a target deployment of the data platform, the source share being associated with the first account, the source share being configured to grant one or more accounts access to a set of database objects associated with the first account; and

in response to the request, replicating the source share on the target deployment as a replicated share by:

accessing, on the source deployment, share data defining the source share;

determining, based on the share data, a set of dependencies that identify one or more database objects on the source deployment from which at least one database object of the set of database objects depends;

generating, on the source deployment, a replication group configured to replicate the source share on the target deployment as the replicated share, the replication group being configured with a refresh schedule, the refresh schedule enabling a change to a definition of the share data on the source deployment to be applied to a definition of the replicated share on the target deployment; and

replicating, based on the replication group, the one or more database objects, of the source deployment, on the target deployment.

9. The method of claim 8 , wherein the replicating of the one or more database objects on the target deployment comprise:

replicating the one or more database objects into a hidden namespace on the target deployment.

10. The method of claim 9 , wherein the hidden namespace is associated with the first account on the target deployment.

11. The method of claim 8 , wherein the determining of the set of dependencies based on the share data comprises:

determining, based on the share data, the set of database objects to which the source share is granting access on the source deployment.

12. The method of claim 8 , wherein the replicating of the source share on the target deployment as the replicated share comprises:

generating the replicated share on the target deployment with a same name as the source share of the source deployment, the replicated share being configured to grant a second account on the target deployment with access to the set of database objects replicated on the target deployment.

13. The method of claim 12 , wherein the generating of the replicated share on the target deployment with the same name as the source share comprises:

determining whether an existing share on the target deployment has the same name; and

in response to determining that the existing share on the target deployment has the same name, prompting a user to rename the replicated share to a different name.

14. The method of claim 8 , wherein the set of database objects comprises at least one of an access grant, a table, a view, or a schema.

15. A computer-storage medium comprising instructions that, when executed by one or more processors of a machine, configure the machine to perform operations comprising:

receiving a request by a first account to replicate a source share on a source deployment of a data platform on a target deployment of the data platform, the source share being associated with the first account, the source share being configured to grant one or more accounts access to a set of database objects associated with the first account; and

in response to the request, replicating the source share on the target deployment as a replicated share by:

accessing, on the source deployment, share data defining the source share;

determining, based on the share data, a set of dependencies that identify one or more database objects on the source deployment from which at least one database object of the set of database objects depends;

generating, on the source deployment, a replication group configured to replicate the source share on the target deployment as the replicated share, the replication group being configured with a refresh schedule, the refresh schedule enabling a change to a definition of the share data on the source deployment to be applied to a definition of the replicated share on the target deployment; and

replicating, based on the replication group, the one or more database objects, of the source deployment, on the target deployment.

16. The computer-storage medium of claim 15 , wherein the replicating of the one or more database objects on the target deployment comprise:

replicating the one or more database objects into a hidden namespace on the target deployment.

17. The computer-storage medium of claim 16 , wherein the hidden namespace is associated with the first account on the target deployment.

18. The computer-storage medium of claim 15 , wherein the determining of the set of dependencies based on the share data comprises:

determining, based on the share data, the set of database objects to which the source share is granting access on the source deployment.

19. The computer-storage medium of claim 15 , wherein the replicating of the source share on the target deployment as the replicated share comprises:

generating the replicated share on the target deployment with a same name as the source share of the source deployment, the replicated share being configured to grant a second account on the target deployment with access to the set of database objects replicated on the target deployment.

20. The computer-storage medium of claim 19 , wherein the generating of the replicated share on the target deployment with the same name as the source share comprises:

determining whether an existing share on the target deployment has the same name; and

in response to determining that the existing share on the target deployment has the same name, prompting a user to rename the replicated share to a different name.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 26, 2023
From: CHU, PUI KEI JOHNSTON; DAGEVILLE, BENOIT; DESAI, SHREYAS NARENDRA; MAHESH, NITHIN; MURALIDHAR, SUBRAMANIAN; PALADUGU, VISHNU DUTT; SAINI, SAHAJ; WANG, CHIEH-SHENG; WU, DI
To: SNOWFLAKE INC.
Reel/Frame 063777/0841 →
Continuity (2)
Continuation 17652721 · Feb 28, 2022
Related Publication 20230297591A1 · Sep 21, 2023
Cited By (1)
US 12,248,595