This blog post concentrates on the exciting performance improvements with regards to DataStore Objects in SAP Business Warehouse 7.3

In a previous blog post we gave an overview of the cool new features of SAP BW 7.3. Now let’s focus on the changes with regards to DSO.

Partitioning of the DSO Active Table

In previous releases of BW we could partition E tables of InfoCubes, which resulted in big gains in performance. This cool feature is now also available for the active table of Standard DSO-s. The big advantage is in much faster response when the data request contains the portioning relevant characteristic. The DSO partitioning can be set up only on a key field referring to a time characteristic and the configuration has to be done when the DSO is empty.

Mass Lookups

The activation of requests of the Standard DSO happens package by package. Technically, the system compares the key from the packages with the key of the records in the existing active table. Earlier this process happened record by record, but as of BW 7.3 it happens at once for all records contained in a package. This decreases the total time for activation by 10-30 % depending on the used database platform.

Request Based „Unique Data Records” Setting

As a first step of the activation process the system reads the active table of the DSO and checks whether there is any existing data with the same key as the data coming from the new records table. Of course, with big active tables this process is very time consuming. The unique data records setting comes into play when we are 100% sure that the active table does not contain any records with the same key as the record that we want to activate. In this case the system skips part of the comparison checks and pushes the data in the active table much faster. Until now, this was a specific setting done by the initial DSO configuration together with the DSO type and SID generation properties. In SAP BW 7.3 this setting is available to be switched on and off for every request in the activation queue. It is especially useful if you have just loaded a single request that contains only unique data records and you want to optimize the activation process. A typical business example of a use case would be the initial load of data for a completely new organization entity in an already existing DSO.

New Activation Method for Databases with Massive Parallel Processing

During the activation process the records, which are in the request are split into packages by BW. However, the split is not random. The records with the same key are placed into one and the same package to ensure the original sequence and thus to guarantee data consistency. As of SAP BW 7.3 the activation process of standard DSO can utilize the massive parallel processing feature that certain databases provide. With this new technique, the data activation is done by the database engine instead of the SAP application server. Technically it means that several big processes on the database layer process the data to be activated in parallel on all database partitions where the DataStore object resides. This new method can improve performance 2-3 times during activation.

New rule type in Transformations: Read DSO

Until now, every experienced BW consultant had to write routines in transformations in order to call and use data from a reference DSO. The BW 7.3 version already supports this natively and the cool new feature is similar to master data read rule type. Performance is also impressive as the actual data read is done once per package and not once per record. With that in mind it is only up to the taste of the developer, whether to write the logic in ABAP or use this amazing new functionality.