Azure

Azure Data Lake Storage Gen2 (ADLS Gen2) Complete Design: HNS, Medallion Architecture, Partition Strategy

2026-05-24
NicheeLab Editorial Team

Azure Data Lake Storage Gen2 (ADLS Gen2) is a large-scale analytics storage service that adds a Hierarchical Namespace (HNS) to Azure Blob Storage. Microsoft Fabric's OneLake is also built on ADLS Gen2 internally, making it the cornerstone of Azure's data lake strategy. This article comprehensively covers the benefits of HNS, Medallion Architecture, partition strategy, access control, and Lifecycle Management.

Hierarchical Namespace (HNS) Benefits

ItemBlob Storage (no HNS)ADLS Gen2 (with HNS)
Directory RenameCopy → Delete every blob (slow and expensive)Atomic rename (instant)
Directory DeleteDelete every blob sequentiallyAtomic delete (instant)
Permission controlContainer level onlyPOSIX ACL (directory/file level)
HDFS compatibleNot supportedSupported (ABFS Driver)
List performanceStandardFast
PricingStandardHNS Transactions slightly higher

Enable the Hierarchical Namespace option when creating the Storage Account. For any new data lake, ADLS Gen2 is the only sensible choice — that's the modern standard.

Medallion Architecture

A data pipeline design pattern based on quality tiers in a data lake.

LayerRoleFormatUse case
Bronze (Raw)Ingest from source systems as-isCSV / JSON / Parquet / AvroLineage tracking and reprocessing
Silver (Cleansed)Cleansing, deduplication, JOIN, type conversionDelta Lake / ParquetPer business entity
Gold (Curated)Aggregation and business metricsDelta Lake / ParquetDashboards and ML training data

Standard Directory Structure

container/
├── bronze/
│   └── source/yyyy/mm/dd/
├── silver/
│   └── entity/yyyy/mm/dd/
└── gold/
    └── business/yyyy/mm/

This is the standard pattern in Databricks, Fabric Lakehouse, and Synapse, delivering data quality assurance, traceability, and reprocessing ease.

Partition Strategy

ADLS Gen2 partition strategy significantly impacts analytics performance and cost.

Common Patterns

StrategyExampleWhen to use
Date partitioningyyyy=2026/mm=05/dd=24/Time-series data, Predicate Pushdown
Hash partitioningregion=us/customer_hash=001/Balanced parallel processing
Composite partitioningyyyy/mm/dd/region/category/Multidimensional analysis

Best Practice

  • Aim for 1 GB-1 TB per partition
  • Avoid excessive granularity (splitting 1 PB across 1 million partitions degrades list performance)
  • With Delta Lake, use Z-Order or Liquid Clustering for secondary ordering
  • Write partitions with Spark's partitionBy() method
  • Use Lifecycle Management to auto-delete or archive old partitions

ABFS Driver

The ABFS (Azure Blob File System) Driver is the Hadoop-compatible driver for accessing ADLS Gen2.

URI Format

abfss://[email protected]/path/file
  • abfss: TLS-encrypted version (recommended)
  • abfs: Unencrypted version (not recommended)

Authentication Methods

  1. Storage Account Key (simple but legacy)
  2. SAS Token (time-limited access)
  3. Service Principal (recommended, via Workload Identity Federation)
  4. Managed Identity (most recommended for service-to-service within Azure)

With Databricks Unity Catalog, the ABFS URI is registered as an External Location in the catalog for unified management, eliminating the need to write URIs directly in Spark code.

POSIX ACL vs. RBAC: When to Use Which

MethodGranularityUse case
Azure RBACSubscription / RG / Storage Account / ContainerCoarse-grained
POSIX ACLDirectory/file levelFine-grained
Storage Account KeyFull accessEmergency
SAS TokenTime-limitedTemporary access

Both are evaluated with AND. Recommended pattern: Azure RBAC for coarse-grained (container-level) permissions plus POSIX ACL for fine-grained control. In Databricks Unity Catalog integrated environments, Unity Catalog acts as an abstraction layer, eliminating the need to directly manage POSIX ACLs.

