US12314283B2ActiveUtilityA1

Data object replication using database identification

76
Assignee: SNOWFLAKE INCPriority: Dec 10, 2021Filed: Sep 15, 2023Granted: May 27, 2025
Est. expiryDec 10, 2041(~15.4 yrs left)· nominal 20-yr term from priority
G06F 16/13G06F 16/11G06F 16/185G06F 16/275G06F 16/273G06F 16/184
76
PatentIndex Score
0
Cited by
15
References
30
Claims

Abstract

A system for data object replication includes at least one hardware processor and at least one memory storing instructions. The instructions cause the at least one hardware processor to perform operations including parsing a replication request to obtain a data object and identification information identifying a set of databases at a first deployment of a data provider. A dependency of the data object to one or more additional data objects stored in the set of databases is detected. A sequential replication of the data object and the one or more additional data object from the first deployment to a second deployment of the data provider is performed. The second deployment is identified by the replication request. A sequence of the sequential replication is based on the detected dependency.

Claims

exact text as granted — not AI-modified
What is claimed is: 
     
       1. A system 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:
 parsing a replication request to obtain a data object, identification information identifying a set of databases at a first deployment of a data provider, and a target account at a second deployment of the data provider; 
 retrieving dependency information from a source account of the data provider at the first deployment, the dependency information indicating a dependency of the data object to one or more additional data objects stored in the set of databases based on object dependency information maintained at the first deployment; and 
 performing a sequential replication of the data object and the one or more additional data objects from the source account at the first deployment to the target account at the second deployment of the data provider, a sequence of the sequential replication based on the dependency, and the sequential replication including at least two databases of the set of databases based on cross-database references among the at least two databases. 
 
 
     
     
       2. The system of  claim 1 , wherein the data object and the one or more additional data objects are associated with a corresponding account object type of a plurality of account object types, and wherein the replication is performed from the source account into the target account of the data provider. 
     
     
       3. The system of  claim 2 , wherein the plurality of account object types comprises at least one of:
 a user account object type, wherein a user account object of the user account object type lists a user authorized to access the target account; 
 a roles account object type, wherein a roles account object of the roles account object type configures privileges for accessing an account object, the privileges associated with a role of the user; 
 a grant account object type, wherein a grant account object of the grant account object type configures a grant of at least one of the privileges for accessing the account object to at least another object; 
 a warehouse object type, wherein a warehouse object of the warehouse object type indicates compute resources for executing a workload associated with one or more databases of the set of databases; and 
 a resource monitor object type, wherein a resource monitor object of the resource monitor object type configures monitoring usage of the compute resources. 
 
     
     
       4. The system of  claim 3 , wherein the data object is the user account object, and wherein the instructions further cause the at least one hardware processor to perform operations comprising:
 determining the roles account object is one of the one or more additional data objects based on the object dependencies. 
 
     
     
       5. The system of  claim 3 , wherein the plurality of account object types further comprises:
 a database account object type, and wherein a database account object of the database account object type indicates the one or more databases; 
 a share account object type, wherein a share account object of the share account object type configures sharing of the one or more databases from the source account to at least another account of the user; 
 an integration account object type, wherein an integration account object of the integration account object type configures application programming interfaces (APIs) and allowed network access points for accessing the source account or the target account; and 
 a network policy account object type, wherein a network policy object of the network policy account object type provides network configurations for accessing the source account and the target account of the user. 
 
     
     
       6. The system of  claim 5 , wherein the replication request further includes the database account object and a list of the set of databases, and wherein the instructions further cause the at least one hardware processor to perform operations comprising:
 configuring the one or more additional data objects to include the list of the set of databases; and 
 performing a replication of the set of databases according to the replication sequence. 
 
     
     
       7. The system of  claim 1 , wherein the replication request further includes scheduling information, and wherein the instructions further cause the at least one hardware processor to perform operations comprising:
 performing the replication of the data object and at least one of the one or more additional data objects according to a replication schedule, the replication schedule configured based on the scheduling information. 
 
     
     
       8. The system of  claim 1 , wherein the instructions further cause the at least one hardware processor to perform operations comprising:
 retrieving the object dependencies using object dependency information maintained at the source account of the data provider. 
 
     
     
       9. The system of  claim 8 , wherein the instructions further cause the at least one hardware processor to perform operations comprising:
 performing the replication of the data object and the at least one of the one or more additional data objects into the target account of the data provider. 
 
     
     
       10. The system of  claim 9 , wherein the instructions further cause the at least one hardware processor to perform operations comprising:
 determining the source account and the target account based on the replication request. 
 
     
     
       11. A method comprising:
 parsing, by at least one hardware processor, a replication request to obtain a data object, identification information identifying a set of databases at a first deployment of a data provider, and a target account at a second deployment of the data provider; 
 retrieving dependency information from a source account of the data provider at the first deployment, the dependency information indicating a dependency of the data object to one or more additional data objects stored in the set of databases based on object dependency information maintained at the first deployment; and 
 performing a sequential replication of the data object and the one or more additional data objects from the source account at the first deployment to the target account at the second deployment of the data provider, a sequence of the sequential replication based on the dependency, and the sequential replication including at least two databases of the set of databases based on cross-database references among the at least two databases. 
 
     
     
       12. The method of  claim 11 , wherein the data object and the one or more additional data objects are associated with a corresponding account object type of a plurality of account object types, and wherein the replication is performed from the source account into the target account of the data provider. 
     
     
       13. The method of  claim 12 , wherein the plurality of account object types comprises at least one of:
 a user account object type, wherein a user account object of the user account object type lists a user authorized to access the target account; 
 a roles account object type, wherein a roles account object of the roles account object type configures privileges for accessing an account object, the privileges associated with a role of the user; 
 a grant account object type, wherein a grant account object of the grant account object type configures a grant of at least one of the privileges for accessing the account object to at least another object; 
 a warehouse object type, wherein a warehouse object of the warehouse object type indicates compute resources for executing a workload associated with one or more databases of the set of databases; and 
 a resource monitor object type, wherein a resource monitor object of the resource monitor object type configures monitoring usage of the compute resources. 
 
     
     
       14. The method of  claim 13 , wherein the data object is the user account object, and wherein the method further comprises:
 determining the roles account object is one of the one or more additional data objects based on the object dependencies. 
 
     
     
       15. The method of  claim 13 , wherein the plurality of account object types further comprises:
 a database account object type, and wherein a database account object of the database account object type indicates the one or more databases; 
 a share account object type, wherein a share account object of the share account object type configures sharing of the one or more databases from the source account to at least another account of the user; 
 an integration account object type, wherein an integration account object of the integration account object type configures application programming interfaces (APIs) and allowed network access points for accessing the source account or the target account; and 
 a network policy account object type, wherein a network policy object of the network policy account object type provides network configurations for accessing the source account and the target account of the user. 
 
     
     
       16. The method of  claim 15 , wherein the replication request further includes the database account object and a list of the set of databases, and wherein the method further comprises:
 configuring the one or more additional data objects to include the list of the set of databases; and 
 performing a replication of the set of databases according to the replication sequence. 
 
     
     
       17. The method of  claim 11 , wherein the replication request further includes scheduling information, and wherein the method further comprises:
 performing the replication of the data object and at least one of the one or more additional data objects according to a replication schedule, the replication schedule configured based on the scheduling information. 
 
     
     
       18. The method of  claim 11 , wherein the method further comprises:
 retrieving the object dependencies using object dependency information maintained at the source account of the data provider. 
 
     
     
       19. The method of  claim 18 , wherein the method further comprises:
 performing the replication of the data object and the at least one of the one or more additional data objects into the target account of the data provider. 
 
     
     
       20. The method of  claim 19 , wherein the method further comprises:
 determining the source account and the target account based on the replication request. 
 
     
     
       21. A computer-storage medium comprising instructions that, when executed by one or more processors of a machine, configure the machine to perform operations comprising:
 parsing a replication request to obtain a data object, identification information identifying a set of databases at a first deployment of a data provider, and a target account at a second deployment of the data provider; 
 retrieving dependency information from a source account of the data provider at the first deployment, the dependency information indicating a dependency of the data object to one or more additional data objects stored in the set of databases based on object dependency information maintained at the first deployment; and 
 performing a sequential replication of the data object and the one or more additional data objects from the source account at the first deployment to the target account at the second deployment of the data provider, a sequence of the sequential replication based on the dependency, and the sequential replication including at least two databases of the set of databases based on cross-database references among the at least two databases. 
 
     
     
       22. The computer-storage medium of  claim 21 , wherein the data object and the one or more additional data objects are associated with a corresponding account object type of a plurality of account object types, and wherein the replication is performed from the source account into the target account of the data provider. 
     
     
       23. The computer-storage medium of  claim 22 , wherein the plurality of account object types comprises at least one of:
 a user account object type, wherein a user account object of the user account object type lists a user authorized to access the target account; 
 a roles account object type, wherein a roles account object of the roles account object type configures privileges for accessing an account object, the privileges associated with a role of the user; 
 a grant account object type, wherein a grant account object of the grant account object type configures a grant of at least one of the privileges for accessing the account object to at least another object; 
 a warehouse object type, wherein a warehouse object of the warehouse object type indicates compute resources for executing a workload associated with one or more databases of the set of databases; and 
 a resource monitor object type, wherein a resource monitor object of the resource monitor object type configures monitoring usage of the compute resources. 
 
     
     
       24. The computer-storage medium of  claim 23 , wherein the data object is the user account object, and wherein the operations further comprise:
 determining the roles account object is one of the one or more additional data objects based on the object dependencies. 
 
     
     
       25. The computer-storage medium of  claim 23 , wherein the plurality of account object types further comprises:
 a database account object type, and wherein a database account object of the database account object type indicates the one or more databases; 
 a share account object type, wherein a share account object of the share account object type configures sharing of the one or more databases from the source account to at least another account of the user; 
 an integration account object type, wherein an integration account object of the integration account object type configures application programming interfaces (APIs) and allowed network access points for accessing the source account or the target account; and 
 a network policy account object type, wherein a network policy object of the network policy account object type provides network configurations for accessing the source account and the target account of the user. 
 
     
     
       26. The computer-storage medium of  claim 25 , wherein the replication request further includes the database account object and a list of the set of databases, and wherein the operations further comprise:
 configuring the one or more additional data objects to include the list of the set of databases; and 
 performing a replication of the set of databases according to the replication sequence. 
 
     
     
       27. The computer-storage medium of  claim 21 , wherein the replication request further includes scheduling information, and wherein the operations further comprise:
 performing the replication of the data object and at least one of the one or more additional data objects according to a replication schedule, the replication schedule configured based on the scheduling information. 
 
     
     
       28. The computer-storage medium of  claim 21 , wherein the operations further comprise:
 retrieving the object dependencies using object dependency information maintained at the source account of the data provider. 
 
     
     
       29. The computer-storage medium of  claim 28 , wherein the operations further comprise:
 performing the replication of the data object and the at least one of the one or more additional data objects into the target account of the data provider. 
 
     
     
       30. The computer-storage medium of  claim 29 , wherein the operations further comprise:
 determining the source account and the target account based on the replication request.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.