Cache Object Management

Object data is kept in memory caches using cache clustering technology, with redundant storage of each object for reliability and high availability.

Cache data is shared across all the engines participating in the cluster. Two cache providers are supported. The built-in cache provider is the TIBCO BusinessEvents DataGrid component. You also have the option to use a supported version of Oracle Coherence, for which you have a license that is appropriate for your usage.

Cache Object Management Terminology

The following basic definitions apply:

Processing Unit
A processing unit deploys as a TIBCO BusinessEvents engine. One engine runs in one JVM.
Agent
Each processing unit contains one or more agents of different types. The main types are inference agents, which perform the inferencing work, and cache agents, which manage the objects.
Agent Class
An agent class is a configured agent definition. Configuration specifies, for example, what channels, startup rule functions, and rules the agent will use at runtime. You can deploy multiple instances of the same agent class, and you can deploy instances of different agent classes, depending on the work the application is designed to do.
Cache Agent
An agent that stores cache data. A processing unit can have one cache agent only. (Processing units that run other types of agents can have cache storage enabled too, which can be useful for demonstration purposes only, but not in production systems).
Seeders and Leeches (TIBCO BusinessEvents DataGrid terms)
A seeder is an agent that stores cache data. Cache agents are seeders by default. A leech is an agent that is part of the cluster but does not store data. Agents other than cache agents are generally leeches. These terms are not generally used in the documentation. However they may be useful to know about for technical discussions.

Data Recovery

Data recovery after total system failure is available if you implement a persistent backing store. Recovery from failure of individual processing units (JVMs) is available with Cache OM without a backing store (if at least one backup copy of each object is maintained in the cache).

Object management features provide fine-grained controls for managing the memory footprint of the cache, if you use a backing store.

Fault Tolerance

Fault tolerance is provided at the inference agent level. Agents belonging to the same agent class can act in a traditional fault-tolerant manner, where standby agents take over for failed active agents. Fault tolerance can also be provided implicitly, because all active agents in the same class share the workload. There may be no need to keep any agents as standbys. It depends on your needs.

Cache-based object management is generally the best choice for CEP systems. It offers richer functionality, and is the method that receives most focus in these chapters. For implementation details, see TIBCO BusinessEvents Developer’s Guide.