Author: S V S R Krushik Reddy Nallamilli
Secure Data Sharing is a way of sharing selected objects in a database from one Snowflake account to another accounts. We can share Tables, External tables, Secure views, Secure materialized views, and Secure UDFs.
The Data Sharing can be done instantly between the data provider and consumer in snowflake using secure data-sharing methodologies.
Who are the Providers?
A data provider is the one who creates shares and makes the data available for consumption.
Who are Consumers?
A data consumer chooses to create a database from the shared data that is made available by a data provider.
Snowflake secure sharing comes out in 3 types: Direct Data Sharing, Data Marketplace, and Data Exchange.
This blog gives you an overview of these 3 types and their features.
What is Direct Data Sharing?
Direct Data Sharing is the easiest way to share or consume data using secure sharing in Snowflake. Through Direct Data Sharing, providers and consumers have complete control over the data shared and the users who can share or consume the data.
No actual copy of the data.
No additional storage cost.
Can add multiple tables and views to a share.
We can add multiple consumers from the same region and cloud Within the same share.
Can share data to cross clouds or regions through data replication.
If the consumer does not have a Snowflake account, then the provider can share data using a reader account.
What is the Data Marketplace?
Snowflake Marketplace uses Snowflake Secure Data Sharing to connect data providers and consumers. It’s a handy feature for sharing data with third-party consumers and receiving data from third-party providers.
Customers can discover and access various third-party datasets.
The data marketplace provides a single place to procure data from different providers.
Supported in all non-VPS snowflake accounts (except Microsoft Azure Government).
What is Data Exchange?
Data Exchange is a kind of private data marketplace for secure data collaboration between selected groups of invited members. The data exchange administrator has complete control over what data can be shared and who can use it.
The Snowflake account that hosts the data exchange is the Data Exchange Administrator.
The Data Exchange Administrator (user with the ACCOUNTADMIN) is responsible for configuring the data exchange and managing its members (data providers and data consumers).
The Snowflake data cloud, with its data sharing features, gives multiple possibilities for using its different data sharing features. This modern way of distributed data sharing, where the data being shared is owned by the data owner and no one else, gives better security and flexibility in securely sharing the data.