Lifecycle Management

Typical Rules

  • Bronze: 30 days → Cool, 90 days → Cold, 365 days → Archive, 2,555 days (7 years) → delete
  • Silver: keep on Hot and delete old date partitions (no backup needed since regeneratable)
  • Gold: keep on Hot, backup required
  • Log data: 1 week Hot → 30 days Cool → 365 days Cold → 5 years Archive → delete
  • Intermediate data (Spark Shuffle, Intermediate): delete after 7 days

In production, the cost savings are dramatic (millions to tens of millions of yen per year) — an essential feature.

Security Best Practices

  1. Block public exposure with Private Endpoint (privatelink.dfs.core.windows.net)
  2. Disable Storage Account Key; standardize on SAS / RBAC / Managed Identity
  3. Encrypt with Customer-Managed Key (CMK) integrated with Key Vault
  4. Restrict Network Access to Selected Networks
  5. Enable Soft Delete and Versioning
  6. Enable Microsoft Defender for Storage
  7. Send Diagnostic Logs to Log Analytics → Microsoft Sentinel
  8. Separate Bronze/Silver/Gold permissions with POSIX ACL
  9. Enforce naming conventions and encryption with Azure Policy
  10. Track all access with Audit Logs

Integration with Microsoft Fabric / OneLake

Microsoft Fabric's OneLake is built on ADLS Gen2 internally, and external ADLS Gen2 can be referenced via Shortcuts.

  • Logically reference external ADLS Gen2 in OneLake via Shortcut (no data copy)
  • Multi-cloud (AWS S3 / GCS) also supported via Shortcut
  • Direct access from OneLake via Spark / Power BI

Related Certification Exams

Frequently Asked Questions

What is Azure Data Lake Storage Gen2 (ADLS Gen2)?

Azure Data Lake Storage Gen2 (ADLS Gen2) is a large-scale analytics storage service that adds a Hierarchical Namespace (HNS) to Azure Blob Storage. It supports both Blob-compatible APIs and HDFS-compatible APIs (ABFS Driver), allowing direct access from analytics engines such as Spark, Hadoop, Databricks, Synapse, and Fabric. HNS provides POSIX-like behavior (directory/file-level permissions and atomic rename), dramatically improving performance and usability for big data workloads. Enable the Hierarchical Namespace option when creating the Storage Account. Typical use cases include data lakes, data warehouse landing zones, ML datasets, IoT data, and log archives. Microsoft Fabric's OneLake is also built on ADLS Gen2 internally.

What are the benefits of Hierarchical Namespace (HNS)?

Key HNS benefits: 1) Atomic rename — directory renames are instant (Blob requires Copy → Delete for every blob, which is slow and expensive), dramatically speeding up Spark/Hadoop output directory renames at job completion. 2) Atomic delete — directory-level deletion is instant. 3) POSIX ACLs — fine-grained directory/file-level permission control (Blob only supports container-level). 4) Improved path-based query performance (list and filter operations). 5) HDFS-compatible APIs (ABFS Driver) enable natural Spark/Hadoop access. 6) Finer-grained Lifecycle Management (flexible rules with path conditions). HNS inherits the same tiers (Hot/Cool/Cold/Archive), replication, and encryption as Blob Storage. Pricing is nearly identical to Blob (HNS Transaction unit price is slightly higher). With virtually no downsides, ADLS Gen2 is the de facto standard choice for new data lakes.

What is Medallion Architecture (Bronze / Silver / Gold)?

Medallion Architecture is a data pipeline design pattern based on quality tiers in a data lake. Bronze (Raw Layer): ingest data from source systems as-is (CSV, JSON, Parquet, Avro) without schema normalization — immutable and append-only with lineage tracking. Silver (Cleansed Layer): cleanse, deduplicate, unify schemas, JOIN, and convert types from Bronze data, organized by business entity (e.g., customer master, order transactions) — typically in Delta Lake or Parquet format. Gold (Curated Layer): aggregate Silver data and compute business metrics for direct use in dashboards, reports, and ML training — star schema design is common. Standard directory structure: container/bronze/source/yyyy/mm/dd/, container/silver/entity/yyyy/mm/dd/, container/gold/business/yyyy/mm/. This is the standard pattern in Databricks, Fabric Lakehouse, and Synapse, delivering data quality assurance, traceability, and reprocessing ease.

