Home » Snowflake » Tutorials

Snowflake Data Sharing feature and best practices

Snowflake Secure Data Sharing enables organizations to instantly and securely share their data. Secure Data Sharing enables account-to-account sharing of data through Snowflake database tables, secure views, and secure UDFs

With Secure Data Sharing, data doesn’t move, eliminating the cost, headache, and delays associated with legacy data sharing methods that deliver only slices of stale data, and limited insights associated with that data. Snowflake’s modern approach to data sharing provides any organization easy access to shared data, so they can combine it with their existing data to get the deepest insights possible

How does Data Sharing Work in Snowflake

With Secure Data Sharing, no actual data is copied or transferred between accounts. All sharing is accomplished through Snowflake’s unique services layer and metadata store. This is an important concept because it means that shared data does not take up any storage in a consumer account and, therefore, does not contribute to the consumer’s monthly data storage charges. The only charges to consumers are for the compute resources (i.e. virtual warehouses) used to query the shared data

It consists of two steps:

  • The provider creates a share of a database in their account and grants access to specific objects (i.e. tables, secure views, and secure UDFs) in the database
  • On the consumer side, a read-only database is created from the share

What is a Share in Snowflake ?

Shares are named Snowflake objects that encapsulate all of the information required to share a database. Each share consists of:

  • The privileges that grant access to the database(s) and the schema containing the objects to share.

  • The privileges that grant access to the specific objects (tables, secure views, and secure UDFs).

  • The consumer accounts with which the database and its objects are shared.

Advantages of Snowflake Data Sharing

  • No Data is duplicated - enormous savings in storage
  • No Data is shuttled (Moved) - savings in io / bandwidth
  • No ETL is required to build and maintain the pipelines
  • No more stale data. All the data in shares are latest, up-to-date and reliable

Next Section: Metadata Services