Snowflake Data Sharing: Secure Data Sharing

Data sharing within the organization and between the organizations has always been an important task. Traditional data sharing systems have been associated with a lot of manual activities and security challenges.

Thanks to advanced cloud technologies which have eliminated a lot of roadblocks associated with legacy systems and streamlined the process. Snowflake data sharing is a unique feature in Snowflake which allows seamless data sharing in a secured way. Moreover, Snowflake data sharing has drastically brought down the cost and time spent for sharing data.

In this article, we are going to discuss various concepts associated with data sharing in Snowflake. So let’s get started.

Following are the concepts covered in Snowflake Data Sharing:

Table of Contents

Before jumping into the Snowflake data sharing part let’s have a small overview of traditional data sharing and how it goes.

Traditional data sharing & challenges

The data sharing using traditional technologies was time consuming, costly and ineffective. In this model, the data provider (sender) has to perform many functions to share the data and the same is the case with the consumer (receiver).

Tasks performed by a data provider in traditional data sharing methodology:

  • Data extraction from the source system
  • Data encryption
  • Share data with appropriate data consumers via API/FTP/Cloud storage

Tasks performed by a data provider in traditional data sharing methodology:

  • Data decryption
  • Data loading into the system
  • Troubleshooting data failovers while extracting and loading data.

Challenges associated with legacy systems:

  • Handling increased data size
  • Changing file formats and schema
  • Decrypting sensitive data
  • Cleaning data
  • Sharing data in real-time
Interested to begin your career in a widely used cloud data warehouse platform?
Know more about the expert’s designed
the Snowflake training in Hyderabad.

Snowflake Secure Data Sharing

There are two parties involved in the data sharing that are:

Data provider: The person who exports data from Snowflake.

Consumer:  The one who imports data (outside organizations).

Snowflake data sharing enables a seamless data sharing process between data providers and consumers. Following are the data objects that are shareable by a data provider from the database with the consumers:

  • Tables
  • Secure views
  • External tables
  • Secure UDFs
  • Secure materialized views

The data sharing between data providers and consumers happens using “Shares” which are created by data providers and “imported by consumers.

What is a Secure Share?

Secure share is defined as a database object in Snowflake that consists of the overall information required to share a database. A secure share contains typical information like privilege grants, objects being shared, the schema of the sharable objects, consumer accounts, etc. 

Using all these details a database is created from share. Now, this database is accessible by all users in the consumer account. Snowflake shares are secure, easy to set up and provide 100% controlling power to the provider account.

Whenever a new object is added to Snowflake share that automatically reflects in the consumer account and is easily accessible. The provider has all the authority to remove any objects from a share or revoke access at any time.

What is a Reader account in Snowflake & why do we need it?

Snowflake only supports seamless data sharing between two snowflake accounts but what if you wish to share data with a customer who is not a Snowflake user? Here comes the reader account concept that can be created by a data provider. The Reader account is the one that facilitates quick, easy, and cost-effective ways to share data with consumers of non Snowflake users.

How data sharing works in Snowflake?

The important point to note is that there is no actual data sharing or copying between accounts. All this data sharing functionality is performed by Snowflake’s metadata store and unique services layer. The core thing is that the consumer need not pay for any storage; he can simply query data from snowflake storage whenever he needs it. The consumers are required to pay only for the compute resources that they have used for querying shared data.

Following are the typical steps involved in data sharing:

  • The data provider has to create a shared container and this container should include objects (databases, tables, schemas, or views) that are being shared.
  • The data provider grants permission to the consumer to access a share
  • Now the data consumers create a fresh database that maps to the shared objects.
  • Data consumer grants privilege access to a role in their account.
  • Now the consumer is ready to query data, using virtual warehouses and privileged roles.

Snowflake data marketplace

Snowflake recently launched a new feature called Data Marketplace which enables the consumers to access and query datasets to make more informed decisions. The data providers are the ones who make the data analytics service available to consumers. Data Sharing technology allows the consumers to securely access and gets real-time data directly from snowflake accounts.

Advantages of Data Sharing in Snowflake

There are multiple advantages that arise for data providers and consumers by using Snowflake data sharing:

For Data providers:
  • Easy to share live data
  • Eliminates data duplication
  • Eliminate data movement
  • Offers controlled and customized views.
For Consumers:
  • Accessibility real-time data
  • No storage costs
  • No ETL
  • Need to pay only for the used resources.

Closing Thoughts

Snowflake’s innovative architecture and advanced features have made the data sharing process faster, simpler, and secure compared to legacy systems. It has brought down all the costs and time associated with data sharing and consumers can have streamlined access to the data. Hope you have found this blog useful. You can also check out our frequently asked Snowflake interview questions and Snowflake tutorial here.

Author Bio


Yamuna Karumuri is a content writer at CourseDrill. Her passion lies in writing articles on the IT platforms including Machine learning, Workday, Sailpoint, Data Science, Artificial Intelligence, Selenium, MSBI, and so on. You can connect with her via LinkedIn.

Popular Courses

Leave a Comment