KUNDUL Let's talk

Implementing Medallion Architecture on Snowflake

How to map Bronze, Silver, and Gold to Snowflake and dbt.

Map layers to databases and schemas

On Snowflake, each medallion layer can be a separate schema (e.g. raw, silver, gold) or a separate database if you want stronger isolation. Ingest data (e.g. via Fivetran or Snowpipe) into the Bronze schema; use dbt to build Silver and Gold in their schemas. Control access with roles so that, for example, only Gold (and maybe Silver) is exposed to analysts and BI tools.

Bronze: raw landing

Bronze tables should look like the source: same structure, optional metadata columns (e.g. _loaded_at). Fivetran and similar tools often write directly into a Bronze-style schema. If you’re loading from files or streams, use stages and COPY into tables. Avoid transformation here; the goal is to keep a reliable, replayable raw layer.

Silver and Gold with dbt

In dbt, define sources pointing at Bronze tables. Your staging models (light cleaning, renaming) can be considered the start of Silver; intermediate models (dedup, conformed keys, one entity per table) are Silver. Marts—aggregations, wide tables, topic-based datasets—are Gold. Use dbt’s schema config so Silver and Gold models materialize into the right Snowflake schemas. Add tests and docs so the medallion layers stay documented and trustworthy.

Need help implementing Snowflake data architecture?

Kundul helps teams implement Snowflake data engineering platforms with medallion architecture, dbt transformations, and dependable ingestion pipelines.

Book a call

Learn more