=Paper= {{Paper |id=Vol-19/paper-5 |storemode=property |title=Repository Support for Data Warehouse Evolution |pdfUrl=https://ceur-ws.org/Vol-19/paper4.pdf |volume=Vol-19 |dblpUrl=https://dblp.org/rec/conf/dmdw/Quix99 }} ==Repository Support for Data Warehouse Evolution== https://ceur-ws.org/Vol-19/paper4.pdf
                   Repository Support for Data Warehouse Evolution

                                                             Christoph Quix
                                                 Informatik V, RWTH Aachen, Germany
                                                    quix@informatik.rwth-aachen.de



                                                                             analysts using the data warehouse system to support them
                                                                             in decision making in the daily business work of an enter-
                                Abstract                                     prise. The nature of the work of managers and analysts im-
                                                                             plies that their requirements are often changing and do not
      Data warehouses are complex systems consist-                           reach a final state, i.e. their requirements are dynamic and
      ing of many components which store highly-                             subjective. They do not only demand faster response time
      aggregated data for decision support. Due to the                       to their queries (which may be achieved by ordering new
      role of the data warehouses in the daily business                      and faster hardware), they also want more information, e.g.
      work of an enterprise, the requirements for the                        access to data which are currently not present in data ware-
      design and the implementation are dynamic and                          house, or a higher quality of their data, e.g. query results
      subjective. Therefore, data warehouse design is a                      with less incorrect values.
      continuous process which has to reflect the chang-
      ing environment of a data warehouse, i.e. the data                        Therefore, a data warehouse can not be designed in
      warehouse must evolve in reaction to the enter-                        one step, usually it evolves over many years. A common
      prise’s evolution. Based on existing meta mod-                         methodology to construct data warehouses is to start with
      els for the architecture and quality of a data ware-                   some local data marts (e.g., one data mart for each depart-
      house, we propose in this paper a data warehouse                       ment). The knowledge acquired during this phase can be
      process model to capture the dynamics of a data                        used to construct in parallel a global enterprise schema for
      warehouse. The evolution of a data warehouse is                        the data warehouse. Data marts are usually easier to im-
      represented as a special process and the evolution                     plement than an enterprise-wide data warehouse, and after
      operators are linked to the corresponding architec-                    a relatively short time analysts can work with the system.
      ture components and quality factors they affect.                       The requirements of the analysts will grow in time, and
      We show the application of our model on schema                         after some time they want to make queries across several
      evolution in data warehouses and its consequences                      data marts of the departments. At this point, the enterprise-
      on data warehouse views. The models have been                          wide data warehouse comes into play: it can either be a
      implemented in the metadata repository Concept-                        virtual/distributed data warehouse, i.e. there is common in-
      Base which can be used to analyze the result of                        terface to data warehouse but the queries are delegated to
      evolution operations and to monitor the quality of                     the data marts, or a materialized data warehouse, which has
      a data warehouse.                                                      loaded the data from the data marts and other information
                                                                             sources.
1 Introduction                                                                  In data warehouses, changes may happen or be required
                                                                             in many different situations. The data warehouse is usu-
Data warehouses are complex systems consisting of many                       ally separated from the OLTP systems and the OLTP sys-
components which store highly-aggregated data for deci-                      tems are important for the daily business of the enterprise.
sion support. Most requirements stem from managers and                       Therefore, the data warehouse must be adapted to any
The copyright of this paper belongs to the paper’s authors. Permission to    changes which occur in the underlying data sources, e.g.
copy without fee all or part of this material is granted provided that the   changes of the schemata, changes of the physical location
copies are not made or distributed for direct commercial advantage.          of a data source, or a change of the time window for the ex-
Proceedings of the International Workshop on Design and                      traction of source data. Beside these changes on the source
Management of Data Warehouses (DMDW’99)                                      level, the client level (analysts) often change their require-
Heidelberg, Germany, 14. - 15.6. 1999                                        ments as already mentioned above. Furthermore, new ver-
(S. Gatziu, M. Jeusfeld, M. Staudt, Y. Vassiliou, eds.)                      sions of software components may also require a change in
http://sunsite.informatik.rwth-aachen.de/Publications/CEUR-WS/Vol-19/        the data warehouse.




C. Quix                                                                                                                                4-1
   Data quality is also important in traditional online trans-   agation. On the other hand, the process model is special-
action processing systems (OLTP). In the research on these       ized to deal also with evolution processes, which are pro-
systems, techniques were developed to ensure a certain data      cesses which evolve the data warehouse like the material-
quality level. For example, most relational databases today      ization of a new view or the addition of a new source.
support referential integrity constraints and the SQL stan-          The advantage of our proposed approach is that all rel-
dard, so that data can be easily queried from the database,      evant metadata of a data warehouse (architecture, quality,
and the semantics of the result is well understood. How-         process and evolution information) are stored in a central
ever, online analytical processing (OLAP) has refocused          repository. The different types of information are inter-
the attention on data quality, because of several reasons.       related, and therefore provide a semantically rich repre-
First, in data warehouses the data are loaded from many          sentation of the data warehouse. The query facilities of
different sources and often problems with the format, en-        our metadata repository ConceptBase [JGJ+95] enable data
coding or interpretation of data are encountered. Further-       warehouse users to analyze the data warehouse and to find
more, data quality is always relative since the quality of       deficiencies in architecture, quality, processes or the evolu-
data depends on how the data are suited for a particular         tion of the data warehouse.
use. In OLTP systems, the intended use is known before               This paper is structured as follows. In section 2, we first
the system is designed and implemented and usually does          recall the principles of the architecture and quality mod-
not change over time. In contrast, the use of OLAP sys-          els shown in [JJQV99] and [JQJ98] before we present the
tems is not as static as in OLTP systems and may even be         data warehouse process model. Section 3 specializes the
not known at design time of the warehouse. The informa-          process model to the case of data warehouse evolution. In
tion demand of managers and analysts changes very often,         section 4, we present related work which addresses evo-
and if new information is required, it must be delivered in      lution in data warehouses, in particular schema evolution.
a short time to be useful [TB98].                                Finally, we provide a summary and conclusions and give
   In the European DWQ project (Foundations of Data              an outlook to future work.
Warehouse Quality) [JV97], we have developed an archi-
tecture and quality model for data warehouses [JJQV99].          2 A meta model for Data Warehouse Archi-
This model allows the representation of the data ware-             tecture, Quality and Processes
houses in three different perspectives:
                                                                 This section summarizes the nature of metadata used in the
  




      the conceptual perspective, which represents an over-      DWQ framework and gives an overview of the DWQ qual-
      all business perspective on the information resources      ity model. In section 2.3, the framework is extended by a
      and analysis tasks of an enterprise,                       process model for data warehouses.
  




      the logical perspective, which describes the schemata      2.1   Data Warehouse Architecture
      used in the sources, the data warehouse, and the data
                                                                 In the DWQ project we have advocated the need for en-
      marts, and
                                                                 riched metadata facilities for the exploitation of the knowl-
  




      the physical perspective, which shows where the data       edge collected in a data warehouse. In [JJQV99], it is
      is physically stored (host, disk, etc.).                   shown that the data warehouse metadata should track both
                                                                 architecture components and quality factors.
   Each perspective has three different levels: the source,          The proposed categorization of the DW metadata is
enterprise and client level. A central role in this model        based on a 3x3 framework, depicted in figure 1: we iden-
plays the enterprise model which should be a conceptual          tified three perspectives (conceptual, logical and physical)
representation of the data which is available in the enter-      and three levels (source, data warehouse, client). We made
prise. In [JJQV99], we also presented a preliminary ap-          the observation, that the conceptual perspective, which rep-
proach of linking quality information to the architecture        resents the real world of an enterprise, is missing in most
model. This approach was extended and more formally              data warehousing projects, with the risk of incorrectly rep-
presented in [JQJ98] and is shortly summarized in section        resenting or interpreting the information found in the data
2.                                                               warehouse.
   Our models represent only a “snapshot” of a data ware-            The proposed metamodel (i.e. the topmost layer in fig-
house system without taking into account anything of the         ure 1) provides a notation for data warehouse generic en-
dynamics in a data warehouse environment. In this paper,         tities, such as schema or agent, including the business per-
we want to describe how our repository approach devel-           spective. Each box shown in figure 1 is decomposed into
oped in [JJQV99] and [JQJ98] can be extended to deal also        more detailed data warehouse objects in the metamodel of
with the dynamics of a data warehouse. On the one hand,          [JJQV99]. This metamodel is instantiated with the meta-
this includes a process model which represents the usual         data of the data warehouse (i.e. the second layer in figure
data warehouse processes like data loading or update prop-       1), e.g. relational schema definitions or the description of




C. Quix                                                                                                                     4-2
                         Conceptual     Logical      Physical                   Purpose
                         Perspective   Perspective   Perspective                                   direction                    description          String

                                                                                                             Quality
          Client Level                                                                                     ! GoalType            forPerson
                                                                                                                                                     Stake
                                                               Meta                                                                                holderType
                                                                                                 concreteBy
      DW Level                                                 Model                                                          dimension                   prefers
                                                                         imposedOn
                                                               Level
                                                                                                   Quality                                          Quality
Source Level                                                                                     ? QuestionType                                    Dimension

                                                                                                               evaluates                              isSubDimOf

                                                                                          dependsOn                              dimension
          in

                                                                        ObjectType                       Quality              expected
                                                                                                       FactorType
                                                                                                                                              PowerSet
                                                           Models/                    onObject
                                                                                                                               achieved              of
                                                          Meta Data                                    when            unit
                                                            Level                                                                              Quality
                                                                                     Measuring                                                DomainType
                                                                                                       Timestamp      MetricUnit
                                                                                      Agent
                                                                                                          Type

                                                                                                                hasResult
                              in
          in
                                                                               Figure 2: DWQ Quality Meta Model [JQJ98]
                                                                       goal resolution is based on the evaluation of the compos-
          Real                                                         ing quality factors, each corresponding to a given quality
          World                                                        question, (iii) quality questions are implemented and exe-
                                                                       cuted as quality queries on the semantically rich metadata
 Figure 1: The Data Warehouse Architecture Meta Model                  repository.                                                             




                                                                           Figure 2 shows the DWQ Quality Model . The class
the conceptual data warehouse model. The lowest layer in               “ObjectType” refers to any meta-object of the DWQ frame-
figure 1 represents the real world where the actual data re-           work depicted in the first layer of figure 1. A quality goal
side: in this level the metadata are instantiated with data            is an abstract requirement, defined on an object types, and
instances, e.g. the tuples of a relation or the objects of the         documented by a purpose and the stakeholder interested in.
real world which are represented by the entities of the con-           A quality goal roughly expresses natural language require-
ceptual model.                                                         ments like “improve the availability of source s1 until the
                                                                       end of the month in the viewpoint of the DW administra-
2.2   Quality Meta Model                                               tor”. Quality dimensions (e.g. “availability”) are used to
                                                                       classify quality goals and factors into different categories.
Each object in the three levels and perspectives of the ar-            Furthermore, quality dimensions are used as a vocabulary
chitectural framework can be subject to quality measure-               to define quality factors and goals; yet each stakeholder
ment. Since quality management plays an important role                 might have a different vocabulary and different preferences
in data warehouses, we have incorporated it into our meta-             in the quality dimensions. Moreover, a quality goal is op-
modeling approach. Thus, the quality model is part of the              erationally defined by a set of questions to which quality
metadata repository, and quality information is explicitly             factor values are provided as possible answers. As a result
linked with architectural objects. This way, stakeholders              of the goal evaluation process, a set of improvements (e.g.
can represent their quality goals explicitly in the metadata           design decisions) can be proposed, in order to achieve the
repository, while, at the same time, the relationship be-              expected quality [VBQ99]. A quality factor represents an
tween the measurable architecture objects and the quality              actual measurement of a quality value, i.e. it relates quality
values is retained.                                                    values to measurable objects. A quality factor is a special
   The DWQ quality metamodel [JQJ98] is based on the                   property or characteristic of the related object with respect
Goal-Question-Metric approach (GQM) of [OB92] orig-                    to a quality dimension. It also represents the expected range
inally developed for software quality management. In                   of the quality value, which may be any subset of a qual-
GQM, the high-level user requirements are modeled as                   ity domain. Dependencies between quality factors are also
goals. Quality metrics are values which express some mea-              stored in the repository. Finally, the method of measure-
sured property of the object. The relationship between                 ment is attached to the quality factor through a measuring
goals and metrics is established through quality questions.            agent.
   The main difference in our approach resides in the fol-                 The quality meta-model is not instantiated directly with
lowing points: (i) a clear distinction between subjective                 




                                                                            The different colors in this and the following figures refer to the ab-
quality goals requested by stakeholder and objective qual-             straction level of the object: meta-meta classes are white, meta-classes are
ity factors attached to data warehouse objects, (ii) quality           light-gray, simple classes are dark-gray, and data objects are black.




C. Quix                                                                                                                                                         4-3
                                                                                                               composed
concrete quality factors and goals, it is instantiated with                                     next              Of
patterns for quality factors and goals. The use of this inter-
 




                                                                                        hasResult       Process      forPerson     Stake-
mediate instantiation level enables data warehouse stake-                 Domain
                                                                                                         Type                    holderType
holders to define templates of quality goals and factors. For                                                              isA
example, suppose that the analysis phase of a data ware-                                            works     executed
                                                                                                                 By
house project has detected that the availability of the source                        affects        On                    Process
database is critical to ensure that the daily online transac-                                                             StepType
                                                                                         onObject
tion processing is not affected by the loading process of             QualityFactor
                                                                                                       ObjectType
the data warehouse. A source administrator might later in-               Type
stantiate this template of a quality goal with the expected
availability of his specific source database. Thus, the pro-              Figure 3: A process model for data warehouses
grammers of the data warehouse loading programs know
                                                                    processes or process steps which may be further decom-
the time window of the update process.
                                                                    posed. Process steps and the processes itself are executed
    Based on the meta-model for data warehouse architec-
                                                                    in a specific order which is described by the “next” relation
tures, we have developed a set of quality factor templates
                                                                    between processes. A process works on an object type, e.g.
which can be used as a initial set for data warehouse qual-
                                                                    data loading works on a source data store and a data ware-
ity management. The exhaustive list of these templates
                                                                    house data store. The process itself must be executed by
can be found in [QJJ+98]. In [VBQ99], we have shown
                                                                    some object type, usually an agent which is represented in
a methodology for the application of the architecture and
                                                                    the physical perspective of the architecture model. The re-
quality model. The methodology is an adaptation of the
                                                                    sult of a process is some value of a domain, the execution of
Total Quality Management approach [BBBB95] and con-
                                                                    further processes may depend on this value. For example,
sists of the following steps:
                                                                    the data loading process returns as a result a boolean value
                                                                    representing the completion value of the process, i.e. if it
     




         design of object types, quality factors and goals,
                                                                    was successful or not. Further process steps like data clean-
     




         evaluation of the quality factors,                         ing are only executed if the previous loading process was
                                                                    successful. The process is linked to a stakeholder which
     




         analysis of the quality goals and factors and their pos-   controls or has initiated the process. Moreover, the result
         sible improvements, and                                    of a process is the data which is produced as an outcome of
                                                                    the process, e.g. the tuples of a relation.
     




         re-evaluation of a quality goal due to the evolution of        Processes affect a quality factor of an object type, e.g.
         data warehouse.                                            the availability of data source or the accuracy of a data
                                                                    store. It might be useful to store also the expected effect on
   The basic idea of [VBQ99] is to add (analytical) func-           the quality factor, i.e. if the process improves or decreases
tions to the quality model which formalize the dependen-            the quality factor. However, the achieved effect on the qual-
cies between the quality factors. Their inverse functions are       ity factor can only be determined by a new measurement of
use to find possibilities for the improvement of data ware-         this factor. A query on the metadata repository can then
house quality.                                                      search for the processes which have improved the quality
                                                                    of a certain object.
2.3      A Quality-Oriented Data Warehouse Process                      The processes can be subject to quality measurement,
         Model                                                      too. Yet, the quality of a process is usually determined by
As described in the previous section it is important that           the quality of its output. Therefore, we do not go into detail
all relevant aspects of a data warehouse are represented            with process quality but quality factors can be attached to
in the repository. Yet the described architecture and qual-         processes, too.
ity model does not represent the workflow which is nec-                 As an example for a data warehouse process we have
essary to build and run a data warehouse, e.g. to integrate         partially modeled the data warehouse loading process in
data source or to refresh the data warehouse incrementally.         figure 4. The loading process is composed of several steps,
Therefore, we have added a data warehouse process model             of which one in our example is data cleaning. The data
to our meta modeling framework. Our goal is to have a sim-          cleaning process step works on a data store, where the data
ple process model which captures the most important issues          which have to be cleaned reside. It is executed by some
of data warehouses rather than building a huge construction         data cleaning agent. It affects among others the quality fac-
which is difficult to understand and not very useful due to         tors accuracy and availability, in the sense that accuracy is
its complexity.                                                     hopefully improved and availability is decreased because
    Figure 3 shows the meta model for data warehouse pro-           of locks due to read-write operations on the data store. The
cesses. A data warehouse process is composed of several             data cleaning process may also store some results of its ex-




C. Quix                                                                                                                                 4-4
                Boolean       completed                                            TRUE        completed
                              Successfully                                                     Successfully
                 numChanged
                                                     composed                     numChanged
                   Tuples
     Integer                          Cleaning          Of                          Tuples            Cleaning        composed
                                       Cleaning                           5465                                           Of
                                         Cleaning                                                    April 15,99
                                                                                                       Cleaning
           improves
                                          Cleaning          DW Loading                                   Cleaning                DW Loading
                                                                                                          Cleaning               April 15, 99
  DataStore               decreases          works         executed
  Accuracy                                    On               By                                             works          executed
                                                                                                               On                By
                                                         DataCleaning
 DataStore                            DataStore
                                                            Agent                                     Employee               Employee
 Availability                                                                                         DataStore               Cleaner

Figure 4: An example for a data warehouse process pattern
                                                                                 Figure 5: Trace of a data warehouse process
ecution in the metadata repository, for example, a boolean
value to represent the successful completion of the process
                                                                         3 Data Warehouse Evolution
and the number of changed tuples in the data store. As al-               This section presents a framework for data warehouse evo-
ready mentioned in section 2.2, the first instantiation level            lution. It is based on the process model for data warehouses
provides only a pattern for data warehouse processes, and                presented in the previous section. We will first discuss what
not the “real” processes. The data of a “real” process is                types of evolution may occur in data warehouse. Finally,
stored as an instance of this pattern (see below).                       we will present the application of our framework to the evo-
   The information stored in the repository may be used                  lution of data warehouse views.
to find deficiencies in data warehouse. To show the use-
fulness of this information we use the following query. It               3.1   Evolution in a Data Warehouse Environment
returns all data cleaning processes which have decreased
                                                                         A data warehouse is a very complex system whose compo-
the availability of a data store according to the stored mea-
                                                                         nents evolve frequently independently of each other. Users
surements. The significance of the query is that it can show
                                                                         can create new views or update old ones. Some sources
that the implementation of data cleaning process has be-
                                                                         may disappear while others are added. The enterprise
come inefficient.
                                                                         model can evolve with the enterprise objectives and strate-
GenericQueryClass DecreasedAvailability                                  gies. The technical environment changes with evolution of
  isA DWCleaningProcess with
parameter                                                                products and updates. Design choices at the implementa-
     ds : DataStore                                                      tion level can also evolve to achieve users requirements and
constraint c :
 $ exists qf1,qf2/DataStoreAvailability                                  administration requirements.
    t1,t2,t3/TransactionTime v1,v2/Integer
 (qf1 onObject ds) and (qf2 onObject ds) and                                 The data stores can produce changes due to rea-
 (this worksOn ds) and (this executedOn t3) and                          sons of schema evolution in the logical and concep-
 (qf1 when t1) and (qf2 when t2) and (t1 v2) $                                       the source (e.g. location, performance etc.), insertions or
end
                                                                         deletions of data stores, and other reasons particular to
    The query has a data store as parameter, i.e. the query              their nature (e.g. in the sources, the time window for
will return only cleaning processes which are related to the             extraction or the data entry process can change). The
specified data store. The query returns the processes which              software components can be upgraded, completed, de-
have worked on the specified data store and which were                   bugged, etc. The propagation agents of all types (load-
executed between the measurements of quality factors qf1                 ers/refreshers/wrappers/mediators/source integrators) can
and qf2, and the measured value of the newer quality fac-                obtain new schedules, new algorithms, rules, physical
tor is lower than the value of the older quality factor. The             properties, etc. Needless to say that the user requirements
query can be formulated in a more generic way to deal with               continuously change, too. New requirements arise, while
all types of data warehouse processes but for reasons of                 old ones may become obsolete, new users can be added,
simplicity and understandability, we have shown this more                priorities and expected/acceptable values change through
special variant.                                                         the time, etc. Moreover, the business rules of an organiza-
    Finally, figure 5 shows the trace of a process at the in-            tion are never the same, due to changes in the real world.
stance level. The process pattern for DW Loading has been                    As a result of evolution and errors, our goals, compo-
instantiated with a real process, which has been executed                nents, and quality factors are never to be fully trusted. Each
on the specified date “April 15, 1999”. An instantiation of              time we reuse previous results we must always consider
the links to the quality factors is not necessary, because the           cases like: lack of measurement of several objects, errors
information that “data cleaning” affects the accuracy and                in the measurement procedure (e.g. through an agent which
the availability of a data store is already recorded in the              is not appropriate), outdated information of the repository
process pattern shown in figure 4.                                       with respect to the data warehouse, etc.




C. Quix                                                                                                                                   4-5
                           next           composed                                   DW        affects    Add DW
                                             Of
                                                                                  Completeness            Relation    composed
                   hasResult       Process     forPerson       Stake-                                                    Of
      Domain                                                                                                  next
                                    Type                     holderType
                                                                                   DataStore             Evaluate
                                                 isA                               Availability           View
                                                                                                                                 Materialize
                               works                                                                          next                 View
                 affects        On                      Process
                                                                                    DataStore            Store View
                                                        StepType
                                                                                    Minimality             Extent                  worksOn
                                                                                                                                                      ...
 QualityFactor      onObject
                                  ObjectType                                                                  next        Source            DW
                                                       isA
    Type
                                                                                        DW               Store View      DataStore        DataStore
                                                 Evolution                        Interpretability       Meta Data
                                               ProcessType
                                                                   isA                 Figure 7: DW Evolution: Materialization of a view
                                                                    Evolution
                                                                   OperatorType   warehouse views. Our goal is to provide a framework for
                                                                                  the quality-oriented evolution of a data warehouse and the
Figure 6: DW process model specialized for DW Evolution                           existing techniques are integrated into our framework to
                                                                                  make use of the semantically rich meta database.
3.2   A Meta Model for Data Warehouse Evolution
                                                                                      One application of our framework is the monitoring of
A way to control the evolution in data warehouses is to pro-                      data warehouse quality under the evolving environment of
vide complementary meta-data which tracks the history of                          a data warehouse. As described in section 2.2 quality mea-
changes and provides a set of consistency rules to enforce                        surements should be repeated periodically to monitor how
when a quality factor has to be re-evaluated. To do so, it                        the quality of the data warehouse evolves. In addition to
is necessary to link quality factors to evolution operators                       the architecture and quality model, the meta model for data
which affect them. The idea behind this is to enrich the                          warehouse evolution keeps track of the (evolution) pro-
meta-data repository in order to ease the impact analysis of                      cesses which have changed the configuration of the data
each evolution operator and its consequences on the quality                       warehouse or have changed the data of the warehouse.
factor measures.                                                                  With this information, it is possible to trace the evolution of
   Our meta model for data warehouse evolution is a spe-                          the data warehouse. If a quality problems occurs, the meta-
cialization of the data warehouse process model (see figure                       data repository can be used to find the (evolution) process
6). An evolution process is composed of evolution opera-                          which has caused the quality problem. In the rest of this
tors, but also of “normal” data warehouse processes. For                          section, we will use the example for the evolution of data
example, the materialization of new data warehouse is an                          warehouse views to show the usefulness of our approach.
evolution process of the data warehouse (cf. figure 7). This                          In [CNR99] a taxonomy for schema evolution operators
process includes the schema evolution operations such as                          in object-oriented databases is given. We have adapted this
“Add a new relation to the data warehouse schema” as well                         taxonomy to relational databases, which are often used in
as the loading, extraction and writing process to evaluate                        data warehouses. Table 1 summarizes the evolution oper-
the view and store its extent.                                                    ators for base relations and views, and relates them to the
   The example shown in figure 7 is also a pattern for an                         quality factors which are affected by this evolution opera-
evolution process like the example in figure 4 is a pattern                       tor.
for a data warehouse process. Therefore, the pattern has to                           The evolution operators for base relations and views in
be further instantiated with an evolution process which has                       data warehouse mainly work on the representation of the
been executed on the data warehouse system. The infor-                            relation in the logical perspective of the architecture model,
mation stored in the metadata repository can then be used                         i.e. the relation itself and the logical schema it belongs to.
to analyze the impact of certain evolution operations on the                      Moreover, they affect the physical objects where the data
data warehouse.                                                                   of the relation is stored or where the view is materialized,
                                                                                  i.e. the data stores. In addition, if there exists another view
3.3   Evolution of Data Warehouse Views                                           which is based on the evolved relation or view, then the
To be useful, the described framework for data warehouse                          view definition, the materialization of the view, and the
evolution must be filled with patterns of evolution pro-                          maintenance procedure must be updated, too.
cesses. As an example, we will discuss the evolution of                               The completeness, correctness and consistency of the
views in data warehouses. The evolution of data ware-                             logical schema with respect to conceptual model are the
house views has been studied recently in the research fields                      most important quality factors affected by these evolution
of schema evolution [RLN97, Bell98, Blas99] and main-                             operators. Furthermore, the deletion of a base relation or an
tenance of data warehouse views under view redefinition                           attribute might have a positive impact on the minimality or
[GMR95]. In this section, we do not provide a new tech-                           the redundancy of the logical schema. The renaming of at-
nique for schema evolution or view maintenance of data                            tributes and relations to more meaningful names improves




C. Quix                                                                                                                                           4-6
             Table 1: Evolution Operators for base relations and views in DWs and their effect on DW quality

      Evolution Operator          Affects Quality Factor                                    Works On
      Add base relation/view     - Completeness, correctness and consistency of the log-   - Relation
                                  ical schema wrt. the conceptual model                    - Logical Schema
                                 - Usefulness of schema                                    - Data Store
                                 - Availability of the data store
      Delete base relation/view  - Minimality of logical schema                             - Relation, Log. Schema
                                 - Completeness, correctness and consistency of the log-    - Data Store
                                  ical schema wrt. the conceptual model                     - View
                                 - Availability of data store                               - View Maintenance Agent
      Add attribute to base - Completeness, correctness and consistency of the log-         - Relation
      relation/view               ical schema wrt. the conceptual model                     - Data Store
                                 - Interpretability of the relation                         - View
                                 - Redundancy of the attributes                             - View Maintenance Agent
      Delete attribute from base - Completeness, correctness and consistency of the log-    - Relation
      relation/view               ical schema wrt. the conceptual model                     - Data Store
                                 - Interpretability of the relation                         - View
                                 - Redundancy of the attributes                             - View Maintenance Agent
      Rename Relation, View, or - Interpretability and understandability of the relation    - Relation, View
      Attribute                   and their attributes                                      - Data Store, VM Agent
      Change of attribute domain - Interpretability of data                                 - Relation, View
                                                                                            - Data Store, VM Agent
      Add Integrity Constraint      - Credibility and Consistency of data in data store     - Logical Schema
                                                                                            - Data Store
      Delete Integrity Constraint   - Consistency of data wrt. integrity constraints        - Logical Schema
                                                                                            - Data Store
      Change to view definition     - Completeness, correctness and consistency of the log- - View
                                     ical schema wrt. the conceptual model                  - Data Store
                                    - Usefulness of schema                                  - View Maintenance Agent

the interpretability and the understandability of the logical     are instances of the process type RelationalEvolutionPro-
schema. The change of the domain of an attribute to a more        cess. A similar view might be useful for data warehouse
applicable domain, e.g. changing the domain from string to        administrators which notifies them if base relations have
date, improves the interpretability of data. New integrity        changed. Our repository system ConceptBase is able to
constraints in the logical schema may improve the credi-          maintain views on the metadata and supports the notifica-
bility and the consistency of the data. Finally, if the view      tion of external client applications if a view has changed
definition is changed without an impact on the structure of       they are interested in [SQJ98].
the view (e.g. the WHERE clause in a SQL statement is
changed) the view may become useful for more client ap-           3.4   Case Study
plications.
    As an example to show the usefulness of the data ware-        In [Lehm97], a commercial case study is described in
house evolution model, we suppose that an analyst has de-         which an early version of the approach described above has
tected that the views he is using are changed often, and that     been used to link changes in the definition of materialized
he wants to get notified about future changes. We can es-         views of the data warehouse to changes in the view main-
tablish a view on the metadata repository for the analyst         tenance strategy.
which monitors the changes to the view he is interested in.           We have developed a tool for data warehouse design at
                                                                  the relational level, aiming at several data warehouse qual-
View EvolutionOperationsOnView                                    ity goals like reusability of solutions, sufficient and flexible
  isA RelationalEvolutionProcess with
parameter                                                         freshness of data, ability for evolution of source or data
    v : DWView                                                    warehouse schemas, and clear process definitions for data
constraint                                                        integration and refreshment. Prior to the development of
    c: $ (this worksOn v) $
end                                                               this tool, especially the goal of flexibility was hampered by
                                                                  the need to re-program scripts whenever schema or policy
   This view returns all evolution operations which are           changes happened.
made to the given data warehouse view assuming that all               Due to the constraints in the project, we decided to
evolution processes concerning relational schema evolution        decompose the data warehouse views into several self-




C. Quix                                                                                                                       4-7
maintainable views [HZ96]. The design tool records the             The second perspective which addresses the problem of
schema definitions of the source systems and the view defi-     evolution of data warehouse views, is maintenance of the
nitions of the warehouse. It then decomposes the views and      extent of a view. In [GMR95], the problem of incremental
creates automatically the SQL statements to initialize and      view maintenance under view redefinition is studied. An
incrementally maintain the views.                               overview and a taxonomy of view maintenance problems is
    If the schema of the sources or of the data warehouse       given in [GM95]. [HMV99] studies the problem of main-
has changed, only little effort is necessary to update the      taining multi-dimensional data cubes under dimension up-
maintenance processes, i.e. only the SQL code has to be         dates. They define a basic set of operators why modify the
re-generated. However, we did not support the adaptation        dimensions of a data cube. Moreover, they provide an al-
of the tuples in the relations to the new schema.               gorithm for maintaining the data cube under these update
    The tool has been integrated into a commercial product      operations.
suite for sales force automation and has significantly re-
duced the effort of data warehouse maintenance [JQB+99].        5 Conclusions
                                                                We have extended our meta modeling framework for data
4 Related Work                                                  warehouse architecture and quality by a model for data
An approach for the management of views in a federated          warehouse processes and have specialized this model to the
database system is proposed in [KGF98]. The approach            case of data warehouse evolution. In detail, we have ad-
is based on a knowledge base which stores what informa-         dressed the problem of evolution of data warehouse views.
tion is available in the federated database, how it has been    The management of the metadata in our repository sys-
combined previously, and how the information is related         tem ConceptBase allows us to query and analyze the stored
semantically. A workbench of tools assist users to create       metadata for errors and deficiencies. In addition, features
and evolve the knowledge base and their views on the fed-       like client notification and active rules of ConceptBase sup-
erated database system.                                         port the maintenance of the data warehouse components
    Research in data warehouses addresses the evolution         and keep data warehouse users up-to-date on the status of
problem from two different perspectives. The first as-          the data warehouse.
pect is the schema evolution of base relations and views,          In the DWQ project, we are currently studying some
which has been studied in [Bell98], [RLN97] and [Blas99].       data warehouses processes like update propagation, query-
[Bell98] provides a set of algorithms to maintain the defini-   ing, and conceptual design. Furthermore, the different
tions of views if the schema of the base relations is chang-    types of data warehouse evolution mentioned in section 3.1
ing. Furthermore, different versions of a view are con-         have to be studied in more detail. In this context, the pro-
structed and maintained if the view definition has changed.     posed models will be refined and extended to cover new
The versioning of views is necessary because not every          aspects of data warehouse processes. A validation of the
client application of the data warehouse can be adapted to      data warehouse process model with one of our industrial
the new version of the view.                                    cooperation partners - a small data warehouse application
    [RLN97] provides a taxonomy of view adaptations             vendor - is also planned for the future.
problems. The taxonomy is based upon the types of
changes to the view, the desired level of view adaptabil-       Acknowledgments
ity in the context of changes, and the changes related to
                                                                This research is sponsored by the European Esprit Project
the base information system, e.g. data updates, capability      “DWQ: Foundations of Data Warehouse Quality”, No.
changes or metadata changes. They present an environ-
                                                                22469. We would like to thank all our DWQ partners
ment for the view synchronization problem, i.e. the view
                                                                who contributed to the progress of this work, and es-
definition adaptation is triggered by capability changes of
                                                                pecially Matthias Jarke, Manfred A. Jeusfeld, Mokrane
information systems. Other work in the context of schema
                                                                Bouzeghoub, and Panos Vassiliadis.
evolution has been devoted to the evolution of schemas in
object-oriented databases like [CNR99].
    [Blas99] presents a framework for the evolution of con-     References
ceptual multidimensional schemata. In this approach, the        [BBBB95] D.H. Besterfield, C. Besterfield-Michna,
data warehouse is designed and maintained at a concep-                   G. Besterfield and M. Besterfield-Sacre, Total
tual level. Each evolution operation at the conceptual level             Quality Management, Prentice Hall, 1995.
has well-defined semantics and is mapped to a physical im-
plementation level. The framework supports among other          [Bell98]    Z. Bellahsène. Structural View Maintenance in
features the automatic adaptation of instances, change no-                  Data Warehousing Systems. Journées Bases de
tification for applications, and forward compatibility of                   Données Avancées (BDA ’98), Tunis, October
schemata.                                                                   1998.




C. Quix                                                                                                                  4-8
[Blas99]   M. Blaschka. FIESTA: A Framework for             [JQJ98]    M.A. Jeusfeld, C. Quix, M. Jarke. Design
           Schema Evolution in Multidimensional Infor-                 and Analysis of Quality Information for Data
           mation Systems. In Proc. 6th CAiSE Doctoral                 Warehouses. In Proc. of the 17th Interna-
           Consortium, Heidelberg, Germany, June 1999.                 tional Conference on the Entity Relationship
                                                                       Approach (ER’98), Singapore, 1998.
[CNR99]    K.T. Claypool, C. Natarajan, E.A. Run-
           densteiner. Optimizing the Performance of        [JV97]     M. Jarke, M. Vassiliou. Foundations of data
           Schema Evolution Sequences. Technical Re-                   warehouse quality: an overview of the DWQ
           port WPI-CS-TR-99-06, Worcester Polytech-                   project. In Proc. of the 2nd International Con-
           nic Institute, Dept. of Computer Science,                   ference on Information Quality, Cambridge,
           March 1999.                                                 Mass, 1997.
                                                            [KGF98]    D.D. Karunaratna, W.A. Gray, N.J. Fid-
[GM95]     A. Gupta, I.S. Mumick. Maintenance of Ma-
                                                                       dian. Organising Knowledge of a Feder-
           terialized Views: Problems, Techniques, and
                                                                       ated Database System to Support Multiple
           Applications. IEEE Data Engineering Bulletin,
                                                                       View Generation. In Proc. 5th KRDB Work-
           Special Issue on Materialized Views and Ware-
                                                                       shop (Knowledge Representation meets Data
           housing, 18(2), 1995.
                                                                       Bases), Seattle, May 1998.
[GMR95] A. Gupta, I.S. Mumick, K.A. Ross. Adapt-            [Lehm97] D. Lehmann. View Maintenance in a Data
        ing Materialized Views after Redefinitions. In               Warehouse Environment. Diploma Thesis,
        Proc. ACM SIGMOD International Confer-                       RWTH Aachen, November 1997 (in german).
        ence on Management of Data, pp. 211–222,
        1995.                                               [OB92]     M. Oivo, V. Basili. Representing software en-
                                                                       gineering models: the TAME goal-oriented ap-
[HMV99] C.A. Hurtado, A.O. Mendelzon, A.A. Vais-                       proach. IEEE Transactions on Software Engi-
        man. Maintaining Data Cubes under Dimen-                       neering, 18(10), 1992.
        sion Updates. In Proc. 15th Intl. Conference
        on Data Engineering (ICDE ’99), Sidney, Aus-        [QJJ+98]   C. Quix, M. Jarke, M.A. Jeusfeld,
        tralia, 1999.                                                  M. Bouzeghoub, D. Calvanese, E. Franconi,
                                                                       M. Lenzerini, U. Sattler, P. Vassiliadis. Quality
[HZ96]     R. Hull, G. Zhou. A framework for support-                  Oriented Evolution of DW Designs. Technical
           ing data integration using the materialize and              Report, DWQ 9.1, DWQ Consortium, 1998.
           virtual approaches. Proc. ACM SIGMOD Intl.
                                                            [RLN97]    E.A. Rundensteiner, A.J. Lee, A. Nica. On Pre-
           Conf. Management of Data, Montreal, Canada,
                                                                       serving Views in Evolving Environments. In
           1996.
                                                                       Proc. 4th KRDB Workshop (Knowledge Rep-
[JGJ+95]   M. Jarke, R. Gallersdörfer, M.A. Jeusfeld,                 resentation meets Data Bases), Athens, 1997.
           M. Staudt and S. Eherer. ConceptBase - a         [SQJ98]    M. Staudt, C. Quix, M.A. Jeusfeld. View Main-
           deductive object base for meta data manage-                 tenance and Change Notification for Applica-
           ment, Journal of Intelligent Information Sys-               tion Program Views. ACM Symposium on Ap-
           tems, 4(2), 1995, pp. 167–192.                              plied Computing, Atlanta, Georgia, 1998.
[JJQV99] M. Jarke, M.A. Jeusfeld, C. Quix, P. Vassil-       [TB98]     G.K. Tayi, D.P. Ballou. Examining Data
         iadis. Architecture and Quality in Data Ware-                 Quality. Communications of the ACM, 41(2),
         houses: An Extended Repository Approach.                      pp. 54–57, Feb. 1998.
         Information Systems, 24(3), pp. 229–253, 1999
         (a previous version appeared in Proc. of the       [VBQ99]    P. Vassiliadis, M. Bouzeghoub, C. Quix. To-
         10th Conference on Advanced Information                       wards Quality-oriented Data Warehouse Usage
         Systems Engineering (CAiSE ’98), pp. 93–113,                  and Evolution. In Proc. of the 11th Conference
         Pisa, Italy, 1998).                                           on Advanced Information Systems Engineering
                                                                       (CAiSE ’99), Heidelberg, Germany, 1999.
[JQB+99] M. Jarke, C. Quix, G. Blees, D. Lehmann,
         G. Michalk, S. Stierl. Improving OLTP Data
         Quality Using Data Warehouse Mechanisms.
         In Proc. ACM SIGMOD Intl. Conf. Manage-
         ment of Data, Philadelphia, PA, 1999.




C. Quix                                                                                                             4-9