Storage and Retrieval of Entity Objects
When you use Cache OM and a backing store, or just a backing store (Store OM), various options help you manage where entity objects are stored, and how to retrieve them from the backing store at startup to optimize system performance and memory management.
With Cache OM and Store OM, objects created by a running TIBCO BusinessEvents application can be kept in any of these locations:
- The Rete network (JVM memory)
- The cache (Cache OM only)
- The backing store
You can manage where the object data is kept at the level of the entity type. The best choice depends on how often the object changes, and how often it is accessed. The various options balance the memory and performance characteristics of the system. Different applications have different priorities and it is up to you to choose the options that suit your needs.
Between Backing Store and Cache Preloading Options and Limited Cache Size
Best performance is obtained when all objects are in the cache, but in practice there are often more objects than you can or want to keep in the cache.
When the system demands an object that exists in backing store but not in cache, the object is automatically loaded from the backing store into the cache, and then into the Rete network. This takes time, but reduces the need to store so much data in the cache, which uses up memory.
You can configure what objects to preload into cache on startup, and what objects to evict from the cache when not needed. You can preload all, none, or entities of selected types.
You can also configure what object handles to preload into the object table. Again, you can preload handles for all, none, or selected types. The first RTC does not occur until the object table has been preloaded (with all the object handles configured for preloading). For more details, see The Role of the Object Table.
It is also important to start enough cache agents to handle the work.
Limiting Cache Size
When you use a backing store, you can limit the size of the cache by specifying the cache size. This is helpful for large volumes of data that the available memory cannot hold. When the number of objects in cache reaches the cache size limit, some of the objects are automatically evicted from cache (they are still in the backing store).
See TIBCO BusinessEvents Configuration Guide.
Between Cache and Rete Network Cache Modes
Less frequently used objects can be stored only in the backing store, and retrieved into the cache as needed.
In a similar way, you can define how to manage the instances of each object type by using domain object modes, see Domain Object Modes and Project Design.