Join us for an expert-led overview of the tools and concepts you'll need to pass exam PL-300. The first session starts on June 11th. See you there!
Get registeredPower BI is turning 10! Let’s celebrate together with dataviz contests, interactive sessions, and giveaways. Register now.
Hello ,
I have question why to refresh the semantic model from the service via the refresh icon or button it's prohibited and it will consume all the resoucres , but to refresh the whole model from ADF it's ok
Thank you
Solved! Go to Solution.
Hello @ahmedshalabyy12 ,
That's a very insightful question! Let me explain why refreshing a semantic model directly from the Power BI Service using the refresh button is not recommended, while refreshing it via Azure Data Factory (ADF) is preferred approach.
Manual Refresh from Power BI Service
When you click the refresh icon on the Power BI Service:
- It triggers a full dataset refresh immediately, without considering resource availability or scheduling.
- It can consume high capacity resources, especially if triggered during business hours or alongside other processes.
- There is no orchestration, no dependency checks, and no retry mechanism.
- For large models, this can lead to gateway bottlenecks, timeouts, or capacity overload.
- Manual refreshes don’t scale in enterprise setups and can negatively impact other users/models sharing the same capacity.
Refresh via Azure Data Factory (ADF)
ADF offers a fully orchestrated, automated, and scalable approach:
- Refreshes can be scheduled and batched during off-peak hours.
- You can chain the refresh after data loading or transformation processes (e.g., Synapse, Dataflow, Data Lake updates).
- ADF provides error handling, logging, retry policies, and monitoring dashboards.
- It ensures consistent refresh logic across environments (Dev/Test/Prod).
- It aligns with enterprise-grade data pipelines and CI/CD practices.
1. Resource Efficiency
Manual Refresh: Can overuse capacity resources unexpectedly.
ADF Refresh: Optimized usage with planned execution.
2. Automation & Scheduling
Manual Refresh: Requires manual trigger; no built-in scheduling.
ADF Refresh: Fully automated with flexible scheduling options.
3. Retry and Failure Handling
Manual Refresh: No retry mechanism if the refresh fails.
ADF Refresh: Supports retries and failure workflows.
4. Dependency Management
Manual Refresh: Cannot coordinate with upstream processes.
ADF Refresh: Can be set to run only after data prep steps complete.
5. Governance and Monitoring
Manual Refresh: Limited visibility and audit tracking.
ADF Refresh: Offers detailed logs, alerts, and monitoring dashboards.
6. Enterprise Readiness
Manual Refresh: Not scalable for large or critical workloads.
ADF Refresh: Built for enterprise-grade orchestration and pipelines.
7. Capacity Optimization
Manual Refresh: May lead to contention during peak times.
ADF Refresh: Can be scheduled in off-peak hours for efficient capacity use.
Using ADF (or any orchestration layer like Logic Apps, Power Automate, or Azure Synapse pipelines) provides a 100% justified, controlled, and scalable refresh mechanism for semantic models, especially important for enterprise-grade Power BI implementations.
So if i trigger the refresh button manually for example at 5 AM there's no peak and no one is using the resources it will be the same as using adf ?
Hello @ahmedshalabyy12 ,
That's a very insightful question! Let me explain why refreshing a semantic model directly from the Power BI Service using the refresh button is not recommended, while refreshing it via Azure Data Factory (ADF) is preferred approach.
Manual Refresh from Power BI Service
When you click the refresh icon on the Power BI Service:
- It triggers a full dataset refresh immediately, without considering resource availability or scheduling.
- It can consume high capacity resources, especially if triggered during business hours or alongside other processes.
- There is no orchestration, no dependency checks, and no retry mechanism.
- For large models, this can lead to gateway bottlenecks, timeouts, or capacity overload.
- Manual refreshes don’t scale in enterprise setups and can negatively impact other users/models sharing the same capacity.
Refresh via Azure Data Factory (ADF)
ADF offers a fully orchestrated, automated, and scalable approach:
- Refreshes can be scheduled and batched during off-peak hours.
- You can chain the refresh after data loading or transformation processes (e.g., Synapse, Dataflow, Data Lake updates).
- ADF provides error handling, logging, retry policies, and monitoring dashboards.
- It ensures consistent refresh logic across environments (Dev/Test/Prod).
- It aligns with enterprise-grade data pipelines and CI/CD practices.
1. Resource Efficiency
Manual Refresh: Can overuse capacity resources unexpectedly.
ADF Refresh: Optimized usage with planned execution.
2. Automation & Scheduling
Manual Refresh: Requires manual trigger; no built-in scheduling.
ADF Refresh: Fully automated with flexible scheduling options.
3. Retry and Failure Handling
Manual Refresh: No retry mechanism if the refresh fails.
ADF Refresh: Supports retries and failure workflows.
4. Dependency Management
Manual Refresh: Cannot coordinate with upstream processes.
ADF Refresh: Can be set to run only after data prep steps complete.
5. Governance and Monitoring
Manual Refresh: Limited visibility and audit tracking.
ADF Refresh: Offers detailed logs, alerts, and monitoring dashboards.
6. Enterprise Readiness
Manual Refresh: Not scalable for large or critical workloads.
ADF Refresh: Built for enterprise-grade orchestration and pipelines.
7. Capacity Optimization
Manual Refresh: May lead to contention during peak times.
ADF Refresh: Can be scheduled in off-peak hours for efficient capacity use.
Using ADF (or any orchestration layer like Logic Apps, Power Automate, or Azure Synapse pipelines) provides a 100% justified, controlled, and scalable refresh mechanism for semantic models, especially important for enterprise-grade Power BI implementations.
So if i trigger the refresh button manually for example at 5 AM there's no peak and no one is using the resources it will be the same as using adf ?
Hi @ahmedshalabyy12 ,
Manual refresh at 5 AM can mimic ADF in performance, but ADF is the better choice for reliability, automation, and scalability, especially in enterprise or production scenarios.
Regards,
Sreeteja
Refreshing a semantic model (dataset) directly from the Power BI Service using the refresh button can be problematic in certain scenarios—particularly after migrations or with large models—because this action triggers a full or policy-based refresh directly through the Power BI infrastructure. This refresh uses the default service resources and can strain shared capacity, especially if the dataset is large, uses complex transformations, or relies on incremental refresh with historical partitions. Power BI has limited control over queuing, throttling, and dependency management when triggered this way, which can result in timeout errors or high resource consumption during peak hours.
On the other hand, when the refresh is triggered through Azure Data Factory (ADF), it is typically part of a managed pipeline that can be scheduled, monitored, and better optimized. ADF allows you to sequence data processing, manage retries, and even stagger refreshes across models. Importantly, ADF can also run refresh operations during off-peak hours and control concurrency, reducing the risk of overloading the Power BI environment. Therefore, while both methods ultimately initiate the same underlying refresh logic, ADF gives administrators greater operational control, helping to avoid capacity spikes and offering more reliable and scalable data orchestration, especially in production-grade solutions.
So if i trigger the refresh button manually for example at 5 AM there's no peak and no one is using the resources it will be the same as using adf ?
User | Count |
---|---|
47 | |
31 | |
27 | |
27 | |
26 |
User | Count |
---|---|
56 | |
55 | |
36 | |
33 | |
28 |