Data Lookup Strategies

To get the improved performance of entity lookups in cache and stores, and to make the lookup behavior more compatible with modern stores (databases), you can choose to use the key-based lookup strategy.

The legacy (object table based) lookup strategy is enabled by default. For more details about the legacy lookup strategy, see .

With Key based lookup strategy, by default extId is the primary key. If extId is not provided then an internal extId is automatically generated.

Alternatively, an external key or a composite key can be set by using the Present in Key metadata setting in the CDD. In this case, extId is not generated automatically. You can use the Cluster.DataGrid.CacheLoadConceptByKeysByUri or Instance.getByKeysByUri catalog functions to load the concept.

For details about procedure to enable key-based lookup strategy, see Enabling the Key-Based Lookup Strategy.

Difference Between Legacy and Key-Based Lookup Strategies

Difference Between Legacy And Key-Based Lookups
Legacy Lookup Strategy Key-Based Lookup Strategy
Object Table is required to maintain index for cache and stores. No object table is required.
Composite keys are not available for data lookups. You can use composite keys as primary key for data lookups.
Less compatible with modern stores. More compatible with modern stores.

Use of Id is restricted as the primary key.

No such restriction. Default is extId, but you can define any property as the primary key.

Migration of TIBCO BusinessEvents 5.x Projects

With TIBCO BusinessEvents 6.x release, if the new key based behavior is active (see Enabling the Key-Based Lookup Strategy), the concept and event entities have ID (@id) as Object data type instead of Long. The "*ByUri" functions, such as, Cluster.DataGrid.CacheLoadConceptByExtIdByUri or Instance.getByExtIdByUri can be used for loading concepts and events. It is applicable for legacy as well as key-based lookup strategy. If your earlier project has used the "*ByUri" functions implementation, then those functions can still be used. However, if the "*ByExtId" functions (such as, Cluster.DataGrid.CacheLoadConceptByExtId or Instance.getByExtId) were used, you must replace them with appropriate "*ByUri" functions; otherwise, TIBCO BusinessEvents Studio displays warning.