Unlock the potential of data sharing with Snowflake private listings. Learn how to securely share data across regions and cloud providers, manage access, and automate replication, all while maintaining control over your data.
Efficient data sharing and management are crucial for businesses to thrive. Snowflake, a cloud data platform, provides innovative solutions that make data sharing seamless, secure and scalable. One such feature is listings, which include Snowflake private listings and Snowflake public listings.
Listings is a powerful tool that allows organizations to share data securely with designated consumers while maintaining full control over access and distribution.
Snowflake Listing Overview
When offering a data product, you can choose between one of two options:
- Private Listing: This option allows businesses to share data directly with specific consumers across any Snowflake region. This process allows secure data sharing with selected Snowflake accounts.
- Public Listing: This option allows your data product to become visible on the Snowflake Marketplace, enabling you to reach a broader audience. It also allows multiple consumers to access your curated data offerings without needing individual sharing agreements with each consumer.
While both private and public listings are available and use Snowflake’s capabilities for efficient data sharing, we will focus primarily on Snowflake private listings.
Understand Snowflake Private Listings
Snowflake provides multiple ways to share data across accounts, regions and cloud providers. Snowflake’s broader data-sharing capabilities include direct shares and listings.
While direct shares enable sharing specific database objects directly to another account within the same region, listings allow the provider to offer a share across multiple regions and cloud providers.
Key Features of Private Listings
- Controlled Access: Providers can define who can access the data, ensuring that sensitive information is only available to authorized consumers.
- Cross-Cloud and Cross-Region Sharing: You can share data across different Snowflake regions and cloud platforms without manual replication tasks.
- Auto Fulfillment: Automated data replication across clouds and regions guarantees consumers always have access to the latest data.
Considerations for Creating a Listing
When you want to create a new listing, keep these things in mind:
- Allow time to set up replication and understand the associated costs.
- Use cross-region sharing, which relies on Snowflake’s data replication feature.
- Use secure objects to protect sensitive data in shared databases from consumers.
- Link a share to only one listing at a time. It cannot be reused for another listing, even if the original is deleted.
- Publish a new listing version to replace the previous one.
- Unpublish a listing to hide it from new consumers while allowing existing ones to retain access unless removed.
With these features and considerations in mind, let us walk through creating a private listing step-by-step.
Step-by-Step Guide to Creating a Private Listing
1. Enable Auto Fulfillment
Before creating a private listing, it is important to ensure that you enable auto fulfillment in your Snowflake account. This allows data to automatically replicate across clouds and regions. See the image below for an example.
2. Review and Accept Provider Terms of Service
To become a provider, the user with the ORGADMIN role must agree to the Snowflake Provider Terms of Service. To do so, follow the prompt below.
- Navigate to Data » Provider Studio.
- Select Review Provider Terms & Conditions.
- Click the link to review the Provider Terms of Service and accept the terms.
3. Create a Private Listing
To create a private listing, follow these steps:
- Create a Listing: Define the data you want to share, including the database objects (tables, views, and so on), and add a title, description and usage examples.
- Select Target Accounts: Specify the Snowflake accounts that should have access to the listing.
- Publish the Listing: Once everything is configured, publish the listing. The selected consumers will be notified and can access the data upon agreement to the Terms and Conditions.
4. Access and Use the Listing
As a consumer, once you have accepted the listing, you can:
- View the Listing: Access the shared data directly from your Snowflake account under Private Sharing.
- Use Sample Queries: Providers can include sample queries to help you quickly understand and use the data.
- Replicate Data: The data will be automatically replicated to your account, ensuring you have the most up-to-date information.
- Create the Database: Select Get and specify the business relevant Database name. Additionally, assign the necessary roles, including ACCOUNTADMIN, to ensure proper access to the shared objects.
Manage Costs for Cross-Cloud Auto Fulfillment
When you set up cross-cloud auto fulfillment for a listing as a provider, Snowflake handles the data replication process. However, you still incur costs for storing and replicating your data product across regions to serve your consumers.
Snowflake establishes a secure share area in each region for fulfilling listings, and all associated costs are billed through this area. This method differs from traditional manual database replication, assigning costs differently.
Understand Cost Components for Cross-Cloud Auto Fulfillment
- Compute Resources: Replication operations use compute resources to copy data and manage its status across the Secure Share Areas in various regions. The cost depends on the refresh frequency you configure for your listings, which dictates how often the underlying queries run.
- Storage Resources: Replicated databases in different regions generate storage costs. The size of the replicated data and the rate of changes in the source database influence the amount of data stored, both initially and during subsequent synchronizations.
- Data Transfer Resources: Data is transferred between regions during initial replication and ongoing synchronization. This incurs data transfer costs, which vary depending on whether the data is moved within the same cloud provider or across different clouds. The location of the source account, the destination region, and the cloud provider determine the transfer rate.
Monitor Compute Usage
To control costs, it is important to monitor the compute resources used in your listings. If you are curious about those resources, you can check the queries run by Snowflake and adjust the refresh frequency accordingly.
Snowflake provides the LISTING_AUTO_FULFILLMENT_REFRESH_DAILY view, which helps identify the listings and databases that contribute to compute costs.
Monitor Storage Resources
To track the storage costs associated with a listing, use the LISTING_AUTO_FULFILLMENT_DATABASE_STORAGE_DAILY view. This view helps identify the specific listings and databases that contribute to your overall storage usage and costs.
Now that we have covered the cost implications of using Snowflake private listings, it is important to understand the real-world benefits of this powerful feature. Let’s explore a few practical use cases where private listings can enhance data sharing across organizations and regions and ensure secure and controlled data distribution while minimizing operational overhead.
Use Case: Enhancing Data Sharing Across Cloud Regions
Consider a scenario where a global retail company wants to share sales data with regional branches across different cloud platforms. Using Snowflake private listings, the company can:
- Define the Data: Create a listing that includes sales data for specific products.
- Select Regional Accounts: Specify the Snowflake accounts for each regional branch.
- Enable Auto Fulfillment: Ensure data is automatically replicated across different cloud regions.
By using private listings, the company can guarantee each regional branch has access to the required data while maintaining control over who can view and use the data. This approach also reduces the overhead associated with manual data replication and sharing.
Use Case: Sharing Customized Data with External Partners
A financial institution wants to securely share customer insights with selected external partners for collaborative analysis. Using private listings, the institution can:
- Tailor Data for Partners: Create listings with customized data relevant to each partner’s needs.
- Secure Access Control: Grant access to specific partners while safeguarding sensitive data.
- Simplify Updates: Automatically replicate updates across cloud regions, ensuring partners have real-time access to the latest data without manual intervention.
This approach provides flexibility, secure data management, and automated sharing processes.
Snowflake Private Listings for Secure Data Sharing
Snowflake private listings provide a secure, scalable and efficient way to share data with specific consumers while maintaining complete control over access and usage. Unlike data shares, which are restricted to sharing within a single region, private listings allow providers to extend their data across multiple regions and cloud platforms. Private Listings is ideal for use cases requiring global access, whereas data shares are better suited for regional sharing with minimal provider involvement.
Whether you are sharing data across departments, with external partners, or across regions, private listings simplify the process while ensuring compliance with your organization’s data governance policies.
By incorporating private listings into your data-sharing strategy, you can enhance collaboration, improve data accessibility, and drive better business outcomes.
Are you ready to move forward with a data strategy for your organization but aren’t sure where to start? Our Data and Analytics experts bring a tried-and-true approach for executing strategies into practical, pragmatic and actionable plans. Talk to an expert