ADA-C01 Question 241
Single answerIdentify use cases for cloning databases and tablesA retail company needs to let its QA team test a risky schema migration against the current production data in the SALES database. The team wants the test environment created quickly, with minimal additional storage cost up front, and without interrupting production workloads. After testing, the environment should be easy to discard. Which approach best meets these requirements?
- A
Create a zero-copy clone of the SALES database for QA, run the migration tests there, and drop the clone when testing is complete.
- B
Create a full COPY INTO export of all SALES tables to stage files, then recreate the database from those files for QA testing.
- C
Create a database replica of SALES in the same account and use it as the writable QA environment for migration testing.
- D
Unload the SALES data to external cloud storage, create empty QA tables, and reload the data so QA can modify it independently.
Show answer and explanation
Correct answer: A
Explanation
This scenario is a classic use case for Snowflake zero-copy cloning: creating short-lived development, QA, or testing environments from production data. Cloning supports databases, schemas, and tables, and it creates a writable point-in-time copy quickly without physically copying all data at creation time. Additional storage is only consumed as the source or clone changes over time. This makes cloning especially useful for schema migration testing, application validation, troubleshooting, and safe experimentation. By contrast, data export/import approaches are slower and costlier, and replication is designed primarily for availability and disaster recovery rather than writable test environments. Snowflake documentation on cloning and zero-copy cloning highlights these benefits and common use cases, including fast environment provisioning and low initial storage overhead.
- A. Correct.
Correct. A zero-copy clone is the most appropriate solution for this scenario. Snowflake cloning creates a point-in-time copy of a database, schema, or table almost instantly and initially without duplicating all underlying micro-partitions. This makes it ideal for creating temporary QA or dev environments from production data with minimal upfront storage cost. The clone is writable and isolated from the source, so the QA team can test schema changes safely and then drop the clone when finished.
- B. Incorrect.
Incorrect. Exporting with COPY INTO and rebuilding the environment is much slower and more operationally complex than cloning. It also introduces unnecessary data movement and storage costs. While it can produce an independent copy, it does not meet the requirement for quick setup and minimal upfront storage cost as effectively as zero-copy cloning.
- C. Incorrect.
Incorrect. Replication is intended for cross-region or cross-account business continuity and disaster recovery use cases, not for creating a writable test copy in the same account for schema migration testing. In addition, replicated databases are generally read-only on the secondary until failover, so they are not the right fit for QA teams that need to modify objects during testing.
- D. Incorrect.
Incorrect. Unloading and reloading data would create an independent environment, but it is inefficient for this use case. It requires extra steps, additional compute, and more storage, and it does not provide the speed and low-cost setup that zero-copy cloning is specifically designed to address.