nerdexam
Snowflake

SOL-C01 · Question #11

You are tasked with deploying a new data application to Snowflake. This application requires several schemas for staging, transformation, and reporting. What is the recommended approach to create thes

The correct answer is C. Utilize a third-party lac tool (e.g., Terraform) to define the schemas as resources, managing their. Using Terraform (or a similar IaC tool like Pulumi) to define Snowflake schemas as code resources is the gold standard because it enables version-controlled, repeatable, and environment-consistent deployments - you define schemas once and apply them identically to DEV, TEST, and

Snowflake Overview and Architecture

Question

You are tasked with deploying a new data application to Snowflake. This application requires several schemas for staging, transformation, and reporting. What is the recommended approach to create these schemas using Infrastructure as Code (laC) and ensuring consistency across multiple Snowflake environments (DEV, TEST, PROD)?

Options

  • AManually create the schemas in each environment using the Snowflake web UI, documenting the
  • BUse a Snowflake client (e.g., SnowSQL) and a script to execute 'CREATE SCHEMA' statements,
  • CUtilize a third-party lac tool (e.g., Terraform) to define the schemas as resources, managing their
  • DCopy the DDL (Data Definition Language) scripts generated by the Snowflake UI after manually
  • EUtilize Snowflake's data replication feature to replicate schemas between different environments

How the community answered

(37 responses)
  • A
    5% (2)
  • B
    3% (1)
  • C
    57% (21)
  • D
    24% (9)
  • E
    11% (4)

Explanation

Using Terraform (or a similar IaC tool like Pulumi) to define Snowflake schemas as code resources is the gold standard because it enables version-controlled, repeatable, and environment-consistent deployments - you define schemas once and apply them identically to DEV, TEST, and PROD with environment-specific variables. Option A fails because manual UI work is error-prone, undocumented in code, and impossible to audit or reproduce reliably. Option B (raw SQL scripts via SnowSQL) is better than manual work but lacks state management - Terraform tracks what exists and only applies diffs, while scripts re-run blindly and risk errors. Option D (copy-pasting DDL from the UI) is just a semi-automated version of the manual approach - it still lacks environment parity guarantees and version control discipline. Option E (data replication) is designed to sync data, not to provision infrastructure, so it's the wrong tool entirely.

Memory tip: Think "IaC = Immutable, auditable, Consistent" - whenever a question mentions multiple environments needing the same infrastructure setup, the answer is always the tool that manages state and drift, which points to Terraform/IaC over scripts or manual methods.

Topics

#Infrastructure as Code#Schema Management#Multi-environment Deployment#Terraform

Community Discussion

No community discussion yet for this question.

Full SOL-C01 Practice