Optimizing the Order of Dimensions in a Cube

If you're not extremely familiar with your business data, it's possible to specify an order of dimensions during cube creation that results in less than optimal performance. Similarly, it's possible for the distribution of data in a cube to change over time, making the order of dimensions specified during cube creation less than ideal. To address these issues, TM1® includes a feature that lets you optimize the order of dimensions in a cube, thereby consuming less memory and improving performance.

When you optimize the order of dimensions in a cube, TM1 does not change the actual order of dimensions in the cube structure. TM1 does change the way dimensions are ordered internally on the server, but because the cube structure is not changed, any rules, functions, or applications referencing the cube remain valid.

As you change the order of dimensions, you can instantly view a report detailing the impact your changes have on cube memory consumption.

For the following reasons, you should optimize the order of dimensions in a cube only in a development environment while you are trying to determine optimal cube configuration:

  • Significant memory resources are required for the IBM® Cognos® TM1 server to reconfigure the order of dimensions in a cube. During the re-ordering process, the temporary RAM on the TM1 server increases by a factor of two for the cube that you are re-ordering. For example, a 50 MB cube requires 100 MB of RAM to reconfigure.
  • Re-ordering puts a read lock on the server, locking all user requests while the re-order is performed.
Note: You must be a member of the ADMIN group to optimize the order of dimensions in cubes. The optimization option is only available for cubes on remote servers; you cannot optimize the order of dimensions in cubes on a local server. Also, when you optimize the order of dimensions in a cube, you should not move the string dimensions from the last position, nor move the string dimensions to the last position.

Procedure

  1. In the Tree pane of the Server Explorer, select the cube you want to optimize.
  2. Click Cube, Re-order Dimensions.

    The Cube Optimizer dialog box opens.

  3. Select a dimension in the New Order of Dimensions list box.
  4. Click the up Up arrow button or down Down arrow button arrows to change the order of the dimension in the cube.
  5. Click Test.

    Note the value next to the Percent Change label. If this value is negative, the new order of dimensions consumes less memory and is therefore more efficient.

  6. Repeat steps 3 through 5 until you achieve the most efficient ordering of dimensions.
  7. Click OK.