• Keine Ergebnisse gefunden

Relational Implementation of the Multidimensional Data Model

11.3 Organization of the OLAP Package

11.3 Organization of the OLAP Package

11.3.1 Dependencies

The OLAP package depends on the following packages:

org.omg::CWM::ObjectModel::Core

org.omg::CWM::Foundation::Expressions

org.omg::CWM::Analysis::Transformation

11.3.2 Major Classes and Associations

Figure 11-1 OLAP Metamodel: Major Classes and Associations

The major classes and associations of the OLAP metamodel are shown in Figure 11-1.

Schema is the logical container of all elements comprising an OLAP model. It is the root element of the model hierarchy and marks the entry point for navigating OLAP models. / cubeRegion : C ubeRegion / deplo ym entGroup : Depl oym entGroup / contentMap : ContentMap

Hierarchy / dimension : D imen sion

/ cubeDi me nsionAssoci ation : Cube Dim ensionAss ociation / defaultedDi mensio n : Di mension

CubeDimens ionAssociation / dimension : Dimension / cube : Cube / calcHierarchy : Hierarchy

0..1 isFull yR eal ized : Bool ean

/ memberSele ctionGroup : Memb erSel ectio nGroup / cube : Cube

/ cubeDeployment : CubeD epl oym ent

*

Figure 7.28: OLAP Metamodel of the CWM: Major Classes and Associations (adopted from [135])

7.4 : Metadata for the Analysis Layer 157

The root element of the model as well as of the resulting data navigation hierarchy isSchema, which is a logical container of all other elements. ASchemais structured into elements of typesCubeandDimension.

CubeDimensionAssociationrelates a Cube to its definingDimensions. ADimensionis a collection of unique values, optionally structured into one or severalHierarchies. AHierarchyis defined in terms of parent/child relationships between members of aDimension. It is possible to designate a defaultHierarchy within aDimension. MemberSelectionis a mechanism for identifying partitions within the instance of aDimension, such members belonging to a specific hierarchy level. CubeRegion defines a subcube of the same dimensionality as theCubeitself. A dimension in aCubeRegionis specified via a corresponding MemberSelection. CubeRegion enables implementation of a Cubeas a set of regions, each mapping a portion of the logical cube to a physical data source. MultipleMemberSelectionsin aCubeRegioncan be grouped into MemberSelectionGroup, enabling definition ofCubeRegions with specific semantics.

CubeDeploymentrepresents an implementation strategy for aCubeRegion.

Figure 7.29 reveals further specification details referring to the metaclassesDimensionandHierarchy.

The metamodel defined two specialDimensiontypes: time (isTime) and measure (isMeasure). Time dimension is used for representing temporal values thus laying the foundation for providing advanced “time-intelligent” functionality. Measure dimension describes the measure set of a multidimensional structure:

March 2003 OMG-CWM, v1.1: Organization of the OLAP Package 11-5

11

A CubeRegion may own any number of CubeDeployments. CubeDeployment is a metaclass that represents an implementation strategy for a multidimensional structure.

The ordering of the CubeDeployment classes may optionally be given some implementation-specific meaning (for example, desired order of selection of several possible deployment strategies, based on optimization considerations).

11.3.3 Dimension and Hierarchy

Figure 11-2 shows Dimension and Hierarchy, along with several other classes that model hierarchical structuring and deployment mappings.

11.3.3.1 Dimension

The OLAP metamodel defines two special types of Dimension: Time and Measure.

A Time Dimension provides a means of representing time-series data within a multidimensional structure. The members of a Time Dimension usually define some

Figure 11-2 OLAP Metamodel: Dimension and Hierarchy

Hierarchy

Figure 7.29: OLAP Metamodel of the CWM:DimensionandHierarchy(adopted from [135])

158 Chapter 7 : Relational Implementation of the Multidimensional Data Model

whenever aCubestores multiple measures, the measure dimension takes the names of the measure attributes as its member values. Thereby, the cells of aCube remain single-valued, whereas values in the measure dimension specifies what measure attribute is stored in the respective cell.

There are two subclasses ofHierarchy:LevelBasedHierarchyandValueBasedHierarchy.

