Updating Cubes: Overview for Administrators

Overview of Updating Cubes: Overview for Administrators

Users update cubes with SAS OLAP Cube Studio or PROC OLAP. This section describes the update process from an administrative perspective. For more information about cube updates, refer to the SAS OLAP Server: User's Guide.
Starting in SAS 9.2, users can perform an in-place cube update to add data to cubes without rebuilding the entire cube, and without restarting the SAS OLAP Server. Users can also perform an incremental cube update.
Cube updates add new aggregation tables that combine with existing aggregation tables in previous versions of the cube. The updated version of the cube looks through to the previous versions to obtain all cube data.
As you accumulate cube updates and aggregation tables, it is possible that OLAP server performance might decline. To improve performance, users can coalesce the cube. The coalesce process combines all of the separate aggregation tables from previous updates into a single, more efficient set of aggregations.

Update a Cube in Place

When you update a cube in place, you add data and new members directly to an active cube, without disabling, stopping, or rebuilding the cube.
During and after the completion of the in-place update, existing sessions will continue to run on the old cube. When the last session ends on the old cube, the old cube is closed. After the old cube is closed, new sessions apply to the new cube. Although existing sessions are connected to the old cube, new sessions are also applied to the old cube. If you do not want to wait for all open sessions to close, you can enforce a switch to the new cube. To switch to the new cube, disable the cube, close all open sessions that query that cube, and enable the cube.
The in-place cube update runs like an incremental cube update. At the end of the in-place update, the cube metadata is updated to point to the new generation folder and the old generation folder is deleted. If the old generation cannot be deleted, because an existing session has locked the files, then the next cube update attempts to delete the old generation folder.

Update a Cube Incrementally

When you run an incremental cube update, you use PROC OLAP to add data and new members to a new version of the cube. After the update, the new cube is immediately available for queries under its new cube name. The previous version of the cube remains active until you disable the old cube and enable the new version.
Incremental updates are beneficial because they:
  • enable testing outside of the production environment
  • can be archived to maintain a history changes
  • provide for rollback or review
Each version of the cube remains completely viable. You can enable any version and receive a fully functional cube that contains all of the data that was previously available in that version.
Each version of the cube is represented by a generation folder. The folder contains an aggregation table. The aggregation table contains the new members and new data that was added to the cube in that version.
The totality of data in the new version of the cube is represented by all of the generation folders and the original aggregation table from which the generations were built.
When you generate a new version of a cube, the new version is immediately available for queries under its new name. To replace the old version with the new version, using the same cube name, follow these steps:
  1. Disable the cube with PROC OLAPOPERATE, SAS OLAP Cube Studio, or the SAS OLAP Server Monitor.
  2. Close all sessions on the old version of the cube.
  3. Rename the old version of the cube.
  4. Rename the new version of the cube to name of the old cube.
  5. Enable the cube.
As versions accumulate, you can coalesce cubes to combine all versions into a single, more efficient aggregation table, as described in the next section.
After you create a new version of a cube, you can assign the old cube, under its new name, to a different OLAP schema for archival purposes.
You can delete old versions as you would with any other cube. Deleting a version removes its metadata. Physical data that is used by later versions is not deleted. To delete all generation folders back to the last coalesced cube, coalesce the new version of the cube.