SnowPro Associate: Platform Question 346
Single answer● CloningA data engineering team needs to create a test environment from the production SALES_DB database so developers can validate schema changes without affecting production. The team wants the copy to be created quickly, avoid unnecessary storage costs at creation time, and allow developers to modify tables independently of production afterward. Which Snowflake approach best meets these requirements?
- A
Create a zero-copy clone of SALES_DB for the test environment
- B
Use Time Travel to query historical data from SALES_DB instead of creating a separate environment
- C
Unload all SALES_DB tables to stage files and reload them into a new database for testing
- D
Create a database replica of SALES_DB in the same account and region for developer testing
Show answer and explanation
Correct answer: A
Explanation
Zero-copy cloning is a core Snowflake feature used to create fast, space-efficient copies of databases, schemas, and tables. At clone creation, Snowflake does not duplicate all underlying storage; instead, the clone and source initially reference the same micro-partitions, and new storage is consumed only as data changes independently. This makes cloning ideal for dev/test, QA, and experimentation scenarios. Time Travel is related because Snowflake can clone objects as of a prior point in time, but Time Travel alone is not a substitute for an isolated environment. Full unload/reload approaches are operationally heavier and more expensive up front. Replication serves different goals such as disaster recovery and data distribution rather than lightweight same-environment testing. These behaviors are consistent with Snowflake documentation on zero-copy cloning, storage architecture, and replication use cases.
- A. Correct.
Correct. A zero-copy clone creates a new database quickly by referencing the existing micro-partitions instead of physically copying all data at creation time. This minimizes initial storage cost and allows the cloned objects to diverge independently as changes are made in the test environment. This is the standard Snowflake approach for creating dev/test copies of databases, schemas, or tables.
- B. Incorrect.
Incorrect. Time Travel allows querying, restoring, or cloning data from a historical point within the retention period, but it does not by itself create an isolated test environment where developers can safely make independent changes. A separate clone or copied environment is still needed for that use case.
- C. Incorrect.
Incorrect. Unloading and reloading data would be much slower and would duplicate storage immediately, which does not meet the requirement to create the environment quickly and avoid unnecessary storage cost at creation time. This option is plausible because it does create an independent copy, but it is not the most efficient Snowflake-native solution.
- D. Incorrect.
Incorrect. Replication is designed primarily for business continuity and cross-region or cross-account scenarios, not for lightweight same-account developer test environments. It also is not the best fit for rapid, low-cost creation of an editable sandbox compared with zero-copy cloning.