Académique Documents
Professionnel Documents
Culture Documents
Kshitij Kumar
Vice President of BI Practice
10 years of BI experience
15 Years of IT experience
7
Issues faced
Caching
Contd..
Caching Methods
Contd..
Oracle BI Server Cache Configuration
• ‘NQSConfig.INI’
– ENABLE (YES/NO)
– DATA_STORAGE_PATHS
• MAX_ROWS_PER_CACHE_ENTRY
- Specifies the maximum number of rows in a query result set
to qualify for storage in the cache
• MAX_CACHE_ENTRY_SIZE
– Specifies the maximum size for a cache entry. Default is 1MB
• MAX_CACHE_ENTRIES
– Specifies the maximum number of cache entries allowed in the
query cache. Default is 1000.
• POPULATE_AGGREGATE_ROLLUP_HITS
– Specifies if data can be aggregated from an earlier cached query
result set and create new entries for rollup cache hits. The default
value is NO
• USE_ADVANCED_HIT_DETECTION
– Describes whether each query is to be evaluated to determine
whether it qualifies for a cache hit.
• MAX_SUBEXPR_SEARCH_DEPTH
– Describes how deep the hit detector looks for an inexact match in
an expression of a query.
Contd..
Configure Presentation server Cache
• Location -
($OracleBI_Home\OracleBIData\web\config)
Contd..
• CacheMaxExpireMinutes
– Maximum number of minutes an entry can exist in the cache
• CacheMinExpireMinutes
– Minimum number of minutes an entry can exist in the cache
• CacheMaxEntries
– maximum number of open record sets that Oracle BI
Presentation Services keeps open at any one time
Contd..
Default Values
– <CacheMaxExpireMinutes>60</CacheMaxExpireMinutes>
– <CacheMinExpireMinutes>10</CacheMinExpireMinutes>
– <CacheMaxEntries>100</CacheMaxEntries>
Contd..
Bypassing Presentation services cache
Contd..
When Cache hit occurs ?
• When query returns a subset of cached data
– Run a report without filters
• E.g.: Select brand, quality, Sales_Qty_MTD from
products
Contd..
• WHERE clause semantically the same or a logical
subset
– Ex: Select brand, quality from products where brand in ('100
Pipers','Chivas regal','Kahlua')
Contd..
• Logical subset of a literal comparison
• How?
– Manual
– Automatic
– Programmatic
Contd..
Manual Purge
– Purge all/specific entries from repository ONLINE
– Manage->Cache
Contd..
Automatic purge
• Disable cache for the system
Contd..
Programmatically purge
Contd..
• SAPurgeCacheByQuery: Purges cache entry for a
particular logical query
– Call SAPurgeCacheByQuery(‘select lastname, firstname
from employee where salary > 100000’ );
Contd..
• SAPurgeAllCache: Purges all cache entries
– Call SAPurgeAllCache();
Contd..
Cache Seeding Methods for Answers
Requests
• Using Logical SQL, NQCMD command
– nqcmd -d AnalyticsWeb -u <User Name> -p <Password> -s <sql
template file name with path>
Contd..
Seed cache using Delivers
– Create an iBot
Contd..
Cache Seed Using Briefing Books
Contd..
Costs of Caching
Contd..
• Briefing Books & iBots
– Frequently used performance intensive request dashboards
are added to updatable briefing books.
56
Caching for BI Publisher Reports
– Cache Expiration
• Expiration period for dataset cache in minutes
• Default is 30 minutes
• Default is 1000
Contd..
– Maximum Cached Reports
• Maximum number of reports to maintain in cache
• Default is 50
• OracleBIData\cache