AEO Primer · 4 min read · May 2026
What is Direct Lake Mode? The Power BI Storage Mode for Microsoft Fabric
By Thinklytics Partners, Practitioner Notes
Direct Lake mode is a Power BI semantic model storage mode that reads Delta files in OneLake directly without an import step, giving near-Import performance without dataset refresh complexity.
Direct Lake mode is a Power BI semantic model storage mode that reads Delta-format files in OneLake directly into the VertiPaq engine, giving Import-mode performance without the scheduled refresh overhead Import requires. It launched with Microsoft Fabric in 2023 and is the recommended default for Fabric-native semantic models above 10 GB.
What Direct Lake actually is
Power BI has three semantic model storage modes:
- Import: data is copied into the VertiPaq columnar engine via a scheduled refresh. Fast queries, but refresh windows and storage limits constrain large datasets.
- DirectQuery: each visual query is translated to a query against the source system at user query time. Live data, but query latency tracks the source's load.
- Direct Lake: data lives as Delta-Parquet files in OneLake. The VertiPaq engine reads the Delta files on demand, into memory, without an explicit import step.
The trick is that VertiPaq treats the on-disk Delta files like an extended cache. When a column is queried, VertiPaq pulls the relevant Delta segments into RAM and serves the query at near-Import speed. When memory pressure forces eviction, the cache reloads on the next query, with a small first-query latency tax.
What people confuse it with
- "Direct Lake is DirectQuery against a lake." Wrong. DirectQuery sends queries to the source's compute engine. Direct Lake reads files into VertiPaq directly and never asks an external engine to run the query.
- "Direct Lake means I never have to think about refresh again." Mostly true but not fully. There is a "framing" operation that updates the dataset metadata after Delta tables change, which is faster than a full refresh but still a discrete operation.
- "Direct Lake works with any Lakehouse." Only with OneLake-hosted Delta tables. External Iceberg or Hive tables do not work in Direct Lake mode.
When Direct Lake matters
Direct Lake matters when:
- The semantic model is above 10 GB and Import refresh windows are painful.
- The data already lives in OneLake (or is migrating there) as Delta-Parquet.
- The team wants Import-mode performance with no scheduled refresh operations.
When Direct Lake does not help
Direct Lake does not help when:
- Datasets are under 1 GB and Import is operationally simpler.
- Source data sits outside OneLake (Snowflake, BigQuery, external SQL) and cannot be landed in OneLake.
- The workload requires sub-second latency on rapidly-updated rows where VertiPaq cache reload latency becomes the bottleneck.
The silent failure mode to watch for: DAX patterns that worked under Import sometimes fall back to DirectQuery mode under Direct Lake, costing 5x to 20x in query latency. The fix is usually a model-design change rather than a DAX rewrite, but the diagnosis requires Performance Analyzer and a careful audit.
How Thinklytics designs for Direct Lake
We size the underlying Delta tables for V-Order encoding, partition for Lakehouse query pruning, and audit existing DAX patterns for silent DirectQuery fallback risk. The semantic model design is the high-leverage decision; the storage mode follows from it. See Power BI semantic model design that scales for the broader pattern.
Frequently asked questions
What is Direct Lake mode in one sentence?
Direct Lake is a Power BI semantic model storage mode (alongside Import and DirectQuery) that reads Delta-format files in OneLake directly into the VertiPaq engine on demand, giving Import-mode performance without the refresh overhead.
How does Direct Lake compare to Import mode?
Direct Lake gets within 10 to 15 percent of Import performance on most analytical queries, with no scheduled refresh step. Import is still simpler operationally for small datasets under 1 GB. Direct Lake wins for any new semantic model above 10 GB on Fabric.
How does Direct Lake compare to DirectQuery?
DirectQuery sends every visual query to the source system at user query time, which makes performance dependent on the source's load. Direct Lake bypasses this by reading Delta files columnar into memory. Direct Lake is dramatically faster for analytical workloads. DirectQuery survives only for true live-source requirements.
When should I NOT use Direct Lake?
Three cases. First, datasets under 1 GB where Import is simpler. Second, datasets in non-OneLake sources (Snowflake, BigQuery, external SQL) where you cannot host the data in OneLake. Third, workloads requiring sub-second latency on hot, frequently-updated rows, where the VertiPaq cache reload latency becomes the bottleneck.
What are Direct Lake's limitations?
Direct Lake requires data to land in OneLake as Delta-Parquet. Calculated columns and certain DAX patterns that worked under Import fall back to DirectQuery mode under Direct Lake, sometimes silently. The fallback typically costs 5x to 20x in query latency until the pattern is fixed.
Does Direct Lake change semantic model design?
Yes. With Import, the model designer optimizes for compression and refresh windows. With Direct Lake, the designer optimizes for Delta file partitioning, V-Order encoding, and Lakehouse query pruning. The DAX and relationships look the same, but the optimization decisions point at different problems.
Is Direct Lake mode the default for new Power BI in Fabric?
Yes, for Fabric-native deployments. Microsoft recommends Direct Lake as the default mode for new semantic models above 10 GB on Fabric. Import remains the default for non-Fabric Power BI workspaces and for small datasets.
How does Thinklytics design for Direct Lake?
Direct Lake-aware semantic model design is part of every Fabric engagement. We size the underlying Delta tables for V-Order encoding, partition for Lakehouse query pruning, and audit DAX patterns for silent DirectQuery fallback risk. See Power BI semantic model design that scales.
Topics covered
- Direct Lake mode
- Power BI semantic model
- Import vs DirectQuery
- OneLake Delta
- Power BI Fabric
- VertiPaq cache
Frequently asked questions
What is Direct Lake mode in one sentence?
Direct Lake is a Power BI semantic model storage mode (alongside Import and DirectQuery) that reads Delta-format files in OneLake directly into the VertiPaq engine on demand, giving Import-mode performance without the refresh overhead.
How does Direct Lake compare to Import mode?
Direct Lake gets within 10 to 15 percent of Import performance on most analytical queries, with no scheduled refresh step. Import is still simpler operationally for small datasets under 1 GB. Direct Lake wins for any new semantic model above 10 GB on Fabric.
How does Direct Lake compare to DirectQuery?
DirectQuery sends every visual query to the source system at user query time, which makes performance dependent on the source's load. Direct Lake bypasses this by reading Delta files columnar into memory. Direct Lake is dramatically faster for analytical workloads. DirectQuery survives only for true live-source requirements.
When should I NOT use Direct Lake?
Three cases. First, datasets under 1 GB where Import is simpler. Second, datasets in non-OneLake sources (Snowflake, BigQuery, external SQL) where you cannot host the data in OneLake. Third, workloads requiring sub-second latency on hot, frequently-updated rows, where the VertiPaq cache reload latency becomes the bottleneck.
What are Direct Lake's limitations?
Direct Lake requires data to land in OneLake as Delta-Parquet. Calculated columns and certain DAX patterns that worked under Import fall back to DirectQuery mode under Direct Lake, sometimes silently. The fallback typically costs 5x to 20x in query latency until the pattern is fixed.
Does Direct Lake change semantic model design?
Yes. With Import, the model designer optimizes for compression and refresh windows. With Direct Lake, the designer optimizes for Delta file partitioning, V-Order encoding, and Lakehouse query pruning. The DAX and relationships look the same, but the optimization decisions point at different problems.
Is Direct Lake mode the default for new Power BI in Fabric?
Yes, for Fabric-native deployments. Microsoft recommends Direct Lake as the default mode for new semantic models above 10 GB on Fabric. Import remains the default for non-Fabric Power BI workspaces and for small datasets.
How does Thinklytics design for Direct Lake?
Direct Lake-aware semantic model design is part of every Fabric engagement. We size the underlying Delta tables for V-Order encoding, partition for Lakehouse query pruning, and audit DAX patterns for silent DirectQuery fallback risk. See [Power BI semantic model design that scales](/insights/power-bi-semantic-model-design-that-scales-2026).