How do you design a partition strategy?

ADLS Gen2 partition strategy significantly impacts analytics performance and cost. Common patterns: 1) Date partitioning (yyyy=2026/mm=05/dd=24/) — ideal for time-series data; Predicate Pushdown (Spark reads only required partitions) dramatically boosts performance. 2) Hash partitioning (region=us/customer_hash=001/) — balances parallel processing and avoids hot partitions. 3) Composite partitioning (yyyy/mm/dd/region/category/) — for multidimensional analysis, but beware of over-partitioning (splitting 1 PB across 1 million partitions degrades list performance). Best practice: aim for 1 GB-1 TB per partition and avoid excessive granularity. With Delta Lake, Z-Order and Liquid Clustering provide secondary ordering on top of partitions. Write partitions with Spark's partitionBy() method, and use Lifecycle Management to automatically delete or archive old partitions.

How do you use the ABFS Driver?

The ABFS (Azure Blob File System) Driver is the Hadoop-compatible driver for accessing ADLS Gen2. URI format: abfss://[email protected]/path/file. abfss is the TLS-encrypted version (recommended); abfs is unencrypted (not recommended). Supported natively by Spark, Hadoop, Databricks, Synapse, and Fabric. Authentication methods: 1) Storage Account Key (simple but legacy), 2) SAS Token (time-limited access), 3) Service Principal (recommended, via Workload Identity Federation), 4) Managed Identity (most recommended for service-to-service within Azure). Spark example: spark.conf.set('fs.azure.account.auth.type.<storage>.dfs.core.windows.net', 'OAuth') with Managed Identity configuration. With Databricks Unity Catalog, the ABFS URI is registered as an External Location in the catalog for unified management, eliminating the need to write URIs directly in Spark code.

When should you use POSIX ACL vs. RBAC?

ADLS Gen2 has four access control layers: Azure RBAC, POSIX ACL, Storage Account Key, and SAS Token. Azure RBAC: subscription/resource group/storage account/container level — assign built-in roles like Storage Blob Data Reader/Contributor to Microsoft Entra ID principals (Users, Groups, Service Principals, Managed Identities) — coarse-grained. POSIX ACL: Read/Write/Execute permissions at the directory/file level — the traditional POSIX Owner/Group/Others model plus extensions like Named User, Named Group, and Default ACL — fine-grained. Both are evaluated with AND (only access permitted by both passes). The recommended pattern is: Azure RBAC for coarse-grained (container-level) permissions plus POSIX ACL for fine-grained control (e.g., Engineering Team Read/Write on Bronze, Analytics Team Read-only on Silver). In Databricks Unity Catalog integrated environments, Unity Catalog acts as an abstraction layer, eliminating the need to directly manage POSIX ACLs.

How do you optimize cost with Lifecycle Management?

ADLS Gen2 supports the same Lifecycle Management policies as Blob Storage. Typical rules: 1) Bronze data — Hot → Cool at 30 days, Cool → Cold at 90 days, Cold → Archive at 365 days, delete at 2,555 days (7 years). 2) Silver data — keep on Hot and delete old date partitions (no backup needed since regeneratable). 3) Gold data — keep on Hot, backup required. 4) Log data — Hot for 1 week → Cool at 30 days → Cold at 365 days → Archive at 5 years → delete. 5) Intermediate data (Spark Shuffle, Intermediate) — delete after 7 days. In production, the cost savings are dramatic (millions to tens of millions of yen per year) — an essential feature. Using the Cold tier (GA in 2022 — faster retrieval than Archive at slightly higher cost) further improves cost efficiency. Last Accessed Tracking + Auto Tier features enable even smarter automatic optimization.

Which certification exams are related?

