Bundle Caching

In large bundle scenarios, that is, in cases more than thousands of records per bundle, the loading of a bundle can take a long time and puts a large stress on the database. The bundle is loaded in steps for each parent and immediate child in the overall bundle, which leads to many queries against database. By using bundle caching, the full bundles are loaded into the cache and can be retrieved from the cache instead of the database for the next use of the bundle.

How Bundle Caching Works

A bundle is the connected set of records based on a root record, where each of the dependent nodes is discovered in depth, the first traversal of the record space. The root record defines the bundle identity. Along with the root record, the following parameters are part of the cached bundle:
  • Bundle depth
  • Relationship definitions to be traversed
  • Relationship definition depth
Bundle Caching is currently only implemented in a limited fashion. You can use the bundle caching for the following record operations:
  • Modify record through web service: when you modify a record in the bundle, the bundle cache is searched for all bundles containing the updated record, and each of these bundles from the cache is updated with the new record.
  • Validate record through web service
  • Query record through web service: when you query a record through web service, the bundle is added to the cache.
  • If you Query record with perspective as the context parameter, perspective related bundle is added to the Bundle Cache.

All these use cases require repeated usage of the bundle to see the performance gains.