Snowflake Global Data Sharing (Part 1)
Which data sharing is right for my company?
What is a data share?
Named, first-class Snowflake objects that encapsulate all of the information required to share a database.
Created by the Data Provider and they configure all access.
Share Contains:
• Privileges that grants access to the database, schema, and specific objects
• Data Consumer account name
New objects added to a share become available to all Data Consumers once permissions are granted on the new objects.
Shares cannot span multiple databases. Data Providers must create a separate share for each database — or — create a new database with Secure Views to all objects which will be shared.
Data Sharing Accounts
Simple Direct Data Sharing Example
In just a few simple steps the Data Consumer has access to live, ready to query data, no ETL involved, on-demand provisioning, share personalized data or business logic, it’s cross cloud and cross region enabled, all data is governed and revocable access.
Data Share Considerations
Shares can only have one database from the Data Provider
Each share can only have its own database on the Consumer/Reader Account
A share is a read-only with “light-switch” permissions to Consumer/Reader account roles.
Shares can not be cloned.
Shares can not be re-shared.
Time travel is not available to Data Consumers/Reader Accounts
Global Data Sharing
Data sharing is a core capability of Snowflake’s multi-tenant account architecture within a deployment (same cloud/same region)
But what about sharing data with accounts globally in other clouds and regions? What about sharing data with non-Snowflake customers? What about bi-directional data sharing where data consumers enriches received data from providers and shares it back?
The global data sharing is achieved by utilizing data replication to allow data providers to securely share their data with data consumers across different cloud and regions. Cross region data sharing is supported for Snowflake accounts hosted on AWS, Azure and GCP.
So which Data Sharing is Right for my Company?
In Part 2, I’ll go over some of global data sharing design pattern examples and its values.