
Direct Lake Mode in Microsoft Fabric
Query OneLake data with import-like performance.
Direct Lake is a new storage mode that combines the performance of Import with the freshness of DirectQuery.
What is Direct Lake?
Direct Lake reads directly from Delta tables in OneLake: - No data copy to Power BI model - Near-import query performance - Data always current - Reduced storage costs
How It Works
Parquet Reading Direct Lake reads Delta Parquet files: - Native format in OneLake - Optimized for analytics - Version controlled
Framing Creates lightweight model: - Metadata only in model - Points to OneLake data - Updates with refreshes
Query Execution On query: - Reads required columns - Uses OneLake caching - Falls back to DirectQuery if needed
When to Use Direct Lake
Best Scenarios - Large datasets in Lakehouse - Need fresh data - Want import performance - Reduce model size
Consider Alternatives When - Complex DAX not supported - Source not in OneLake - Need row-level transforms
Setting Up Direct Lake
Step 1: Create Lakehouse Store data in Delta tables in Fabric Lakehouse.
Step 2: Create Semantic Model Build model from Lakehouse tables: - Choose Direct Lake mode - Define relationships - Add measures
Step 3: Monitor Performance Watch for fallbacks: - Check query plans - Optimize table structure - Add needed columns
Optimization
- Proper Delta table partitioning
- V-Order optimization
- Minimize columns
- Design for Direct Lake patterns
Frequently Asked Questions
When should I use Direct Lake vs Import?
Use Direct Lake when your data is in OneLake Lakehouses and you want fresh data without copying. Use Import when you need complex transformations, data from multiple sources, or when Direct Lake falls back too frequently.
What happens when Direct Lake falls back to DirectQuery?
If a query cannot be satisfied from the Direct Lake cache (due to unsupported operations or missing columns), it falls back to DirectQuery mode, which may be slower. Monitor fallbacks and optimize to minimize them.