Database Reference
In-Depth Information
operations Split - i.e. a single dimension member
is separated into several members - and Merge
- i.e. several dimension members are combined
into a single one - are supported.
An advantage of this approach is its indepen-
dence from the data warehouse system in use
(Eder, Koncilia, & Wiggisser, 2006). The ver-
sioned structure data and the metadata is stored
independently from the data warehouse system
in a relational database, thus virtually any data
warehouse system can be supported with tempo-
rality. As COMET works independently from any
particular data warehouse system, the changes log
between two versions may not always be readily
available to be integrated in the COMET database.
For that purpose, the framework provides a change
detection mechanism based on directed acyclic
graphs. COMET compares the graph representing
the last known structure version in the database
to the graph representing the current version in
the data warehouse systems and suggests and edit
script, which represents the differences between
the two graphs. Such a change detection can only
be semiautomatic, because to definitely confirm
the calculated differences, external knowledge
which can only be provided by a human user is
necessary.
The COMET approach supports versioning
and therefore all previous structure versions are
recorded. If an element changed at time T i , a new
version of this element with valid time [T i ; NOW]
is created in the relational database. The previous
version is updated by assigning the ending time-
stamp T Ti-1. . For creating a new structure element
at time T i , the respective data is inserted into the
relational database and given the timestamp [T i ;
NOW] . Deleting a structure element at timepoint
T i is done by changing the ending timestamp from
NOW to T Ti-1. . It is important to note that no data is
physically deleted from the relational database.
All elements with the same end of validity
build a so called structure version, which repre-
sents a version of the cube valid at a certain point
of time. Structure versions are contiguous, thus
there are no holes in the version history of a cube.
A particular version of a structure element may
be part of several structure versions, but within
a single structure version, only one version of an
element can be valid.
Between different versions of a dimension
member so called transformation functions are
defined, which allow to transform the assigned
cell values between different structure versions
with a certain weighting factor w . Such a trans-
formation may for instance be the transformation
from Austrian Schillings into Euro for all money
related members in the fact dimensions, for which
new versions have been created in the year 2002.
In this case the factor w would have a value of
0.07267. Of course such transformations may be
far more complex than just such “unit transforma-
tions”. For instance in the case of a split, there
may exist different weighting factors for each
successor, defining the split ratios.
The set of all these transformation functions
may be modeled as a matrix or as a directed acy-
clic graph (Eder & Wiggisser, 2008). The matrix
approach allows simple and intuitive modeling
of the transformation process. The cell data is
represented as n-dimensional matrix, transforma-
tion data is modeled as two-dimensional matrix
for each dimension. The transformation is done
by standard matrix multiplication. As many data
cubes are only sparsely populated and also the
amount of changes is assumed to be rather small,
this matrix multiplication is not the most efficient
way for transformation. The graph approach
is intended to give a more efficient representa-
tion. Cell data and transformation functions are
represented by nodes and edges, respectively.
Thus, only populated cells have to be included.
As each edge stands for a multiplication and each
node stands for a cell, it is desirable to have the
transformation graph minimized, i.e. containing
the least possible number of nodes and edges. For
independent transformations - that are transforma-
tions which do not affect different versions of the
same member - it is possible to change the order
Search WWH ::




Custom Search