Skip to Content
Technical Articles

SAP HANA Result Cache: Static and Dynamic

This blog is under construction

8 Comments
You must be Logged on to comment or reply to a post.
  • Hi Feng Liu,

    I have gone through this concept and it is very useful in performance point of view.. The way your explanation is very clear.. I appreciated your work.

     

    Thanks,

    Venkat.

  • Ah, Daniel is copying SimCorp Portfolio Calculation data to Hana also. Having too troubles with SCD performance?  😉

     

    The question I wanted to ask you is, what if you use dynamic cache and do not insert a new record for an new PFCDIK key 1000 but rather increase the FRMLNUM1 for an existing? Or maybe update the entire table and increase the value by one?

     

    Per my understanding, the dynamic cache would invalidate the aggregated cell in the cache and recalculate all the next time it is queried. But I never came to testing that like you did.

     

    This would be important to know in order to estimate its usability in different scenarios. Assuming my understanding is correct

    • A view like “select sum(revenue), year, month” would be a good candidate, because when it returns 10 years worth of data, only the current year does change, the other 9 years can come from the cache always.
    • A view like “select sum(revenue), region” would be a bad candidate because you constantly get new bookings in all regions, hence the cache is never used.

    Agreed?

     

     

    • Hi Werner,

      We replicate the data from SCD into hana for BI analytics. I haven’t tested updating scenario other than insertion and deletion, but will have a try later on. I think your understanding is correct. The 1st view make perfect case for dynamic cache. If base tables have lots of changes the dynamic cache will be invalidated and has to be repopulated.

      Thanks,

      Daniel

  • Excellent blog

    thank you for sharing

    quick question : since production systems are locked how will we alter tables ? Will this have to be a system admin activity ?

    • Hi Sainath,

      You can execute the ALTER VIEW ADD / DROP CACHE to enable or disable cache. There is no need to alter tables.

      Thanks,

      Daniel

       

       

       

  • Hi Feng Liu,

    I have learned from an article that describes how to setup and use Query Result Cache before,

    it requires some HANA server configurations in indexserver.ini’s cache section, ex.

    resultcache_clear_config
    resultcache_enabled
    resultcache_maximum_value_size_in_bytes
    resultcache_minimum_query_execution_time_in_milliseconds
    resultcache_request_timeout_in_milliseconds
    resultcache_white_list

    and then set cache invalidation period in calculation view’s properties.

    It seems that both approaches(compare to yours) are to utilize HANA Cache, so what is the difference?

    Why there are two kinds of setting in HANA indexserver.ini? the way you show us is in result_cache section while the other is under cache section, it makes me confused.

    I appreciate if you could clear my doubts, thank you.

    BR,

    Jinni

    • Hi Jing Shen,

      The one you have learned before was column store result cache and only work for column store views and tables. That feature was released before SPS06. This article introduce view cache also called result cache extension that was released at SPS11 and they work for SQL view, calculation view and CDS view as well. There are two types of caches and they are static and dynamic. I hope this help you.

      Thanks,

      Daniel