COF-C03 Question 340
Single answer5.3 Share data using the Snowflake Marketplace and listingsA data provider wants to monetize a curated weather dataset by making it available to many Snowflake customers without copying the data into each customer account. The provider also wants subscribers to query the shared data from their own accounts and receive updates automatically as the provider refreshes the source tables. Which Snowflake approach best meets these requirements?
- A
Create a reader account for each customer and load a separate copy of the weather data into each reader account on a scheduled basis.
- B
Create a listing in the Snowflake Marketplace backed by a secure share so consumers can create a database from the shared data in their own accounts.
- C
Export the weather data to external cloud storage and instruct customers to load it into their own Snowflake tables with Snowpipe.
- D
Replicate the provider database to every customer region and grant customers direct access to the provider's underlying tables.
Show answer and explanation
Correct answer: B
Explanation
The best answer is to use a Snowflake Marketplace listing backed by a secure share. Snowflake Marketplace is designed for providers to distribute and monetize data products to many Snowflake customers. Native data sharing allows consumers to access shared data from their own accounts without the provider copying data into each consumer environment. Shared data remains stored once in the provider account, and changes made by the provider are reflected to consumers automatically because the share exposes live objects rather than exported snapshots. Reader accounts are useful when the recipient does not have a Snowflake account, but they are not the best fit for broad Marketplace distribution to existing Snowflake customers. Likewise, exporting files to cloud storage or using replication for customer distribution adds unnecessary complexity or uses the wrong feature for the job. These behaviors align with Snowflake documentation on secure data sharing, listings, and Snowflake Marketplace best practices.
- A. Incorrect.
Incorrect. Reader accounts can be used to share data with parties that do not already have their own Snowflake accounts, but this does not scale well for monetizing to many existing Snowflake customers. It also introduces more operational overhead, especially if the goal is broad distribution through Snowflake Marketplace. The scenario specifically wants many Snowflake customers to access the data from their own accounts without separate copies per customer.
- B. Correct.
Correct. A Marketplace listing is the appropriate mechanism for broadly distributing data products to Snowflake customers. Listings are backed by secure shares, allowing consumers to create a database in their own accounts from the provider's shared objects. Because data sharing in Snowflake does not copy the underlying data, consumers see updates as the provider updates the source tables. This matches the requirements for monetization, no per-customer data copy, and near-real-time access from subscriber accounts.
- C. Incorrect.
Incorrect. Exporting to cloud storage and having each customer ingest the data reintroduces data movement, duplication, and pipeline management. It does not use Snowflake's native sharing capabilities and does not automatically provide the live, provider-managed updates that a secure share and Marketplace listing offer. This is a common misconception from traditional data distribution patterns.
- D. Incorrect.
Incorrect. Database replication is intended for business continuity, disaster recovery, and cross-region/account synchronization scenarios, not as the standard mechanism for distributing commercial datasets to many customers. In addition, customers do not get direct access to the provider's base tables in the provider account through replication in the way described. Snowflake Marketplace listings backed by secure shares are the correct feature for this use case.