Real-Time Cubes

Analysis Services

Analysis Services

Real-Time Cubes

A real-time cube is a regular cube that employs relational OLAP (ROLAP) partitions or dimensions that support the real-time OLAP feature of Microsoft® SQL Server™ 2000 Analysis Services.

With regular cubes, each time the data supporting the dimensions or partitions of a cube changes, the cube must be reprocessed to recreate its aggregations. This can lock the cube for long periods of time, preventing users from querying the cube. For fact table data that changes often, this approach is impractical. Often, workarounds to allow rapid cube updates are employed, such as designing a cube with zero aggregations and writing applications employing Decision Support Objects (DSO) code to suspend and resume the cube whenever underlying fact table data changes. However, these workarounds are not efficient or practical.

Real-time OLAP resolves this issue by enabling ROLAP dimensions and partitions to automatically refresh themselves when data in their underlying dimension or fact tables changes. When working in concert with SQL Server 2000 as the relational data source, Analysis Services can periodically poll the data source for notifications about updates to dimension or fact tables associated with specific ROLAP dimensions or partitions enabled for real-time updates. If the Analysis server finds that a change to a dimension or fact table has occurred, it can respond to the notifications by flushing the Analysis server cache and automatically reprocessing the associated ROLAP dimensions or partitions.

The Analysis server maintains a "listener" thread that supports the notification process for all ROLAP dimensions and ROLAP partitions using a SQL Server 2000 data source, for each distinct SQL Server 2000 server. The Analysis server monitors the tables specified in the FROM clause of the ROLAP dimension or partition, and reprocesses the dimension or partition whenever a notification about one of the monitored tables is received from SQL Server 2000.

The effect of real-time OLAP on client applications is to allow a real-time view of OLAP data, instead of having to reprocess a cube every time data in the dimension or fact tables associated with the dimensions or partitions of a cube changes, as with regular cubes. Real-time OLAP expands the ability of Analysis Services to construct cubes based on rapidly changing data, including the ability to support real-time cubes directly based on OLTP data, without the maintenance and administrative difficulties such cubes would have caused in earlier releases of Analysis Services.

While ROLAP dimensions can easily support real-time updates, ROLAP partitions must meet certain qualifications in order to support this new functionality. They must either have zero aggregations or be based on SQL Server 2000 indexed views, and they cannot be remote partitions. For more information on the requirements of indexed views for ROLAP partitions, see Indexed Views for ROLAP Partitions.

Real-time OLAP can be enabled by using either Dimension Editor or the Dimension Wizard to enable real-time updates on ROLAP dimensions, or by using the Storage Design Wizard to enable real-time updates on ROLAP partitions that meet the qualifications discussed earlier in this topic.

See Also

Dimension Editor - Schema View

Dimension Wizard

Storage Design Wizard