Caching Engine
TIBCO MDM implements a caching engine using TIBCO ActiveSpaces. To optimize the cache latency and network load, caching engine implements three types of caches.
- Local Cache – The Local cache is an on-heap cache, designed for caching objects. The objects are not required to be synchronized across other servers. The Local cache is used for frequently updated objects that are updated only on one node and are not required by other nodes in the cluster.
- Near Cache – The Near cache is an on-heap cache that stores data. The data does not change often and does not require a lot of memory. A change to the data results into an update to all other copies of that data stored on other nodes. The Near cache is used for infrequently updated objects that are read very frequently. The Near cache provides optimal read time without a network hop and the overhead of data deserialization.
- Distributed Cache – The Distributed cache implements high performance shared distributed cache. It is a non-transactional side cache. The Distributed cache is used for objects that can be updated and read from any node and which require fault tolerance. A single cache is accessed from all the nodes in the cluster.
When TIBCO MDM retrieves any data, it searches data in the cache. If the data is not found in cache, data is loaded from the database into the cache. However, a warm caching can be configured to preload most of the required data at startup. Depending on the available memory, all or part of the data can be quickly loaded using multithreaded loading. After the data is loaded in cache, TIBCO MDM attempts to retain it in cache and update it when data is changed.
Different Type of Caching with TIBCO MDMTIBCO MDM uses the distributed cache to keep the master data in memory for faster manipulation. The distributed cache stores data, which is already committed to the database. The primary driver reduces the number of hits to database for data reads. The distributed cache also implements synchronization process across the TIBCO MDM cluster.
TIBCO MDM embeds TIBCO ActiveSpaces to implement the distributed cache and supports various configurations of ActiveSapces, that is, replication, eviction policies, and so on.