The Business Warehouse Accelerator (BWA) reads data directly from memory. Think of it as if you were browsing the internet on a dial up connection versus a fiber connection. Dial up is like traditionally having queries read from the database, while fiber is like reading from memory. When end users begin complaining about the speed in which queries are being displayed and the InfoCubes have already been performance tuned as much as possible, it may time to invest in the Business Warehouse Accelerator. The BWA sits on top of the existing BW system and requires no transports or modifications to be made to the OLAP system. It merely serves as an in memory repository that directs queries to read from memory at the time of execution. The end result is much faster processing and a more productive workforce.
- Firstly, the cube structure is loaded into memory. All of the Fact tables, Dimension tables, etc…
- Once the structure is indexed into memory, it’s filled with a copy of the data from the database. The initial indexing takes some time (at least an hour depending on the volume) but all subsequent roll ups (data updates) will process quickly. If any new data is loaded into the InfoCube, the cube will need to be rolled up immediately. This is just like an aggregate which needs to be rolled up to update the existing data with the newly loaded data. It’s critical to roll up to the BWA to query on the latest data.
You might be wondering what happens if the BWA ever goes down. Well, the BW environment is smart enough to automatically check to see if the BWA index on a specific cube is active or not. If it is inactive, the user that is running the query will hit the database rather than read from the BWA index. The data will still be accessible via traditional database queries, just not at BWA speeds!
The only risks that BWA may introduce into your SAP BW environment are BWA job failures due to system job collisions caused by table locking. For example, if 0MATERIAL is running its attribute change run and an InfoCube containing that same object 0MATERIAL is updating to the BWA simultaneously, the BWA roll up will fail. The BW system always takes precedence and is smart enough to know the BWA is more of a bolt on device. Once the Attribute Change Run completes, the BWA roll up step can easily be repeated. That’s why it’s so important to time your BWA roll ups appropriately to reduce failures to the nightly processing. You can think of the BWA as having read-only access to the BW system.
The BW 7.3 upgrade unlocks some new functionality for the BWA. If the BWA is version 7.2, and is running on top of BW 7.3, you can index DSOs! Well, not directly… A feature has been added to BW 7.3 where you can load directly into the BWA and bypass the database completely. So if you have some DSOs you would like to index you’ll need to create a BWA Only InfoCube.
BWA Only InfoCube Build Instructions:
Step 1: Create a new InfoCube with the DSO you want to index as the template. Select from the BWA status drop down: “InfoCube only stores its data in the BWA”.
Step 2: Here we can see the structure of the cube. It takes the DSOs characteristic fields and throws it all into Dimension 1. All the DSOs key figures get put into the key figures folder of the cube. Activate the InfoCube.
Step 3: In transaction RSDDB (new to 7.3, BWA transaction) we can see the index is red which means it is in the process of being created (ZBWAONLY1).
Step 4: In SM37 we can see the index activation taking place
Let’s drill into this job log and see what’s actually going on behind the scenes:
Step 5: RSDDB Index Info (note the F table has an Index Size of 0, as we have not run the DTP from the DSO to the BWA only InfoCube)
Step 6: Run the DTP, once complete, manage the BWA Only Cube
Step 7: When we go back to RSDDB and go to index info we can see that since the DTP completed, the F table index has 10,528 records sitting in the BWA.
1. What do we do if regular loads are being added to the DSO?
You will need to set up a process chain that kicks off a DTP after you load the DSO. You need to keep the BWA only cube as recent as possible. Make sure to try and transfer the DSO delta data to the BWA only cube as frequently as possible.
2. Do we need to run DTP from the DSO to cube after every new request into DSO?
Yes, the BWA only cube will only write the data to memory when the DSO to BWA only cube load is kicked off. Otherwise the BWA only cube has no idea that the DSO has new data. The DTP runs very quickly as it’s loading to memory so run it often.