ARA-C01 Question 147
Single answerData ExchangeA data provider uses Snowflake Data Exchange to share a curated listings dataset with several external business units. The provider must meet these requirements: consumers should see updates to the shared data without the provider copying data for each consumer; the provider must be able to stop access for one consumer immediately without affecting others; and each consumer must be prevented from changing the shared objects. Which approach best satisfies these requirements?
- A
Create a separate database copy for each consumer account and grant each consumer read-only access to its copy.
- B
Create a share containing the required database objects, publish the share as a listing in a Data Exchange, and let each consumer create a database from the shared listing.
- C
Export the dataset to external cloud storage for each consumer and register the files as external tables in the consumers' accounts.
- D
Replicate the provider database to each consumer region and allow consumers to query the replicated databases directly.
Show answer and explanation
Correct answer: B
Explanation
Snowflake Data Exchange is built on secure data sharing. In this model, a provider creates a share containing supported securable objects such as databases, schemas, tables, secure views, and certain other objects, then publishes access through a listing in a Data Exchange. Consumers create a database from the listing and query the provider's live data directly. This avoids copying data for each consumer, which is a core advantage of secure sharing. Shared databases are read-only to consumers, satisfying the immutability requirement. Access can be controlled and revoked for specific consumers without affecting others. By contrast, database copies and replication introduce extra storage and administration, while external file distribution is not the intended architecture for Snowflake Data Exchange. These behaviors are consistent with Snowflake documentation for Secure Data Sharing, Listings, and Data Exchange best practices.
- A. Incorrect.
Incorrect. Creating separate database copies introduces additional storage and operational overhead for each consumer. It also does not align with Snowflake's secure data sharing model, which allows live access to the provider's data without copying it to each recipient. While access could be revoked per consumer, this design is less efficient and not the recommended pattern for Data Exchange-based sharing.
- B. Correct.
Correct. A share/listing-based approach is the intended Snowflake pattern for Data Exchange. Secure data sharing lets consumers access the provider's live data without the provider copying the data for each consumer. Consumers create a read-only database from the listing, so they cannot modify the shared objects. The provider can also revoke access for a single consumer without impacting other consumers because access is controlled at the consumer/listing/share level.
- C. Incorrect.
Incorrect. Exporting data to cloud storage and having consumers use external tables adds unnecessary complexity, file management, and latency. It also breaks the requirement that consumers should see updates without the provider creating separate copies for each consumer. This option resembles file distribution rather than Snowflake Data Exchange and secure sharing.
- D. Incorrect.
Incorrect. Database replication is designed for business continuity, disaster recovery, and cross-region/cross-account replication scenarios, not as the primary mechanism for broad marketplace or exchange-style data sharing. Replication creates additional copies and is not the best fit for providing multiple consumers with live, read-only access while minimizing duplication.