Advantages of Caching About the Oracle BI Server Query Cache

Managing Performance Tuning and Query Caching 7-11 ■ For URLs that reside on a local or network drive, the gateway is refreshed when the interval has expired and the system detects that the URLs have been modified. For more information about XML data sources, see Oracle Fusion Middleware Metadata Repository Builders Guide for Oracle Business Intelligence Enterprise Edition.

7.4.6 About the Global Cache

In a clustered environment, Oracle BI Servers can be configured to access a shared cache called the global cache. This global cache resides on a shared file system storage device and stores purging events, seeding events often generated by agents, and result sets that are associated with seeding events. The seeding and purging events are sorted by time and stored on the shared storage as a logical event queue. Individual Oracle BI Server nodes push to and pull from the logical event queue. Each Oracle BI Server still maintains its own local query cache for regular queries. Figure 7–1 depicts global caching in a clustered environment. It shows three Oracle BI Server nodes sharing a global cache. The global cache stores seeding or purging events held in a logical event queue. The arrows from Node 2 and Node 3 to the shared cache show Oracle BI Server Node 2 pushing a seeding event to the queue and Oracle BI Server Node 3 pushing a purging event to the queue. The arrows from the shared storage to each Oracle BI Server node show each node pulling from the common location. This occurs on a periodic basis and enables participating Oracle BI Server nodes to obtain updates to the logical event queue made by other Oracle BI Servers. Figure 7–1 Global Caching The Oracle BI Server node processes a seeding or purging event locally first in its caching system. It then pushes the event to the global cache on the shared storage. During the push event, the active Oracle BI Server node locks the logical event queue on the shared storage and then pushes in the seeding or purging event. If there is a conflict between seeding and purging for example, one node wants to seed a query and another node wants to purge the same query, then the event that comes in last wins. 7-12 System Administrators Guide for Oracle Business Intelligence Enterprise Edition The logical event queue in the global cache on the shared storage is composed of seeding and purging events from individual Oracle BI Server nodes. The queue is sorted according to the timestamp of the events. Hence, clocks on all Oracle BI Server nodes participating in cluster must be synchronized. Each Oracle BI Server node polls the global cache on a periodic basis for new cache entries. This polling frequency is configurable. A snapshot of the queued logical events on the shared storage are pulled back to the node and a local logical event queue is constructed and then processed. Because the query cache result set tends to get large, network bandwidth might pose a constraint. Therefore, the following must be chosen carefully: ■ The set of caches that qualify for seeded cache ■ The time interval for BI nodes to pick up seeded caches from shared storage to avoid network congestion The primary global cache parameters are configured in Fusion Middleware Control. Additional, optional parameters are configured in the NQSConfig.INI file for each Oracle BI Server node that participates in the cluster. For more information about configuring these parameters, see Section 7.5.4, Using Fusion Middleware Control to Set Global Cache Parameters and Section 7.5.5, Manually Editing Additional Global Cache Parameters. A seeding or purging procedure is submitted to a specific Oracle BI Server node. If that Oracle BI Server is a node in a BI cluster and the global cache parameters have been defined in Oracle BI Server configuration files, then the seeding or purging events are propagated across all Oracle BI Server nodes that participate in the same clustered environment.

7.5 Configuring Query Caching

You configure cache storage and other parameters in Fusion Middleware Control and in the NQSConfig.INI file, for both the query cache and the global cache. You also must decide on a strategy for flushing outdated cache entries; see Section 7.6, Monitoring and Managing the Cache for more information. This section contains the following topics: ■ Section 7.5.1, Using Fusion Middleware Control to Enable and Disable Query Caching ■ Section 7.5.2, Using Fusion Middleware Control to Set Query Cache Parameters ■ Section 7.5.3, Manually Editing Additional Query Cache Parameters ■ Section 7.5.4, Using Fusion Middleware Control to Set Global Cache Parameters ■ Section 7.5.5, Manually Editing Additional Global Cache Parameters Note: The process of populating or purging seeded caches across all Oracle BI Server nodes that participate in the cluster does not occur in real time, and the elapse of the process is affected by multiple factors, such as the predefined polling interval, network bandwidth, and CPU loads.