Raw data rarely arrives ready to trust. Transformation is the engineering discipline of progressively improving data from raw copies into reliable, business-ready assets that consumers can depend on.
Bronze stores an auditable copy of source data with minimal transformation. The goal is preserving original fidelity plus ingestion metadata (load timestamp, source system, batch ID). Bronze is your safety net: if anything downstream breaks, you can always rebuild from here.
Silver is where engineering quality becomes organizational trust. Data is cleaned, deduplicated, validated, and conformed so that multiple teams can reuse it without relearning every source.
Gold organizes data around decisions, KPIs, products, and business questions. It is not merely clean data; it carries shared analytical meaning. Gold tables are the ones analysts query, dashboards consume, and ML models train on.
Select a library to understand when to use it and what it excels at.
Type: Single-machine DataFrame library. Best for: Data under ~10 GB, prototyping, ad-hoc analysis, data science workflows. Strengths: Huge ecosystem, familiar API, integrates with everything. Limitation: Single-threaded by default, loads everything into memory, does not scale to large datasets. For bigger data, consider Polars or PySpark.
| Library | Scale | Language | Best for | Key strength |
|---|---|---|---|---|
| Pandas | GBs | Python | Prototyping, small data | Ecosystem, familiarity |
| Polars | 10s of GBs | Rust (Python API) | Fast single-machine work | Speed, memory efficiency |
| DuckDB | 10s of GBs | SQL (Python API) | Local OLAP, Parquet queries | SQL on files, zero setup |
| PySpark | TBs to PBs | Python / Scala | Distributed processing | Horizontal scale |
| dbt | Warehouse scale | SQL + Jinja | Warehouse transforms | Testing, docs, modularity |
1. What is the primary purpose of the Bronze layer?
2. Which library would you choose for processing a 500 GB dataset distributed across a cluster?
3. What distinguishes Silver from Gold in the medallion architecture?
4. Which of these is NOT one of the six dimensions of data quality?
5. What is dbt primarily used for in a data pipeline?