Legacy platform

Cache management

The Sterling™ Order Management System Software reference data caching is implemented by a local, simple, lazy-loading, asynchronous-refresh cache manager.

The cache manager is a lazy-loader in the sense that it does not read in the cacheable reference tables at start up but would instead only cache records as they are being read. The benefit of the lazy-loading strategy is that data is only cached where they are needed.

The cache manager implements a simple cache management policy. Data that is cached remains in the cache until the cache manager is instructed to flush the cache. This could happen because the cache has reached a certain size limit or a reference data record was changed from a standard Sterling Order Management System Software API. The cache manager does not implement cache management policies, such as record flushing using a least recently used algorithm, in order to avoid cache management overheads. In our controlled test, this simple cache manager provides significant performance benefits with little management overhead.

In keeping with the simple cache strategy, when a reference data record is changed by a Sterling Order Management System Software API, the local cache manager notifies all the other cache managers to flush the reference data table. There is a small time-lag between when the reference data is changed to when the last cache manager is notified.

When the cache managers receive the change notification, the cache managers flushes all the cached entries for the affected table. As a result, you should cache tables that are infrequently changed. More importantly, this notification comes from the Sterling Order Management System Software APIs. As a result, you should ensure that reference data is never changed via database tools like SQL*Plus.

Recommendations:

  • You should enable reference data caching when you need the extra performance boost.
  • You should ensure that the reference data is not subject to frequent updates.