DP-700 (Fabric Data Engineer Associate) is the flagship certification for this area, with deep coverage of OneLake (built on ADLS Gen2). DP-203 (Azure Data Engineer Associate, retired in 2024-03) had ADLS Gen2 at its core. AZ-104 (Administrator) covers Storage broadly in Domain 2; AZ-305 (Solutions Architect Expert) covers data lake design from an architect's perspective; DP-300 (DBA) covers data integration; AI-103 (GA in 2026-06) covers AI/ML dataset storage. Databricks certifications (Data Engineer Associate/Professional) also frequently include ADLS Gen2 as foundational content. Understanding ADLS Gen2 is an essential skill for data engineers.

Related Articles and Technical Deep Dives

Azure AI エンジニア キャリアロードマップ|AI-901 → AI-103 → 生成 AI アーキテクトへの道【2026 年版】

Azure AI エンジニアになるための認定取得ロードマップ完全版。AI-901 (2026-06 GA、AI-900 後継) → AI-103 (2026-06 GA、AI-102 後継) の最新ルート、Azure AI Foundry / Agent Service / OpenAI 中心の生成 AI 時代の構成、Databricks GenAI / OpenAI Direct との二刀流戦略、年収レンジまで日本語で網羅。

Microsoft Fabric Lakehouse 入門|OneLake・Shortcut・Direct Lake・Medallion 実装【2026 年版】

Microsoft Fabric Lakehouse の入門ガイド。OneLake 統一ストレージ・Shortcut 外部参照・Direct Lake モード・Medallion Architecture (Bronze/Silver/Gold) 実装・Lakehouse 構築手順・Capacity Unit (CU) コスト管理・関連認定試験 (DP-700 / DP-600 / AI-103) を日本語で網羅。

DP-203 vs DP-700 完全比較|旧 Azure Data Engineer vs 新 Fabric Data Engineer の違いと移行戦略【2026 年版】

Microsoft Azure データエンジニア認定の旧 DP-203 (Azure Data Engineer Associate、2024-03 リタイア) と新 DP-700 (Fabric Data Engineer Associate、2024-11 GA) を完全比較。試験仕様・対象プラットフォーム・出題範囲・難易度・学習時間・キャリアパスを表形式で整理。Microsoft Fabric への移行戦略、既保有者の追加取得ルートを日本語で網羅。

Azure データエンジニア キャリアロードマップ|DP-900 → DP-700 → AI-103 シニアデータエンジニアへの道【2026 年版】

Azure データエンジニアになるための認定取得ロードマップ完全版。DP-900 → DP-700 → DP-600 / DP-300 の Fabric 時代の王道ルート、Databricks 認定との二刀流、AI-103 統合戦略、DP-203 リタイア後の選択、12-18 ヶ月の学習プラン、年収レンジまで日本語で網羅。

The technical information in this article is based on the Azure Data Lake Storage Gen2 Documentation. This article is not an official Microsoft Corporation product and has no affiliation or sponsorship. Microsoft, Azure, and Microsoft Fabric are trademarks of the Microsoft group of companies. Information is based on official public materials as of May 24, 2026. Always verify the latest information on the official pages.

Check what you learned with practice questions

Practice with certification-focused question sets

View Azure exam prep page
Author

NicheeLab Editorial Team

NicheeLab editorial team focused on data engineering and cloud certification learning. Content is structured around practical study needs and official exam domains.


Related articles
Azure

AZ-900 Azure Fundamentals: Complete Exam Guide (2026)

Pass AZ-900 — cloud concepts, Azure architecture, management...

Azure

Azure Certification Roadmap: Which Cert to Take Next (2026)

Choose your Azure certification path — Fundamentals, Associa...

Azure

AI-901 Azure AI Fundamentals (Beta): Complete Guide (2026)

Pass AI-901 — Microsoft Foundry, generative AI, responsible ...

Azure

Microsoft Entra ID Fundamentals for Azure Certs (2026)

Entra ID basics every cert candidate needs — tenants, identi...

Azure

DP-900 Azure Data Fundamentals: Complete Guide (2026)

Pass DP-900 — relational, non-relational, analytics, Power B...

Browse all Azure articles (104)
© 2026 NicheeLab All rights reserved.