Forum Discussion
DirectLake Semantic model and report
Does Directlake semantic model needs to be refreshed?
If I am using Directlake mode instead of import mode, how it will affect the compute unit usage?
I have one report with import mode and the semantic model takes aroung 7 min to refresh.
Now I migrated that report and change the import mode to a directlake semantic model.
How much CU usagae I am going to save.
Shubham_rai955 , Direct Lake semantic model means your data is stored in a Lakehouse or Warehouse, and that data still needs to be refreshed.
If the direct lake semantic model is set to auto-refresh, it will automatically pick up the latest data whenever changes occur.
Auto-refresh can also be turned off for Direct Lake, in which case you need to refresh it manually(or schedule or add to pipeline) — and it usually takes only a few seconds.
This is done so that during ongoing ETL processes, you don’t see partial or inconsistent changes in half of the tables.
2 Replies
- amitchandakSuper User
Shubham_rai955 , Direct Lake semantic model means your data is stored in a Lakehouse or Warehouse, and that data still needs to be refreshed.
If the direct lake semantic model is set to auto-refresh, it will automatically pick up the latest data whenever changes occur.
Auto-refresh can also be turned off for Direct Lake, in which case you need to refresh it manually(or schedule or add to pipeline) — and it usually takes only a few seconds.
This is done so that during ongoing ETL processes, you don’t see partial or inconsistent changes in half of the tables. - Ray_MindsSolution Supplier
Answer :
Impact of Switching from Import Mode to DirectLake on Compute Unit (CU) Usage :
When we migrate a Power BI semantic model from Import mode to DirectLake mode, the way capacity consumes Compute Units (CUs) changes. This is because the two modes handle data refresh and query execution very differently.
1. Import Mode CU Consumption
- Refresh Behavior: Import mode performs a full data copy from the source into the semantic model during every refresh. This involves:
- Reading data from the source (Lakehouse, SQL, etc.).
- Compressing and storing it in VertiPaq in-memory engine.
- CU Impact: Refresh operations are classified as background operations in Fabric and consume significant compute resources (CPU and memory). For large datasets, refresh can take minutes and use thousands of CU-seconds depending on size and complexity.
Example: A 7-minute refresh for a large model can easily consume hundreds of thousands of CU-seconds.
2. DirectLake Mode CU Consumption
- Refresh Behavior: DirectLake does not copy data into the semantic model. Instead, it references Delta tables in OneLake. A refresh in DirectLake only updates metadata, which takes seconds and consumes negligible compute.
“A Direct Lake refresh copies only metadata, which can take a few seconds to complete. In contrast, Import refresh produces a copy of the data, which can take considerable time and consume significant capacity resources.” [learn.microsoft.com]
- CU Impact:
- Refresh CU usage ≈ near zero compared to Import mode.
- Queries are processed by VertiPaq engine, similar to Import mode, but data is loaded on-demand from OneLake.
- Initial queries may incur some CU cost for loading columns into memory, but this is far less than repeated full refreshes.
3. How Much CU Will You Save?
- If your Import mode refresh takes 7 minutes, switching to DirectLake will eliminate almost all CU consumption for refreshes.
- You will still incur CU usage for interactive queries, but this is typically much lower than the cost of scheduled refreshes.
- Real-world community feedback shows that DirectLake can reduce refresh-related CU usage by >95%, especially for large models.
4. Key Benefits Beyond CU Savings
- Near real-time data availability (no waiting for refresh cycles).
- Lower operational overhead (no complex refresh scheduling).
- Scalability for very large datasets without hitting memory limits.
Best Practices for DirectLake
- Optimize Delta tables with V-Order and large row groups for best query performance.
- Monitor CU usage via Fabric Capacity Metrics App.
- Scalability for very large datasets without hitting memory limits.
- Real-world community feedback shows that DirectLake can reduce refresh-related CU usage by >95%, especially for large models.
- Initial queries may incur some CU cost for loading columns into memory, but this is far less than repeated full refreshes.
- Refresh Behavior: DirectLake does not copy data into the semantic model. Instead, it references Delta tables in OneLake. A refresh in DirectLake only updates metadata, which takes seconds and consumes negligible compute.
- Refresh Behavior: Import mode performs a full data copy from the source into the semantic model during every refresh. This involves: