Actions That Improve Restructuring Performance

You can take actions to improve the performance of Essbase database restructuring.

If you change a dimension frequently, make it sparse.

Use incremental restructuring to control when Essbase performs a required database restructuring.

Consider using parallel restructuring on multiprocessor systems.

Select the restructure options, when you save a modified outline, that best reduce the amount of restructuring required. Refer to Options for Saving a Modified Outline.

Parallel Restructuring

Parallel restructuring for Essbase block storage cubes can help you reduce restructuring time by dividing the work across a number of threads that you specify using the RESTRUCTURETHREADS configuration setting.

By default, block storage restructuring is performed sequentially. Blocks are renumbered and reshaped from first to last, which is a time-intensive process. Parallel restructuring can reduce restructuring time by dividing the work across multiple concurrent threads, to use available processor cores. Because calculation is performed separately from restructuring, each block can be restructured independently of other blocks.

Blocks are divided into n groups, where n is the number of restructuring threads. This division is performed by traversing the breadth of the index BTree until the number of keys at a level is equal to or greater than n. If there is no level with more than n keys, the number of restructuring threads is reduced accordingly.

The number of restructuring threads to use is defined using the RESTRUCTURETHREADS configuration setting. If RESTRUCTURETHREADS is not defined, the default is one thread.

Note:

Parallel restructuring operations do not dynamically create threads, but instead use a set number of threads from a pre-created pool of threads. You can customize the size of the thread pool using the WORKERTHREADS configuration setting.

Options for Saving a Modified Outline

When you save outline changes that trigger database restructuring, the Essbase web interface displays restructure options. Choose one of the options for how data values should be handled during restructure. You can preserve all data, discard all data, preserve only level 0 data, or preserve only input data.


Restructure Database Options: select one. All Data, Discard all Data, Level 0 Data, or Input Data.

If the database contains data, you need enough free disk space on the server to create a backup copy of the database. Backup ensures that any abnormal termination during the restructure process does not corrupt the database.

Essbase may display a message that restructuring is not required, yet still perform an index-only restructure. This event most likely occurs if you make changes to a sparse dimension. If you try to cancel a restructure operation, Essbase may issue a message indicating that the operation cannot be canceled. If such a message is displayed, Essbase is performing final cleanup, and it is too late to cancel.