Chapter 16 Configuring Persistence Object Management : Understanding Persistence-Based Object Management

Understanding Persistence-Based Object Management
As illustrated in the figure on this page, the Persistence object management option persists a snapshot of the working memory for each inference agent (rule session) in the deployed system. The data for each inference agent is persisted to a data store at specified intervals.
A small cache for each inference agent ensures that currently used objects are available in memory for improved performance. You can control the size of the cache (see Property Cache Size).
The persistence data store is provided and managed by BusinessEvents.
Persistence-based object management provides data recovery in the case of a complete system failure. When the system comes up after a system failure, BusinessEvents restores the working memory (or memories) to the last checkpoint state. It also receives all of the previously unacknowledged messages (see Message Acknowledgment Timing for Each Object Management Type).
Data in memory at time of failure and not yet written to disk is lost.
Use of the Persistence option affects performance, due to the disk writes required. BusinessEvents provides parameters — checkpoint interval and property cache size — to help you tune performance. You can also determine how many objects to keep in the data cache, in order to manage JVM memory usage for the application for better performance.
You can fine tune the data cache usage at the rule session level, as described in Defining the Database Directories for Each Rule Session (Inference Agent).
You can tune memory usage by setting the number of properties and number of events to keep in JVM memory,. You can also set aside a percentage of JVM memory for use by the persistence layer. See Engine Property File Settings for Persistence Object Management for details.
Fault Tolerance With Persistence Object Management
Fault tolerance features for Persistence object management are not provided by BusinessEvents. You can, however, implement a custom fault tolerance solution using TIBCO Rendezvous and TIBCO Hawk or third-party fault-tolerance tools. For example, you could set up two servers that each point to the same persistence data store, and you could write rules in your fault-tolerance tool to detect failure and take appropriate steps (for example, removing any lock files) when failing over to the secondary server.
If you will provide a custom fault tolerance solution, do not enable any built-in BusinessEvents fault tolerance features. They are not used with your custom solution.
Data Migration to Cache Object Management With Backing Store
If you decide to change to a Cache OM option, follow procedures in TIBCO BusinessEvents Installation, to migrate data. You must of course configure the other features of Cache OM as well.