Forum Discussion

ahmedshalabyy12's avatar
1 year ago
Solved

Refreshing the model from the service

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 

  • Anonymous's avatar
    Anonymous
    1 year ago

    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 ?

5 Replies

  • Hi ahmedshalabyy12 

    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.

     

    • ahmedshalabyy12's avatar
      ahmedshalabyy12
      Icon for Helper V rankHelper V

      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 ?

  • Anonymous's avatar
    Anonymous
    Not applicable

    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.

     

    • ahmedshalabyy12's avatar
      ahmedshalabyy12
      Icon for Helper V rankHelper V

      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 ?

      • Anonymous's avatar
        Anonymous
        Not applicable

        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