Friday, June 15, 2012

BI Cache Planning for Optimal Performance



-          Cache can be set to never expire for optimal performance.

-          Whole cache can be purged over nightly using a scheduled task.

-          Following policies can be adopted to refresh cache.

o   Using ‘Cache Persistence Time’ to purge cache at any desired time:
1.       Using this approach, “Cache Persistence Time” can be set to purge cache of any report based upon subject area. For example, purge all reports that are using ‘Charges’ subject area.
2.       This approach is specific to BI Server layer and cannot be done from Presentation layer.
3.       The drawback of this approach is that it cannot refresh cache automatically once gets purged.
4.       This will cause delay in report loading at first load.

o   Using ibot to purge and refresh cache:
1.       Using this approach, ibot can be scheduled early morning or any specific time to purge and refresh cache of any Report or all reports on a dashboard page.
2.       This will not cause any delay in report loading at first load.
3.       Any user that has ibot access can do it.

-          Following two mechanisms can be adopted to view real time data. However performance will always be poor in both cases because report query will be getting results on the fly directly from the OLTP database.

o   A Report Designer can set following parameters in the Advance tab (Prefix input) of report. Saving a report with these parameters will always bypass cache.
SET VARIABLE DISABLE_CACHE_HIT=1, DISABLE_CACHE_SEED=1, LOGLEVEL=7;

o   A Report Designer can also use following functions in the report to view real time data all the time.
CURRENT_TIMESTAMP, CURRENT_DATE, CURRENT_TIME, RAND, POPULATE

Cheers ;)
 

1 comment: