Optimizing Microsoft SQL Server Analysis Services: Optimization Tools: Incremental Update Wizard
Introduction and Scope
Having processed cubes in preceding articles, we are aware that processing calculates the aggregations that have been designed for the cube, and then loads the cube with the data, and the calculated aggregations of the data. While we have looked only at Full Processing at this early stage of the series, we will expose other approaches to processing, and then focus on the use of another tool that MSAS provides to help us to exploit one of those options, the incremental processing of our cubes. The processing of cubes, once we get beyond the basics, is complex subject matter. But an in-depth grasp of the subject is highly critical to mastering optimization of our cubes and MSAS in general. For this reason, we will be spending considerable time within articles that address many nuances and approaches to the tuning of the processing event. Our purpose within this article, however, is to overview the Incremental Processing Wizard, and, within that context, the concept of incremental processing.
In this article, we will introduce the MSAS Incremental Processing Wizard, whose role is to enable us to perform incremental updates of our cubes, while helping us to steer clear of some of the dangers that are inherent with incremental processing. We will first discuss processing in general, then focus on incremental processing as a concept within the context of MSAS cubes. Next, we will perform a hands-on exercise where we incrementally update a copy of one of the sample cubes that accompany the installation of MSAS. Our objective in this article is an overview of the wizard itself; later articles will focus on detailed processing strategies and techniques. Within our exploration of the Incremental Update Wizard, we will accomplish the following:
Create a copy of the Budget cube for use in our practice exercise.
Prepare the cube further by processing.
Perform a practice exercise, using the Incremental Update Wizard, to incrementally update our practice cube.
Examine the options that are available to us, as we proceed through the guided steps of the Wizard.
Confirm our understanding of the mechanics behind the action of the Incremental Update Wizard by examining pre- and post- update values, and ascertaining that the difference we compute equals the value we established to be added via the incremental update.
An Overview of Incremental Processing
As we noted before, processing our cubes recalculates its aggregations, and then loads the data and aggregations to the cube. The steps that MSAS undertakes in this process include filling in of the various dimension levels in the cube with data that it reads from the dimension tables, as well as reading data from the fact table, calculating the designed aggregations, and then populating the cube with the results.
We have seen that a cube must be processed before it can be queried, at least in some of the simple scenarios we have encountered in our series to date. To expand upon this a bit more precisely, any of the following actions can, if performed on a cube, force the processing of the cube before it can be queried, or browsed within MSAS, as we noted in an earlier article:
The initial build of the cube;
Designing storage options and aggregations for the cube (in conjunction with an initial build or not);
Changing the cube’s structure (measures, dimensions, and so on) and saving the changes to the cube;
Making structural changes to a shared dimension used within the cube.
Most practitioners are also aware that changes in the data mart or warehouse underlying a cube are common grounds for processing. This allows for the synchronization of the cube with its component data, and is obviously good insurance that the cubes accurately reflect the data that they exist to present.
In summary, then, we see that any change to the source data that underlies a cube, and many structural changes we make in Analysis Manager, force processing of the cube to ensure that the changes are, in turn, synchronized with underlying data before presentation to information consumers. Let’s take a look next at processing options that MSAS makes available.