ARA-C01 Question 169
Single answerProduction/development/sandboxA global retailer runs a Snowflake production account that contains regulated customer data. The architecture team must provide two non-production environments for a new analytics program: (1) a development environment where engineers can iterate quickly on changing schemas, and (2) a sandbox environment for business analysts to experiment without affecting shared objects or creating unnecessary long-term storage costs. The company wants the environments to be created quickly from production, minimize additional storage where possible, and ensure that analysts cannot accidentally modify the shared development baseline. Which approach best meets these requirements?
- A
Create a full copy of the production databases for both development and sandbox, then grant analysts read/write access to the development copy.
- B
Create a zero-copy clone of the production database for development, and let analysts create their own zero-copy clones of the development database or schemas for sandbox use with appropriately limited privileges.
- C
Use database replication to create the development environment and a database failover group for sandbox so analysts can test against near-real-time data without cloning.
- D
Unload production data to external stage files and reload it into separate development and sandbox databases to avoid sharing metadata with production.
Show answer and explanation
Correct answer: B
Explanation
The best architectural choice is to use zero-copy cloning to create production-derived non-production environments. In Snowflake, clones are metadata-based copies of databases, schemas, and tables that can be created quickly without initially duplicating storage. This makes them ideal for provisioning development, test, and sandbox environments from production while controlling cost. A shared development clone can serve as the baseline for engineers, and additional sandbox clones derived from that baseline provide safe, isolated spaces for analysts or developers to experiment. Because clones are writable, access control is important: analysts should be restricted from changing the shared development environment and instead work in their own sandbox clones. This aligns with Snowflake best practices for using cloning in SDLC-style workflows and minimizing storage consumption by paying only for changed data after clone creation.
- A. Incorrect.
This is incorrect because full copies duplicate storage immediately and do not align with the requirement to minimize additional storage and create environments quickly. Granting analysts read/write access to the shared development copy also increases the risk that they will alter the common development baseline, which the scenario explicitly wants to avoid.
- B. Correct.
This is correct. Zero-copy cloning is the standard Snowflake mechanism for rapidly creating development and test-style environments from production data and metadata without initially duplicating underlying micro-partition storage. Separate sandbox clones allow analysts to experiment independently, while limited privileges help prevent modification of the shared development baseline. Additional storage is consumed only for changed data, making this well suited for development and sandbox isolation with cost control.
- C. Incorrect.
This is incorrect because replication and failover groups are designed for business continuity, disaster recovery, and cross-region or cross-account synchronization use cases, not as the primary mechanism for creating isolated development and sandbox environments for experimentation. They also do not directly solve the requirement that analysts should not modify the shared development baseline.
- D. Incorrect.
This is incorrect because unloading and reloading data is operationally heavier, slower, and more storage-intensive than cloning. It also loses many of the advantages of cloning, such as preserving object structures quickly and efficiently. This approach might be chosen by someone who assumes physical separation is required, but in Snowflake, zero-copy cloning is typically the recommended pattern for non-production copies when speed and storage efficiency matter.