IP Library Granted Patent US 11,704,338
Granted Patent B1
US 11,704,338 · App. 17/652,721 · Granted Jul 18, 2023

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 11,704,338
App. No.
17/652,721
Granted
Jul 18, 2023
Kind
B1
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 (50)

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 add a second account to a source share 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, the first account being on a source deployment of the data platform;

determining, based on the request, whether the second account is on the source deployment; and

in response to determining that the second account is not on the source deployment, replicating the source share on a target deployment of the data platform as a replicated share, the second account being on the target deployment, the replicating of the source share on the target deployment as the replicated share comprising:

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 dta 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, into a hidden namespace on the target deployment, the hidden namespace being associated with the first account on the target deployment.

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

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

3. 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 the second account with access to the set of database objects replicated on the target deployment.

4. The data platform of claim 3 , 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.

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

6. A method comprising:

receiving a request by a first account to add a second account to a source share 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, the first account being on a source deployment of a data platform;

determining, based on the request, that the second account is not on the source deployment; and

in response to determining that the second account is not on the source deployment, replicating the source share on a target deployment of the data platform as a replicated share, the second account being on the target deployment, the replicating of the source share on the target deployment as the replicated share comprising:

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, into a hidden namespace on the target deployment, the hidden namespace being associated with the first account on the target deployment.

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

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

8. The method of claim 6 , 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 the second account with access to the set of database objects replicated on the target deployment.

9. The method of claim 8 , 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.

10. The method of claim 6 , wherein the set of database objects includes at least one of an access grant, a table, a view, or a schema.

11. 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 add a second account to a source share 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, the first account being on a source deployment of a data platform;

determining, based on the request, whether the second account is on the source deployment; and

in response to determining that the second account is not on the source deployment, replicating the source share on a target deployment of the data platform as a replicated share, the second account being on the target deployment, the replicating of the source share on the target deployment as the replicated share comprising:

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, into a hidden namespace on the target deployment, the hidden namespace being associated with the first account on the target deployment.

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

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

13. The computer-storage medium of claim 11 , 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 the second account with access to the set of database objects replicated on the target deployment.

14. The computer-storage medium of claim 13 , 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.

15. The computer-storage medium of claim 11 , wherein the set of database objects includes at least one of an access grant, a table, a view, or a schema.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 28, 2022
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 059412/0957 →
Cited By (1)
US 12,568,090