LevelBasedHierarchyrepresents the classical definition of a dimension hierarchy, in which members are arranged into hierarchicalLevels(dimension categories).Levelis a subclass ofMemberSelectionthat partitions theDimension’s members into disjoint level-wise subsets.LevelBasedHierarchyis an ordered collection of HierarchyLevelAssocations that defines the hierarchical structure in top-down fashion.

AHierarchyLevelAssociation may own any number ofDimensionDeployments, whereas the class DimensionDeploymentrepresents an implementation strategy for hierarchically structuredDimensions.

A ValueBasedHierarchydefines a hierarchical ordering with no hierarchy scheme, i.e., no explicit levels. Such hierarchies are typically obtained by classifying or ranking member values according to their distance from the common root. Thereby, each member has some specific “metric" associated with it. A ValueBasedHierarchyis realized as an (ordered) collection ofDimensionDeployments.

The classes of the OLAP metamodel inherit from the packages Core and Transformation of the CWM Object Model, as shown in Figure 7.30. The metaclassMeasureis defined as a subclass ofAttributethat describes the meaning of values stored in the data cells of aCube. Depending on the adopted definition of the term “measure”, measure attributes can be represented as attributes in aCubeorCubeRegionthat models the fact table or as values characterized by the members of aMeasure Dimension. In the latter representation, a fact table has a singleMeasurecolumn with values corresponding to the names of the measure attributes (e.g., “sales”, “amount”) and a single value column of an implicit data dimension storing the actual measure values. Relational OLAP systems adopt the first measure representation option (i.e., as a attribute), whereas multidimensional servers often opt for the second one (i.e., as a dimension).

March 2003 OMG-CWM, v1.1: Organization of the OLAP Package 11-7

11

ValueBasedHierarchy

A ValueBasedHierarchy defines a hierarchical ordering of members in which the concept of level has little or no significance. Instead, the topological structure of the hierarchy conveys meaning. ValueBasedHierarchies are often used to model situations where members are classified or ranked according to their distance from a common root member (for example, an organizational chart of a corporation). In this case, each member of the hierarchy has some specific “metric” or “value” associated with it.

ValueBasedHierarchy can be used to model pure “linked node” hierarchies (for example, asymmetric hierarchical graphs or parent-child tables).

As with LevelBasedHierarchy, ValueBasedHierarchy also has an ordered collection of DimensionDeployments, where the ordering semantics are left to implementations to define.

11.3.4 Inheritance from the Object Model

Figure 11-3 OLAP Metamodel: Inheritance from Object Model

Figure 11-3 illustrates how classes of the OLAP metamodel inherit from the CWM Object Model. Two classes requiring further explanation are:

Measure: A subclass of Attribute that describes the meaning of values stored in the data cells of a multidimensional structure. Different OLAP models often give different interpretations to the term “measure.” In a relational Star Schema,

Class

Figure 7.30: OLAP Metamodel of the CWM: Inheritance from the Object Model (adopted from [135])

7.4 : Metadata for the Analysis Layer 159

RELATIONAL DEPLOYMENT OF OLAP MODELS

Note that the OLAP metamodel does not specify how an OLAP system should be implemented. The de-ployment is modeled by mapping the instances of the OLAP metaclasses to the metaclasses of the relevant package in the Resource layer. In case of a ROLAP implementation, the relevant package is Relational and the target elements are tables, columns, referential constraints, etc.

The CWM Transformation package is used as the primary means of mapping the logical OLAP model to the Resource layer. Figure 7.31 shows a fragment of the Transformation package relevant for OLAP deployment: its major metaclassTransformationMap and its subclass hierarchy are used to specify so called “white-box” transformations, which relate data sources and targets to a transformation and to each other at a detailed level. “White-box” transformations are commonly used in data warehousing where it is necessary to specify exactly how a specific data source is related to a specific data target through a specific part of the transformation.

March 2003 OMG-CWM, v1.1: Organization of the Transformation Package 10-7

10

Figure 10-3 Transformation Package: Relationships - 2

Feature / classifier : Class ifier / feature : Feature

Figure 7.31: Transformation Metamodel (fragment) of the CWM (adopted from [135])

The OLAP package inherits from the Transformation package as shown in Figure 7.30. Deployments of an OLAP model are specified by defining theTransformationMapinstances to link the logical OLAP objects to one another and to the objects representing the underlying physical data sources.

160 Chapter 7 : Relational Implementation of the Multidimensional Data Model

11-10 Common Warehouse Metamodel, v1.1 March 2003