The short answer
A data lake in Azure Data Lake Storage Gen2 (ADLS Gen2) separates data across distinct containers following the , using the hierarchical namespace for efficient atomic directory renames and lifecycle policies to reduce long-term storage fees.
Medallion container layout
Dumping raw ingestion files into the same folder as clean tables creates permission sprawl and slows down analytics. Data engineering teams divide ADLS Gen2 into three primary containers:
- Bronze (raw): Stores immutable append-only raw data in its native format (, CSV, Avro) partitioned by source system and ingestion date, such as
raw/crm/ingest_date=2026-10-17/. - Silver (curated): Holds cleansed, validated, and deduplicated Delta Lake or Parquet tables partitioned by event date, ready for transformation jobs.
- Gold (analytical): Contains business-level aggregates, dimension and , and feature stores optimized for Power BI and Synapse SQL queries.
adls-storage-account/
|-- bronze/ (raw append-only payloads, JSON/CSV)
|-- silver/ (cleaned, deduplicated Delta tables)
`-- gold/ (aggregated star-schema facts for reporting)Storage access tiers and lifecycle rules
Data stored in the lake cools down over time as recent receive the majority of query traffic. ADLS Gen2 provides four access tiers:
- Hot tier: Default for active ingest and frequent pipeline processing with lowest transaction fees.
- Cool tier: Lower storage cost with slightly higher retrieval fees, suitable for silver datasets older than 30 days.
- Cold tier: Deeply discounted storage designed for raw files accessed less than once a quarter.
- Archive tier: Lowest storage pricing for compliance records, with rehydration times taking up to 15 hours.
Configuring automated lifecycle management rules moves raw bronze files to the cool tier after 30 days, transitions them to cold storage after 90 days, and deletes temporary staging directories automatically.