BIA 7.00: DimFunction Index (DFI)
[BI Accelerator] [BW] [Cache] [Dim Function Index] [DimFunctionIndex] [Join]
Symptom
You want to use the dimension function index (DFI) for a BWA index to improve query performance or to reduce excessive main memory usage.
Other terms
BI Accelerator, DimFunctionIndex, Dim Function Index, Cache, Join , BWA, BIA, memory, performance
Reason and Prerequisites
You are running BWA Revision 50 or higher and you want to use DFI for a BWA index
Solution
If you use BusinessObjects Polestar together with BWA, we strongly recommend use of DFI.
Introduction:
The DFI is an internal data structure that stores the data objects (DimFunctions) created during a query execution. These data objects are used for join operations during query execution. Any subsequent query that needs to execute the same join operations can reuse the DFI.
DFI caching and reuse can most improve query performance in either of the following cases:
When the execution of the join operation is expensive (in CPU time)When the cached DFI contains huge data objects that no longer need to be transferred between blades during query execution.
Additional main memory is needed to cache the DFI, but DFI usage can reduce (temporary) peak memory usage during query execution. All the dimension function indexes are automatically invalidated after data has changed.
DFI is supported with BWA Revision 50 or higher.
Activation of DFI:
TREX standalone admin tool -> View “Usage” -> Tab “DimFn Index” -> select any indexes that should use DFI -> right mouse click -> “Switch on”
Monitoring of DFI:
In TREX standalone admin tool view “Usage” select tab “DimFn Index”. There you can see
For which attributes of a BWA OLAP index the DFI is usedOn which blade the DFI is used for a BWA OLAP indexThe size of the DFI for a BWA OLAP index or the attributes of the OLAP indexThe number of cached entries in the DFI
Advanced settingscan be done in TREXIndexServer.ini by setting:
[olap]
dim_fn_cache_size = 1000000
dim_fn_cache_low_size = 750000
dim_fn_cache_remote_extra = 20
dim_fn_cache_wait = off
dim_fn_cache_samples = 1:10, 60:5, 3600:5, 86400:14
Explanation of parameters of advanced settings:
dim_fn_cache_size: Size of DFI cache in bytes; based on various tests 1GB is good choice for most scenariosdim_fn_cache_low_size: Size of DFI cache if entries have been deleted from it to decrease size of TREX index serverdim_fn_cache_remote_extra: If a remote blade tries to invalidate x bytes on the local TREX index server, it is sent a list of DFIs that on the local TREX index server use “m * (100 + remote_extra) / 100″ bytes (where m is the number of blades and the parameter entry is in percent).dim_fn_cache_samples: Configuration sample for how statistical data is collected. <duration of a sample in seconds>:<number of samples of that sample length>. Samples of longer duration do not contain samples of shorter duration.