ARA-C01 Question 246
Single answerZero-copy cloningA financial services company wants to refresh its UAT environment from production every Friday night with minimal storage growth and no impact on the production ETL schedule. The PROD_DB database contains large fact tables that use permanent storage and have 7-day Time Travel. The architect proposes using zero-copy cloning to create UAT_DB from PROD_DB. On Monday, developers in UAT will update and delete a significant amount of data for testing. Which statement best describes the expected behavior and architectural implication of this approach?
- A
The clone operation will initially be metadata-only and complete quickly; additional storage will be consumed later only for micro-partitions changed independently in PROD_DB or UAT_DB after the clone.
- B
The clone operation will copy all table data into UAT_DB during the refresh window, but it will avoid compute usage because cloning is a cloud services operation.
- C
The clone will remain storage-free even after UAT developers modify data, because zero-copy cloning permanently shares all underlying micro-partitions between source and clone.
- D
The clone cannot be created from a database with Time Travel enabled; Time Travel must be set to 0 days before zero-copy cloning can be used.
Show answer and explanation
Correct answer: A
Explanation
Zero-copy cloning is designed for use cases such as rapidly provisioning dev/test/UAT environments from production with minimal initial storage overhead. At clone creation, Snowflake copies only metadata references to the source objects; the underlying table data in micro-partitions is not physically duplicated. This makes cloning fast and suitable for tight refresh windows. After the clone exists, Snowflake uses copy-on-write semantics: when data changes occur in either the source or the clone, new micro-partitions are created for the changed data, and storage consumption increases only for the changed portions. This is the key architectural implication for UAT environments where developers will modify data after the refresh. Snowflake documentation on zero-copy cloning and storage explains that clones initially share existing micro-partitions and that storage diverges only as data is modified. This is why zero-copy cloning is a best practice for lower-cost, low-latency environment provisioning, while still requiring architects to plan for storage growth when cloned environments are actively changed.
- A. Correct.
Correct. Zero-copy cloning creates the clone by copying metadata pointers, so the initial clone is fast and does not duplicate all underlying data files at creation time. After the clone is created, Snowflake uses copy-on-write behavior at the micro-partition level. If PROD_DB or UAT_DB changes data independently, new micro-partitions are written for the changed data, and storage charges increase only for those diverging partitions. This makes the approach well-suited for fast environment refreshes with minimal initial storage growth.
- B. Incorrect.
Incorrect. This reflects a common misconception that cloning behaves like a physical copy but without compute. Zero-copy cloning does not copy all table data at clone time. Although cloning is metadata-based and typically fast, it is not a full data duplication during the refresh window. The key benefit is that data files are shared until changes occur.
- C. Incorrect.
Incorrect. Zero-copy cloning does not mean storage remains zero forever. The source and clone initially reference the same micro-partitions, but once either side modifies data, Snowflake writes new micro-partitions for the changed data. As a result, storage usage grows over time as the environments diverge. This is exactly what would happen when UAT developers perform updates and deletes on Monday.
- D. Incorrect.
Incorrect. Databases and schemas with Time Travel enabled can be cloned, and Time Travel is often relevant to cloning behavior. There is no requirement to set Time Travel retention to 0 days before creating a zero-copy clone. In practice, cloning is commonly used on production databases that have nonzero Time Travel retention.