Forum Discussion

Ben-Dev's avatar
Ben-Dev
Helper II
4 years ago
Solved

Persistent Cache in Power BI Service

Hello,

 

Desktop implementations of Power Query (e.g. Power BI Desktop, Excel) use a persistent cache that, in some cases, caches the data sent back in reply to queries/requests sent to external data sources.

 

IIRC, I've seen a few indications that the Power BI Service also has this kind of persistent cache. 

 

Questions πŸ™‚

  • Can someone from Microsoft officially confirm that the Power BI Service has this kind of cache?
  • Can anyone shed light on that cache's size in the Service (including whether it is different depending on Pro vs. Premium vs. Premium Per User)?

(For clarity, the caching referred to above is not at the report level, so is different from what's described in Query caching in Power BI Premium.)

 

Thank you,
Ben

  • Ehren's avatar
    Ehren
    4 years ago

    Yes, a persistent cache is used when refreshing queries in the PBI Service. However, the Service caching is slightly different than what happens when refreshing in Desktop. The primary difference is that in Desktop refresh, a single cache is shared by all the queries being refreshed. But in Service refresh, each query gets its own persistent cache. This can lead to Service refresh being slower than Desktop refresh, if the queries benefit from using the results cached by other queries in the dataset.

7 Replies

  • Datasets are loaded into the capacity memory. That's the equivalent of your "cache", but it's also fundamentally how the Power BI service works.  

     

    Either your dataset is in memory, or it isn't  (when it has been evicted due to inactivity).

  • Thanks, lbendlin! Actually, I'm referring to the external query caching that Power Query can do when loading data before it is in the dataset (so is different from whether or not the dataset is currently in memory).

    • lbendlin's avatar
      lbendlin
      Super User

      I don't think that's a thing, unless I misunderstand what you're trying to figure out.

  • Ehren, can you offer any insight here? When Power Query runs in the Power BI Service, is a persistent cache used (e.g. same as what happens in Power BI Desktop and Excel)?

    • Ehren's avatar
      Ehren
      Microsoft Employee

      Yes, a persistent cache is used when refreshing queries in the PBI Service. However, the Service caching is slightly different than what happens when refreshing in Desktop. The primary difference is that in Desktop refresh, a single cache is shared by all the queries being refreshed. But in Service refresh, each query gets its own persistent cache. This can lead to Service refresh being slower than Desktop refresh, if the queries benefit from using the results cached by other queries in the dataset.