COF-C03 Question 24
Single answerDatabase objectsA data engineering team maintains a shared analytics database named PROD_ANALYTICS. Before a major ETL change, an administrator creates a clone of the database named PROD_ANALYTICS_TEST so developers can validate the new pipeline without affecting production. During testing, developers update and delete rows in several cloned tables. A business analyst then asks whether those test changes could have modified the original PROD_ANALYTICS database or significantly increased storage for all unchanged data. Which statement is correct?
- A
Changes made in PROD_ANALYTICS_TEST also modify the original PROD_ANALYTICS tables because cloned objects still reference the same micro-partitions.
- B
The clone is read-only until all underlying tables are fully copied, so developers cannot update or delete data in PROD_ANALYTICS_TEST.
- C
Changes in PROD_ANALYTICS_TEST do not affect PROD_ANALYTICS, and Snowflake only stores additional data for changed micro-partitions because clones use copy-on-write storage.
- D
Creating the clone immediately duplicates all table data and storage costs for the full database, even if no changes are made in PROD_ANALYTICS_TEST.
Show answer and explanation
Correct answer: C
Explanation
The correct answer is that changes in the cloned database do not affect the source database, and Snowflake uses zero-copy cloning with copy-on-write storage. This is a core Snowflake database object concept: cloned databases, schemas, and tables are independent objects created quickly without fully copying underlying data at creation time. Storage impact is minimized because existing micro-partitions are shared logically until one side changes data. At that point, Snowflake creates new micro-partitions for the changed data only. This behavior is documented in Snowflake's guidance on zero-copy cloning and storage architecture. For exam purposes, candidates should know that cloning is commonly used for safe testing, development, and environment promotion because it isolates changes while reducing both provisioning time and initial storage overhead.
- A. Incorrect.
Incorrect. Snowflake zero-copy cloning initially references the same underlying micro-partitions, but cloned objects are independent logical objects. Subsequent DML changes in the clone do not alter the source database. A common misconception is that shared storage references imply shared write behavior; in Snowflake, copy-on-write semantics prevent changes in the clone from affecting the source.
- B. Incorrect.
Incorrect. A Snowflake clone is not read-only by default. Cloned databases, schemas, and tables are writable, provided the user has the required privileges. Snowflake does not require a full physical copy before allowing DML operations. This option reflects confusion between cloning and export/restore-style copy processes used in other platforms.
- C. Correct.
Correct. Snowflake database clones are created using zero-copy cloning. At creation time, the clone and source initially reference the same existing micro-partitions. When rows are changed in the clone, Snowflake writes new micro-partitions only for the modified data, leaving the source unchanged. This copy-on-write behavior provides fast cloning and avoids duplicating storage for unchanged data.
- D. Incorrect.
Incorrect. Snowflake does not immediately duplicate all storage when a database is cloned. Zero-copy cloning is specifically designed to avoid a full physical copy at clone time. Additional storage is consumed over time only as data diverges between the source and clone or as retention/time travel requirements preserve older versions.