How often does your data team use third-party data to make business decisions? Snowflake data exchange is a good step in that direction to turn your business data-driven. It creates a data-sharing hub for organizations to become data providers or consume data from others, depending on the business use case.
In this article, I will walk you through the steps to set up the data exchange and the various methods for it. You will also learn the difference between data marketplace and data exchange.
Let’s get started!
What is Snowflake data exchange, and how does it work?
Snowflake Data Exchange offers a data hub to securely collaborate with your data team members. As a provider, you can publish your data that others in the exchange can access. This will be helpful if you want to share data with stakeholders who are part of the internal team or vendors, suppliers, and partners who are not part of the company.
As shown in the figure below, if you want to target consumers for the data, you can either use listings for specific consumers or publicly on the Snowflake Marketplace.
You have the flexibility to manage membership, access, audit data usage, and reinstate controls for security to the data shared in the Data Exchange.
Now, let’s get into the details of the three important roles in data exchange: provider, admin, and consumer.
1. Data Exchange Administrator
The person in this role is accountable for hosting the data in the exchange. They decide what data should be stored and manage data consumers and providers. The following are under their responsibility:
- Create data exchange rules
- Data visibility on the data exchange
- Approve data requests
- Status of membership
2. Data Exchange Provider
Data exchange provider is a member of the Snowflake data exchange whose main responsibilities in the role are the following:
- Set up the samples, documentation, metadata, and cloud visibility of data exchange listings.
- Publish the listing without the approval of the data exchange admin.
- Provide access to customized datasets and listings even when it’s in different regions.
3. Data Exchange Consumer
This is the final member of Snowflake’s data exchange. The responsibilities of the Data Exchange Consumer are the following:
- Find exchange listings
- Switches between Snowflake Data Exchange and Marketplace
- Uses datasets by request or instantly
How to set up a Snowflake Data Exchange as a Data Provider?
In this section, let’s understand the process for data exchange when you are a data provider.
Step 1: Creating a Provider Profile
This step is important as a data provider to establish boundaries about your role and responsibilities.
It includes the following stages:
- Sign in as ACCOUNTADMIN in Snowsight.
- Data Tab -> select Private Sharing. Under Private Sharing, go to Manage Exchanges -> Provider Profiles tab.
- Choose the Add Profile button.
- Add details in the required fields and select Save.
Step 2: Set Up a Data Exchange
This step makes sure that data exchange is distinct. To set up a data exchange, you need to contact Snowflake support or a customer representative directly. The platform will do it itself after that. You need to come up with a distinct name and provide a description simultaneously.
Step 3: Delegate Roles and Access a Data Exchange
Remember that whenever you invite someone or assign a role, they should have a Snowflake account. The following are the steps to be taken:
- Select Snowsight on the left menu bar.
- Choose the Members tab.
- Click on the Add Members button -> Add members.
- Add the account URL of the new member.
- Click on the role you want to delegate to the new member.
Step 4: Manage Data Listings
Managing data listings include different aspects such as editing, and unpublishing based on the requirement of data consumers. Let’s get into each of them:
Editing
When you publish a new data listing, the new version overwrites the one before which is called editing. The steps to follow for this are,
- Sign in as ACCOUNTADMIN on Snowsight.
- Select Data and Private Sharing under left navigation bar -> Select the drop-down menu views Shared by My Account.
- Choose the data listing’s name for updating.
- Choose New Draft next to the title of the data listing.
- Edit the sections you want to update -> Publish.
Unpublishing
Removing a listing from the platform is called unpublishing. Even after your listing is unpublished, the old customers can still access the writing. To avoid this, you need to take down the listing completely. The steps for the same are:
- Sign in as Account Administrator on Snowsight.
- Take the same steps you took for editing a data listing.
- Choose Unpublish in the UI’s top-right corner.
Step 5: Configuring a Data Exchange
The important part is to decide your role (a data provider or a consumer). It also makes sure that the data in listing are secure. You can also search the data listings, access shared data, and see the requests for listing.
What are the methods of Snowflake Data Exchange?
The methods of Snowflake data exchange can be classified into private and public. Private data sharing includes direct data sharing and private data exchange. Public includes Snowflake Data Marketplace. Let’s get into the details of each of these.
Direct Data Sharing
You can go for this method when the Data Provider and Data Consumers both have snowflake accounts in same geographic location. This is also called 1:1 data sharing as it doesn’t involve much complexities such as cross-region, and other rules on data sharing.
You wouldn’t be able to monetize on your data. Because, the data is related B2B , B2C business. Also, you wouldn’t be able to share on Data Marketplace. So, no public visibility.
Use cases of Direct Data Sharing
- When you would like the compute costs to be charged to Data Consumer.
- Any scenarios when you want to share data with your partners, vendors or customers without switching their Snowflake Account.
- When non-Snowflake users need to access data using READER, account with a URL and credentials. Here, the compute cost goes to the Data Provider.
Private Data Exchange
This method allows a provider to create its own Private Data Exchange. You can use this when there is a need to exchange data in a bidirectional or cross-functional way. Like, your listed data could be required by many consumers who are part of the exchange.
But, when the data is to be shared between different regions, you need to move the data to the consumer’s region before proceeding with the share for the consumer.
Use Cases of Private Data Exchange
- When you want to collaborate with many data consumers at the same time.
- When you want to be both the Provider and Consumer of data with control over the exchange.
- Improve data security through policies and take responsibility for sensitive data.
Snowflake Data Marketplace
- Snowflake data marketplace is a public data exchange on Snowflake Data Cloud Platform in which many organizations from various domains provide data sharing (free or paid listings).
- Here, data is not copied or moved from data providers’ accounts to consumers Snowflake account.
- It allows data providers to monetize data assets that provide some data to consumers without much time and build the same data assets.
- The data listed are available instantly for free listings. Here, the shared database is created in consumers Snowflake account.
Use Cases of Snowflake Data Marketplace
- When you want to monetize your data asset to draw insights for the consumer.
- When you don’t know the segment of consumers interested in your data.
- When there are no business relations between the Provider and the Consumer.
- When you need data listing across different regions or Cloud instantly.
- When your organization is into research or Data Providing.
data exchange enables private data sharing from a single provider to several consumers invited in private groups. On the other hand, a data marketplace enables data transactions (buying and selling) to take place.
Understanding their differences is essential, especially when choosing which option suits particular cases. Data marketplaces are more suitable when facilitating financial transactions of data, while data exchanges are better for direct data sharing between specific organizations or individuals only.
In this section, we have seen the different methods of data exchange, and data marketplace is one of them. But, you need to choose the right method depending on your use sase.
Next, let’s draw a comparison between Snowflake data exchange and data marketplace as many of you will have confusions.
Snowflake Data Exchange vs Data Marketplace
Snowflake Data Exchange | Snowflake Data Marketplace |
You can exchange data between members | You can buy and sell third-party data |
You can exchange data between legal or corporate team | You can distribute, publish, discover, and license |
The data exchange can be be one or two-way | It is for businesses with a platform model |
No financial transactions associated | External financial transactions |
Workflow need in-depth functionality through collaboration | You can scale this and connect with other businesses on the platform, for better networking |
Conclusion
As discussed in the article, Snowflake Data Exchange offers a data hub to securely collaborate with your data team members. The article covered the working on Snowflake data exchange along with the steps to set up the data exchange. We also went through the various methods of data exchange which includes private and public data exchange. By understanding the use cases of each of these method, you can use them.
But, what if you want to move data from other data systems to Snowflake? Here’s where Hevo Data can help you. Hevo is the only real-time data pipeline that can integrate your data cost effectively and by giving flexibility to you. It will help you transform your Snowflake data to make it analysis-ready.
Frequently Asked Questions
1. What is the difference between data sharing and data exchange in Snowflake?
In Snowflake direct share, you directly share specific data objects to another account in the same region. But in data exchange, you create and manage many accounts and provide a share to the group.
2. How to access data exchange Snowflake?
Sign in to Snowsight -> Go to Configure and Use a Data Exchange -> To make any edits in provider profiles (add or remove profiles), utilize the Provider Profiles tab in the Manage Exchanges page.
3. What is the difference between data catalog and data exchange?
Data catalogs help to manage and govern the data estate and provide support compliance and governance requirements. Data exchanges would be the subset of that data that helps to derive business insights from that data.
Anaswara is an engineer-turned-writer specializing in ML, AI, and data science content creation. As a Content Marketing Specialist at Hevo Data, she strategizes and executes content plans leveraging her expertise in data analysis, SEO, and BI tools. Anaswara adeptly utilizes tools like Google Analytics, SEMrush, and Power BI to deliver data-driven insights that power strategic marketing campaigns.