Previous | Table of Contents | Next |
The CWM OLAP metamodel describes logical models of OLAP systems, but does not directly specify how an OLAP system is physically
deployed. Modeling the deployment of an OLAP system requires mapping instances of OLAP metaclasses to instances of other CWM
metaclasses representing physical resources (for example, mapping an OLAP Dimension to a Relational Table). This approach
offers several advantages:
• The status of the OLAP metamodel as a conceptual model is preserved by this level of indirection. When using OLAP, a client may perceive to be working directly with OLAP objects, but the actual implementation of those objects is hidden from the client. For example, a client may view a member as a value of a Dimension, but whether that member value comes from a row of a relational table, or from a cell in a multidimensional database, is usually not obvious to the client. On the other hand, if a client needs to determine how a logical OLAP structure is physically realized, the metadata describing this mapping is fully available (assuming that the implementation allows the client to drill-down through the metadata).
• The possibility of defining mappings based on expressions means that the amount of metadata required to describe large models (for example, Dimensions containing large collections of members) can be kept within reasonable bounds. It is generally more efficient to provide expressions that specify where large metadata sets reside, how to connect to them, and how to map their contents, rather than representing them directly as part of the metadata content.
All of the OLAP metaclasses are potential candidates for such deployment mappings. In addition, some OLAP models may also
define mappings between several OLAP metaclass instances, forming a natural hierarchy of logical objects (for example, Dimension
Attributes are mapped to Level Attributes which, in turn, are mapped to Table Columns).
The CWM Transformation package is used as the primary means of describing these mappings. A modeler constructing an OLAP model
based on CWM will generally define instances of the TransformationMap metaclass to link logical OLAP objects together, and
to link those logical objects to other objects representing their physical data sources.
StructureMap is a subclass of TransformationMap that models structure-oriented transformation mappings; that is, member identity
and hierarchical structure. This type of transformation mapping needs to be connected to the OLAP metamodel in a very specific
way (according to Level and Hierarchy), so the StructureMap subclass is defined to make these associations explicit. Two specific
usages of StructureMap are defined: ListOfValues, which maps attributes identifying members residing at a specific Level,
or at a specific Level within a particular Hierarchy, and ImmediateParent, which maps attributes identifying the hierarchical
parent(s) of the members.
On the other hand, relatively simple TransformationMaps can be defined within any OLAP model to represent attribute-oriented
transformations (for example, mapping Dimension Attributes to Table Columns that store attribute values).
ContentMap is a subclass of TransformationMap that models content-oriented transformation mappings; that is, cell data or
measure values. For example, an instance of ContentMap might be used to map each of a CubeRegion’s Measures to Columns of
an underlying Fact Table.
Note that, in either case (structural mapping or content mapping), the traversal patterns used by any CWM OLAP implementation
are always the same, since both deployment mappings are based on the same usage of CWM TransformationMaps.
In addition to representing structural mappings, instances of TransformationMap and its subclasses are also capable of storing
implementation-dependent functions or procedures that yield the instance values associated with mapped model elements. For
example, a “list of values? StructureMap might store an SQL statement such as “select memberName from Product where productFamily
= ’consumerElectronics’ “ as the value of its formula attribute.
Figure 11-4 illustrates the CWM metaclasses and associations that describe
deployment mappings between logical OLAP models and physical resource models. Note that it is possible to combine both Cube
(content) and Dimension (structure) deployments together within the context of a single OLAP Schema (via the DeploymentGroup
metaclass). Thus, an OLAP Schema can have several possible deployments that users may select based on implementation-specific
considerations (for example, physical optimizations).
DeploymentGroup
CubeDeployment
ContentMaplistOfValues
immediateParent
StructureMap
Figure 11-4 OLAP Metamodel: Deployment Mapping Structures