Snowflake Data
Exchange

Snowflake’s Data Cloud is powered by an advanced data platform provided as SaaS (Software as a Service). It enables data storage, processing, and analytic solutions that are quick, convenient, and more flexible than traditional offerings.

Let’s explore more!

What is data exchange?

Data exchange is an arena where you can securely collaborate with data only within a selected number of people that you invite. Data at scale can be shared within the business ecosystems like partners, vendors, customers, or suppliers, including other business units of your company. After the provision and configuration of Data Exchange, you can invite members and detail them to consume data, provide data, or both.

Snowflake Data Exchange is your data hub for securely collaborating around data, between a selected group of members that you invite. It enables providers to publish data that can then be discovered by consumers.

It incorporates public data exchange( also referred to as Data Marketplace) and private data exchange. In this article, private data exchange is referred to as data exchange.

Lyft, shift and load any data into Snowflake instantly

What kind of secured sharing options are available on Snowflake data exchange?
Direct Share:

This is private data shared 1 on 1 between two parties. For eg- Square shares marketing data via direct share with its partner.

Data Exchange:

This is private data shared from one person to multiple consumers invited to join a private group. For eg- Cisco shares its data with all its suppliers.

Data Marketplace:

This is public data shared in the Snowflake data marketplace that is administered by Snowflake. For eg- StarSchema shares data on COVID in the data marketplace.

Terminologies related to data exchange

Here is a quick review of the terminologies related to data exchange. Most of them are common to data sharing, even the direct share, data marketplace, and data exchange.

Data Provider:

When the company shares data with an external account.

Data Consumer:

When company access data from an external account.

The first two include the changes performed by either the end-user or done by the Snowflake services.

Integrate any data source
Data provider

When the company shares data with an external account.

Integrate any data source
Data consumer

When company access data from an external account.

Integrate any data source
Secure data sharing

It is the underlying technology that helps in Data Exchanges.

Integrate any data source
Share

A pointer to data that is made available to be accessed by others

Integrate any data source
Secure view

A view of the data that is shared without exposing the structural details and underlying tables

Integrate any data source
Secure function

Also known as Secure UDF, allows sharing of data without exposing the SQL statement or the source data underlying.

Integrate any data source
Reader account

A provider-provisioned account for allowing snowflake customers to have access to shared data.

Integrate any data source
Listing

A share that is published to the Data Exchange for its discovery.

Data exchange membership key concepts

Data Exchange has three major roles or memberships- Admin, Provider, and Consumer. Each role has its own set of rules and allowed actions.

Data exchange admin

Assigned to the Snowflake Account that hosts the Data Exchange for the Data Exchange. The Data Exchange configures the Data Exchange and manages the members under Data Provider and Data Consumers. The accounts offer control over membership, visibility, optional approval and it is available only for data exchange. Snowflake becomes the administrator for the Data Marketplace.

Any user with ACCOUNTADMIN role or one with IMPORTED PRIVILEGES on the Data Exchange (that can be easily granted by ACCOUNTADMIN) is the designated Data Exchange Admin. They can:

Set up Data Exchange (initially performed by the Snowflake)
Manage the members (add or remove)
Designate members (providers, consumers, or both)
Define Data Exchange rules (to be coming soon)
Data exchange provider

A member of the Data Exchange who has access to configure region or cloud visibility, documentation, metadata, and samples through listings. They can:

Create a listing.
Define listing access (standard or personalized).
Publish the listing (currently, it can be posted without the approval of the Data Exchange Admin).
Grant access to datasets or personalized listing dwelling in a different region from the consumer.
Data exchange consumer

A member of Data Change. They can:

Discover by browsing the exchange listing.
Switch between Snowflake Marketplace and Data Exchange.
Consumes listings or datasets (either by request or instantly).
A snowflake account can be designated as a provider, consumer, or both for data exchange membership.
Metrics

Metrics are for Providers in the beginning. It is available in the usage views in SNOWFLAKE.DATA_SHARING_USAGE schema- it includes listing events, listing consumption, etc.

Monetization

Monetization allows Data Consumers to purchase data from third-party data providers directly on the Marketplace.

Provider decides the price, Snowflake facilitates the collection of payment (through the payment provider).
Support multiple subscription models: Fixed Price.
Listings in data exchange: standard listing Vs personalized listing

There are two basic types of listing: Standard and Personalized Listing

Standard Listing (by default) is where the consumers get all the data providers to share in the data exchange. Any consumer can get instant access to the standard listing.

Personalized Listing is asked by consumers that have a specific dataset request. The respective data providers can either accept or reject the request.

Share vs Listing (local vs global)

It is crucial to understand the critical aspect of data exchange, listing, that is what is the difference between direct share and listing. Direct share is local to the same region and listing enables the sharing towards global beyond that very same region or same cloud that is empowered by the back end and underlying technique for replication. Via Listing, the Data Exchange and Marketplace offer management and scaling of data sharing and data-related services within and across the organizations.

Data lifecycle in data exchange
Data Providers publish listings, offering two types of listing to choose from (standard and personalized).
Once the listing is replicated to the Consumer region, the free listings can be done without approval. Automation of these free listings fulfillment in the Consumer region is under preview for all the Providers.
Personalized listing allows licensing to be negotiated for approval and fulfillment. Both Monetization on Data Exchange or Data Marketplace and programmatic SQL management of listings and approvals- are under preview.
Consumers can mix and enrich the incoming data shares, then share them with the customers or other internal departments.
Readers Account allows even the non-Snowflake customers to receive data shares from the parent account.
In addition to participating as a publisher and a consumer in the Data Marketplace, any Snowflake account can be a member of one or more Data Exchanges.
Note:
The organization handles the administration of the Data Exchange.
Exchange Data is open to portfolio companies, internal departments, and corporate data marts.
Data exchange summary

To summarize, Data Exchange is the most private way to select other Snowflake accounts to participate in the data sharing group ( also known as data exchange) or to consume the data provided by the data exchange as a member of the consumer.

# Data Sharing(feature, direct share) Data Exchange(GUI, Private exchange) Data Marketplace(Public Exchange)
Create a secure share that consumers can access YES YES YES
Give non-snowflake consumers access to share data YES YES NO
Allow consumers to search and discover shared data NO YES YES
Get usage metrics NO YES YES
Control who can publish data and show can see your listing NO YES NO
Who to engage Your Snowflake account owner or sales engineer Data exchange team or Snowflake support if part of a joint GTM Data exchange team or Snowflake support

We can say that secure data sharing is one of the core back-end techniques for direct share, data exchange, and data marketplace. It only allows data sharing between the snowflake accounts of the same region.

Data sharing across the cross-regions and cross clouds with the combination of the replication techniques. It requires the provider to create a snowflake account of the same region of the target shared account region. Then, the data is replicated over that account and a direct share is done.

Data Marketplace and Data Exchange are just other platforms that are wrapped up with a user interface that enables data sharing among diverse groups of snowflake accounts leveraging secure data sharing along with replication via the listing. Data Marketplace is a public data exchange where snowflake administers whereas, the data exchange is a private data exchange where the providers administer the exchange. Non-snowflake accounts can only be a part of the data sharing via providers by creating reader accounts as consumers.

Are you unsure about the best option for setting up your data infrastructure?