=Paper= {{Paper |id=None |storemode=property |title=None |pdfUrl=https://ceur-ws.org/Vol-850/proceedings.pdf |volume=Vol-850 }} ==None== https://ceur-ws.org/Vol-850/proceedings.pdf
                       Proceedings

24. GI-Workshop Grundlagen von Datenbanken“
               ”
                     29.05.2012 – 01.06.2012


                     Lübbenau, Deutschland




      Ingo Schmitt, Sascha Saretz, Marcel Zierenberg (Hrsg.)


        {schmitt | sascha.saretz | zieremar}@tu-cottbus.de
Vorwort
Liebe Teilnehmerinnen und Teilnehmer,

der 24. Workshop Grundlagen von Datenbanken“ (GvD) 2012 fand in Lübbenau, Spree-
                    ”
wald, statt. Dieser viertägige Workshop wird alljährlich vom GI-Arbeitskreis Grundlagen von
Informationssystemen im Fachbereich Datenbanken und Informationssysteme (DBIS) veran-
staltet und hat die theoretischen, konzeptionellen und methodischen Grundlagen von Da-
tenbanken und Informationssystemen zum Thema. Organisiert wurde der Workshop 2012
von der Forschungsgruppe Datenbank- und Informationssysteme am Institut für Informatik,
Informations- und Medientechnik an der Brandenburgischen Technischen Universität Cottbus.
    Der Workshop soll die Kommunikation zwischen Wissenschaftlern/-innen im deutschspra-
chigen Raum fördern, die sich grundlagenorientiert mit Datenbanken und Informationssys-
temen beschäftigen. Er ist insbesondere als Forum für Nachwuchswissenschafter/-innen ge-
dacht, die ihre aktuellen Arbeiten in einem größeren Forum vorstellen wollen. Das Vattenfall-
Tagungshotel Lübbenau bot für eine erfolgreiche Diskussion optimale Rahmenbedingungen in
der landschaftlich sehr reizvollen Umgebung des Spreewaldes.
    Insgesamt wurden für den Workshop 15 Arbeiten eingereicht und jeweils von drei Gutach-
tern bewertet. Die Einführung des Begutachtungsprozesses in den letzten Jahren sorgt schon
im Vorfeld des Workshops für eine hohe Qualität der Arbeiten. Die Einreichungen spannten
den Bogen von klassischen Themen wie Indexverwaltung über weitere Themen wie mobile Sys-
teme, räumliche Datenbanken, Data Warehousing und XML-Verwaltung bis hin zu aktuellen
Themen wie Self-Tuning, SaaS, Cloud Computing sowie probabilistische Datenbanken. Diese
große Bandbreite der Gebiete reflektiert die Bandbreite von Problemen in der Datenbankge-
meinde, wie sie auf großen Datenbankkonferenzen diskutiert werden. Dabei werden die Gren-
zen zwischen klassischen Datenbankthemen und benachbarten Bereichen immer durchlässiger.
Gerade diese thematische Bandbreite und die damit einher gehende Spezialisierung auf ein-
zelne Themen macht es für Doktoranden schwierig, die eigene Arbeit richtig einzuordnen und
interessante Querverweise zu benachbarten Bereichen zu sehen. Die zwanglose Diskussion in
einer offenen Atmosphäre des Workshop soll helfen, diese Lücke zu schließen.
    Für die Keynote-Vorträge wurden Günther Specht, der Ausrichter des GvD-Workshops
vom letzten Jahr und Bernhard Thalheim eingeladen. Ihnen sei an dieser Stelle für ihre Be-
reitschaft und ihr Kommen gedankt.
    Des Weiteren danken wir dem Programmkomitee und allen Gutachtern für ihre Arbeit.
Das Organisations-Komitee und dabei besonders Sandy Schneider, Marcel Zierenberg und
Sascha Saretz haben den Großteil der Arbeit geleistet. Ohne ihren Einsatz und Engagement
wäre der 24. Workshop nicht möglich gewesen. Herzlichen Dank. Besonderen Dank auch an
Eike Schallehn und Hagen Höpfner sowie dem GI-Arbeitskreis Grundlagen von Informati-
                                                                  ”
onssystemen“, welche die Organisation sehr konstruktiv begleitet haben. Zum Schluss möchte
ich allen Mitgliedern meines Lehrstuhl sowie den Autoren und Vortragenden für ihren Anteil
am Gelingen am Workshop herzlich danken.


Mit den besten Grüßen,

Ingo Schmitt



Cottbus am 01.06.2012




                                                                                                 iii
iv
Komitee
Programm-Komitee
  • Wolf-Tilo Balke, TU Braunschweig
  • Stefan Brass, Universität Halle

  • Stefan Conrad, Universität Düsseldorf
  • Erik Buchmann, Karlsruher Institut für Technologie
  • Torsten Grust, Universität Tübingen

  • Andreas Henrich, Universität Bamberg
  • Hagen Höpfner, Bauhaus-Universität Weimar
  • Harald Kosch, Universität Passau
  • Klaus Meyer-Wegener, Universität Erlangen

  • Daniela Nicklas, Universität Oldenburg
  • Gunter Saake, Universität Magdeburg
  • Eike Schallehn, Universität Magdeburg

  • Ingo Schmitt, BTU Cottbus
  • Holger Schwarz, Universität Stuttgart
  • Günther Specht, Universität Innsbruck

Organisations-Komitee
  • Ingo Schmitt, BTU Cottbus
  • Sascha Saretz, BTU Cottbus
  • Marcel Zierenberg, BTU Cottbus

  • Sandy Schneider, BTU Cottbus

Weitere Gutachter
  • Alexander Schulze, BTU Cottbus

  • Sascha Saretz, BTU Cottbus
  • Marcel Zierenberg, BTU Cottbus
  • Daniel Blank, Universität Bamberg

  • Martin Schäler, Universität Magdeburg
  • Maik Mory, Universität Magdeburg
  • Norbert Siegmund, Universität Magdeburg




                                                          v
Inhaltsverzeichnis
Keynotes                                                                        1
  Out of Africa?
      Günther Specht . . . . . . . . . . . . . . . . . . . . . . . . . . . .   1
  Privacy-Enhanced Information Systems
      Bernhard Thalheim . . . . . . . . . . . . . . . . . . . . . . . . . .     3

Workshop-Beiträge                                                              5
  Towards Modeling Locations as Poly-Hierarchies
       Hagen Höpfner und Maximilian Schirmer . . . . . . . . . . . . .         5
  Towards Using Location Poly-Hierarchies for Energy-Efficient
       Continuous Location Determination
       Maximilian Schirmer und Hagen Höpfner . . . . . . . . . . . . . 11
  Datenbank-Performance-Experimente in der Lehre
       Max Flügel, Alexander Stein und Michael Höding . . . . . . . . . 17
  Migration nicht-nativer XML-Strukturen in den nativen XML-
       Datentyp am Beispiel von DB2 for z/OS V9.1
       Christoph Koch . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
  Evolution von XML-Schemata auf konzeptioneller Ebene -
       Übersicht: Der CodeX-Ansatz zur Lösung des Gültig-
       keitsproblems
       Thomas Nösinger, Meike Klettke und Andreas Heuer . . . . . . . 29
  Ein Partitionierungsdienst für Geographische Daten in Räum-
       lichen Datenbanken
       Hendrik Warneke und Udo W. Lipeck . . . . . . . . . . . . . . . 35
  Cloud Data Management: A Short Overview and Comparison
       of Current Approaches
       Siba Mohammad, Sebastian Breß und Eike Schallehn . . . . . . . 41
  Cloud-Services und effiziente Anfrageverarbeitung für Linked
       Open Data
       Heiko Betz und Kai-Uwe Sattler . . . . . . . . . . . . . . . . . . 47
  SLO-basiertes Management in relationalen Datenbanksyste-
       men mit nativer Multi-Tenancy-Unterstützung
       Andreas Göbel . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
  iETL: Flexibilisierung der Datenintegration in Data Ware-
       houses
       Sebastian Schick, Gregor Buchholz, Meike Klettke, Andreas Heu-
       er und Peter Forbrig . . . . . . . . . . . . . . . . . . . . . . . . . 59
  Ereignismuster für die Verwaltung von komplexen Tupeler-
       eignissen in Probabilistischen Datenbanken
       Sebastian Lehrack . . . . . . . . . . . . . . . . . . . . . . . . . . 65
  Flexible Indexierung für Ähnlichkeitssuche mit logikbasierten
       Multi-Feature-Anfragen
       Marcel Zierenberg . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
  Challenges in Finding an Appropriate Multi-Dimensional In-
       dex Structure with Respect to Specific Use Cases
       Alexander Grebhahn, David Broneske, Martin Schäler, Reimar
       Schröter, Veit Köppen und Gunter Saake . . . . . . . . . . . . . 77
  Minimal-Invasive Indexintegration - Transparente Datenbank-
       beschleunigung
       Alexander Adam, Sebastian Leuoth und Wolfgang Benn . . . . . 83
  Self-Tuning Distribution of DB-Operations on Hybrid CPU/GPU
       Platforms
       Sebastian Breß, Siba Mohammad und Eike Schallehn . . . . . . . 89



                                                                                    vii
                     Out of Africa?

                          Günther Specht
              Datenbanken und Informationssysteme
                       Institut für Informatik
                 Universität Innsbruck, Österreich
                 guenther.specht@uibk.ac.at




                         KURZFASSUNG
Woher? und Wohin? sind die bewegenden Fragen des Lebens, der For-
schung und der Wissenschaft. Auch der Datenbanktechnologie. Dieser
Vortrag gibt sich nicht mit der Antwort 42 zufrieden, sondern spannt
einen Bogen bis hin zur interdisziplinären Vernetzung der Datenbanken
und Informationssysteme mit der Genetik. Dort gelang es heuer in der
Haplogruppeneinteilung der Frage Out of Africa?“ mittels massivem
                                     ”
IT- und DB-Einsatz eine neue Antwort zu geben. . .




     24th GI-Workshop on Foundations of Databases (Grundlagen von Daten-
     banken), 29.05.2012 - 01.06.2012, Lübbenau, Germany.
     Copyright is held by the author/owner(s).




                                                                           1
2
Privacy-Enhanced Information Systems

                          Bernhard Thalheim
         Lehrstuhl für Technologie der Informationssysteme
                         Institut für Informatik
               Christian-Albrechts-Universität zu Kiel
               thalheim@is.informatik.uni-kiel.de




                           KURZFASSUNG
  Nach einem kurzen Überblick über den State-of-the-Art der Nut-
  zung des Internets werden Prinzipien, Trends und Technologie für die
  Wahrung der Privatsphäre dargestellt. Daraus lassen sich vielfältige
  Modellierungs-, Infrastruktur-, Technologie-, Sozial- und Rechtsprojek-
  te zur Unterstützung von Privatsphäre im Internet ableiten. Ziel ist die
  Entwicklung einer erweiterten Infrastruktur, in der Privatheit auch im
  Internet möglich ist. Im Detail stellen wir Ansätze vor, mit denen die
  Privatheit an Daten gesichert werden kann. Dazu ist ein Sicherheits-
  modell, ein Inhaltemodell und ein Sicherungsmodell notwendig. Darauf
  kann ein Koordinationsmodell aufgesetzt werden. Techniken zur Stüt-
  zung von Privatheit können darauf aufgesetzt werden. Dies wird anhand
  von zwei Datenbank-Ansätzen gezeigt.




       24th GI-Workshop on Foundations of Databases (Grundlagen von Daten-
       banken), 29.05.2012 - 01.06.2012, Lübbenau, Germany.
       Copyright is held by the author/owner(s).




                                                                               3
4
            Towards Modeling Locations as Poly-Hierarchies

                                         Hagen Höpfner and Maximilian Schirmer
                                                 Bauhaus-Universität Weimar
                                            Media Department / Mobile Media Group
                                           Bauhausstraße 11, 99423 Weimar, Germany
                            hoepfner@acm.org, maximilian.schirmer@uni-weimar.de


Keywords                                                                the Bauhausstraße 11 in Weimar, Germany and the assumption be-
Location, Location Modeling, Poly-Hierarchies, Enclave Problem,         ing that such information is usually more meaningful to the user.
Multiple Belonging                                                      Hence, we should use a service that maps positions to locations.
                                                                        However, location-based applications differ in their required preci-
                                                                        sion [10]. While the name of the city in which a user and/or a de-
ABSTRACT                                                                vice is currently located might be appropriate for handling location-
Location models are formal descriptions of locations (i. e., named      aware data processing in an event information system, a navigation
sets of geographical positions) as well as of semantic relationships    system demands for exact coordinates, or street names at least.
among locations. There exist various location models that vary in           The aforementioned example also illustrates another issue that is
the considered location information, their level of detail, the kind    common for locations. In many cases, semantic locations form hi-
of modelled relations and the used formal representation. In fact,      erarchical structures. For example, in a hierarchical location model,
more complex location models cover more aspects required for im-        earth is divided into continents, continents into countries, coun-
plementing location-aware or location-dependent systems, but also       tries into states, states into cities, cities into streets and streets into
require more complex algorithms. As each application domain re-         street numbers, and so on. However, modelling locations as mono-
quires only a limited set of features, limiting a model to those fea-   hierarchies oversimplifies the reality and does not support multiple
tures helps to improve system performance. In this paper, we dis-       belongings. While, e. g., Weimar is part of Germany, Germany of
cuss a novel location model called location poly-hierarchies that       Europe, etc., Istanbul is part of Turkey, but also of Europe and Asia.
models the belonging of one location to one ore more other loca-        Please note, we focus on geographic belongs-to-relationships (sub-
tions. Furthermore, we present an approach for creating location        set and overlap) rather than on geopolitical ones. Location hierar-
poly-hierarchies from a given set of locations.                         chies benefit from the fact that determining low-level location in-
                                                                        formation determines upper levels, too. Location poly-hierarchies
                                                                        cure the mentioned model incompleteness while keeping the bene-
1.    INTRODUCTION AND MOTIVATION                                       fit of a “fast” lookup of the correct path within the poly-hierarchy
   In February 2004, the authors of [5] stated: “The widespread de-     (cf., [11]). The research question addressed in this paper is:
ployment of sensing technologies will make location-aware appli-
                                                                               How can one algorithmically create location poly-hierarchies
cations part of every day life.” Nowadays, location-awareness has
                                                                               from a given set of locations?
become a key feature in a broad range of mobile information sys-
tems. Navigation systems, social network apps, tourist information         The remainder of this paper is structured as follows: Section 2
systems, event information systems, shop finders and many more          surveys related work. Section 3 introduces the concept of loca-
heavily rely on position data of their users. Consequently, almost      tion poly-hierarchies. Section 4 presents our approach for creating
all modern smartphones supply positioning techniques. However,          them. Section 5 discusses implementation aspects. Section 6 sum-
a position determination, e.g, by the use of the Global Positioning     marises the paper and gives an outlook on future research.
System (GPS), enables a smartphone to calculate coordinates and
accuracy, only. As, from the perspective of the user, a seman-
tic location is more understandable than coordinate information,
                                                                        2.    RELATED WORK
location-aware or location-based systems map position information          There has been a lot of active research on suitable models and
to semantically meaningful locations. For example, the GPS coor-        representations for location data in the field of location models.
dinates 50.972 797 and 11.329 18 are precise but likely not mean-       Location models are a core component of location-based applica-
ingful for humans. They belong to the building which is placed in       tions. They represent not only location information, but also spatial
                                                                        (or even spatio-temporal [7]) relationships in the data, help to ex-
                                                                        press relative locations, proximity, and allow users to determine
                                                                        containment of locations or connectedness of relationships.
                                                                           The authors of [13] present in great detail the broad variety of lo-
                                                                        cation models that has been developed in recent years of active re-
                                                                        search. A key factor for distinguishing and characterising location
                                                                        models is their way of representing spatial relationships. Accord-
                                                                        ing to [1], they can be categorised into set-based, hierarchical, and
24th GI-Workshop on Foundations of Databases (Grundlagen von Daten-
banken), 29.05.2012 - 01.06.2012, Lübbenau, Germany.                    graph-based models. Hybrid models that combine several aspects
Copyright is held by the author/owner(s).                               exist as well. Figure 1 presents an overview of the three main lo-



                                                                                                                                                 5
Towards Modeling Locations as Poly-Hierarchies

cation model concepts. In the illustrated examples, the set-based                                                return only single points. However, we can interpret Tanja’s current
approach is the least expressive one, as it only models the fact                                                 GPS coordinate as a set of positions of cardinality 1. As discussed
that there are two distinct locations within a set of locations, and                                             in Section 1 it is a common understanding that locations have a hi-
a set of coordinates is assigned to each location. The hierarchical                                              erarchic nature. The train station is located within a city, the city is
model adds containment information, and the graph-based model                                                    located in a state, the state within a country, and so on. Using this
adds connectedness and distance in the form of edge weights.                                                     subset-based location interpretation, LTanja ⊂ Lts ⊂ LWeimar ⊂
                                                                                                                 LThuringia ⊂ LGermany ⊂ LEurope ⊂ LEarth represents the loca-
                                                                                                                 tion of Tanja as path in a location mono-hierarchy.
     Location A                          World                                      Location A                      However, there exist various real-world issues that require a poly-
        (1,2)
                             (1,2)     (1,3)   (2,3)     (2,4)                             (1,2)                 hierarchical representation of locations. For example, Istanbul as
                                                                                      50
                                                                                                    25           the capital of Turkey, belongs to the continents Europe and Asia.
                                                                                              60
                                                                                                                 Hence, LIstanbul 6⊂ LEurope and LIstanbul 6⊂ LAsia hold. The
                                                                                                    Location C

     Location B     Location A                         Location B
                                                                         Location B
                                                                                                                 same issue holds for Russia, which is located in Europe and in
                                                                                                                 Asia, too. Another problem results from enclaves. Kaliningrad,
                                                                            (2,4)                        (1,3)
                     (1,2)     (1,3)                   (2,3)     (2,4)

                                                                                                                 e.g., is part of Russia, but this information is insufficient to decide
        (2,3)
                                                                               25             100


                                                                         Location D                 Location E
                                                                                                                 whether Kaliningrad is part of Europe or part of Asia. The solution
                     Location c
                                                                            (2,3)
                                                                                            10           (2,5)
                                                                                                                 for these problems is the use of set overlaps in combination with
                                                                                                                 containment relationships that form a location poly-hierarchy.
                         (1,2)




       (a)                               (b)                                           (c)
                                                                                                                                     earth	
  	
                                earth	
  	
  
Figure 1: Examples for set-based (a), hierarchical (b), and
graph-based (c) location models. The edge weights in the
graph-based model represent distance information.
                                                                                                                       Europe	
                      Asia	
     Europe	
                        Asia	
  




   Hierarchical location models as a special case of set-based mod-
                                                                                                                                    Turkey	
                                    Russia	
  
els represent containment relationships between different levels of
the model and are widely used as basis for location-based applica-
tions [6, 2, 4]. Hierarchical models cannot represent distance infor-
mation or directly encode proximity, but they have great advantages                                                                 Istanbul	
                               Kaliningrad	
  
in traversal and for containment queries. They are also very close to
the common human understanding of locations. As already stated                                                                         (a)                                        (b)
in Section 1, the widely acknowledged segmentation of locations
into administrative regions (country, state, city, street, and so on) is                                         Figure 2: Examples for the Poly-hierarchical nature of loca-
also a hierarchical model that heavily relies on containment infor-                                              tions: Istanbul (a), and Kaliningrad (b).
mation. On a city level, a lot of implicit information can be derived
through the top-level relationship to a state or country (e.g., admin-
istrative language, local cuisine, prevalent religions).                                                            Figure 2 illustrates the simplified poly-hierarchies for Istanbul
                                                                                                                 and Kaliningrad. From the definition of poly-hierarchies, we know
3.       LOCATION POLY-HIERARCHIES                                                                               that they can be represented by a directed acyclic graph LP H =
                                                                                                                 (V, E). Each node v ∈ V is a location and each directed edge e =
   The authors of [12] define the term “location” as follows: “Lo-                                               (v1 , v2 ) with v1 , v2 ∈ V represents that the child node v2 belongs
cation of an object or a person is its geographical position on the                                              (semantically) to the parent node v1 . Each location poly-hierarchy
earth with respect to a reference point.” From our point of view,                                                has an unique root node vr ∈ V with ¬∃vx ∈ V |(vx , vr ), because
this definition is too restrictive, because geographic positions are                                             the entire coordinate system is closed in case of locations (all con-
points within a reference system. In contrast to a point, a location                                             siderable positions are elements of the set of all positions on earth).
has a spatial extent. Another definition is given in [3]: “Geographic                                            Finally, for each leaf node vl ∈ V that must not have any child
location is the text description of an area in a special confine on the                                          node ¬∃vx ∈ V |(vl , vx ) holds.
earth’s surface.”. From a more theoretical point of view, an area is                                                From an implementation point of view, each node in the poly-
a set of geographical positions. So, we use a set-oriented definition:                                           hierarchy graph has the structure (n, P, C) where n is the name of
A location is a named set of geographical positions on earth with                                                the location Ln , P is a set of edges to the parent nodes and C is
respect to a reference point.                                                                                    a set of edges to child nodes. The root node r = (earth, P, C) is
   For example, in a two-dimensional coordinate system1 , the loca-                                              the only node in LP H for which P = ∅ ∧ C 6= ∅ must hold. For
tion of a building, lets say a train station (ts), is given as set Lts =                                         leaf nodes P 6= ∅ ∧ C = ∅, and for inner nodes P 6= ∅ ∧ C 6= ∅
{(x1 , y1 ), . . . , (xn , yn )}, where each position (point) (xi , yi ), 1 ≤                                    hold. For the concept described in the remainder of this paper, it
i ≤ n belongs to the train station building’s area. We discuss the                                               is required to know the level of each node within this graph. The
calculation of the point set in Section 5.1. Consequently, we can                                                level level(m) of a node m is defined as the number of nodes on
characterise the location of an object or a person as a relationship                                             the longest direct path from r to m, plus one. As illustrated in
between sets. A person, lets say Tanja, is located at the train station                                          Figure 2(b), level(Russia) = 2 and level(Kaliningrad) = 3.
if LTanja ⊂ Lts holds. Recent positioning technologies like GPS                                                     In a location mono-hierarchy each edge between a parent node
1
 For simplification purposes, we use two-dimensional coordinates                                                 and a child node represents the fact that all points of the location
in this paper. However, the formalism can easily be adapted to three                                             that corresponds to the child node are also elements of the location
dimensions.                                                                                                      that corresponds to the parent node. However, as discussed before,



6
                                                                                                              Towards Modeling Locations as Poly-Hierarchies

it is not sufficient to use subset relationships only. The semantics
of edges in the poly-hierarchical graph representation is as follows.                                Algorithm 1 Creating a location poly-hierarchy from a location set
Given a (child) node c = (nc , Pc , Cc ) the following relations hold:
     • For each parent node p ∈ V referenced in Pc having level(p)                                   Input:     L = {L1 , . . . , Lk } // location set
       with ¬∃p0 ∈ Pc |p0 6= p ∧ level(p) = level(p0 ) the edge
       (p, c) ∈ E represents the subset relationship Lnc ⊂ Lnp .                                     Output: LP H = (V, E)             // location poly-hierarchy

     • For each (parent) node p ∈ V referenced in Pc having level(p)                                 01 def naive_lph_create(L):
       with ∃p0 ∈ Pc |p0 6= p ∧ level(p) = level(p0 ) the edge                                       02     V ⊂ = ∅ // init of the node set for subset relations
       (p, c) ∈ E represents the overlapping relationship Lnc ∩                                      03     V ∩ = ∅ // init of the node set for overlap relations
       Lnp 6= ∅.                                                                                     04     E ⊂ = ∅ // init the edge set for subset relations
                                                                                                     05     E ∩ = ∅ // init the edge set for overlap relations
   In other words this means that per hierarchy level each edge be-
                                                                                                     06     LV = ∅ // init set of already analysed locations
tween a single parent node and the child node means an subset rela-
                                                                                                     — S TEP 1: FINDING OVERLAP AND SUBSET RELATIONSHIPS —
tionship. If a child node has more than only one parent node in the
                                                                                                     07     for each Lname1 ∈ L do
same level, then those links represent an overlap relationship. Fur-
                                                                                                     08        for each Lname2 ∈ L − {Lname1 } − LV do
thermore, we know that the in the latter case, due to the directed
                                                                                                     09           if Lname2 ⊂ Lname1 then
nature of the edges, the child node must be a subset of the union
                                                                                                     10               V ⊂ = V ⊂ ∪ {name1 , name2 }
of the respective parent nodes (i. e., the conjunction of the overlap
                                                                                                     11               E ⊂ = E ⊂ ∪ {(name1 , name2 )}
relationships per level holds).
                                                                                                     12           fi
                                                                                                     13           elif Lname1 ⊂ Lname2 then
                      earth	
                                         earth	
                        14               V ⊂ = V ⊂ ∪ {name1 , name2 }
                     level=0	
  	
                                   level=0	
  	
  
                                                                                                     15               E ⊂ = E ⊂ ∪ {(name2 , name1 )}
                                                                                                     16           fi
       Europe	
                          Asia	
      Europe	
                            Asia	
  
                                                                                                     17           elif Lname2 ∩ Lname1 6= ∅ then
       level=1	
                       level=1	
     level=1	
                         level=1	
     18               V ∩ = V ∩ ∪ {name1 , name2 }
                                                                                                     19               E ∩ = E ∩ ∪ {(name2 , name1 )}
                                                                                                     20               E ∩ = E ∩ ∪ {(name1 , name2 )}
                     Turkey	
                                         Russia	
  
                     level=2	
                                       level=2	
                       21           fi
                                                                                                     22        done
                                                                                                     23        LV = LV ∪ {Lname1 }
                     Istanbul	
                                    Kaliningrad	
                     24     done
                      level=3	
                                      level=3	
  
                                                                                                     25     if E ⊂ == ∅ then return(FALSE) fi // no root node found
                        (a)                                             (b)                          — S TEP 2: CLEANING UP E ∩ ( REMOVING LOOPS ) —
                                                                                                     26     for each name1 ∈ V ∩ do
Figure 3: Examples for the semantics of edges in LP H, solid                                         27        Lt = ∅; E t = ∅ // temporary location and edge sets
lines represent subset relationships and dashed lines overlaps.                                      28        for each e ∈ V ∩ do
                                                                                                     29           if e == (name1 , x) then
                                                                                                     30               Lt = Lt ∪ {Lx }; E t = E t ∪ {(name1 , x)}
   Figure 3 illustrates the link semantics for the Istanbul and the                                  31           fi
Kaliningrad examples. As one can see in Subfigure 3(a), LIstanbul ⊂                                  32        done
LTurkey as Turkey is the only parent node of Istanbul at level two.                                  33        if Lname1 ⊂ Lt then E ∩ = E ∩ − E t fi
Since Istanbul has two parent nodes on level one (i. e., Europe and                                  34     done
Asia), these links represent the overlaps LIstanbul ∩ LEurope 6= ∅ and                               — S TEP 3: CLEANING UP E ⊂ ( TRANSITIVITY ) —
LIstanbul ∩ LAsia 6= ∅. The facts that (in addition) LTurkey ∩ LEurope 6=                            35     for each name1 ∈ V ⊂ do
∅ ∧ LTurkey ∩ LAsia 6= ∅ holds, also implies LIstanbul ⊂ LEurope ∩ LAsia .                           36        if ∃x, y ∈ V ⊂ ↔ {(x, name1 ), (y, x)} ∩ E ⊂ 6= ∅ then
We could use this “transitive” conclusion in a similar way for the                                   37           V t = {z|z 6= Sx ∧ (z, name1 ) ∈ V ⊂ }
Kaliningrad example, too. However, as show in Subfigure 3(b) it                                      38           E ⊂ = E ⊂ − z∈V t {(z, name1 )}
would reduce the expressivity of this LP H. Kaliningrad is only                                      39        fi
part of Europe but not of Asia. Hence, the Europe node is the only                                   40        V t = {x|(x, name1 ) ∈ E ⊂ } // all parents of name1
parent node of the Kaliningrad node at level one.                                                    41        for each x ∈ V t do
                                                                                                     42           V c = {y|(x,Sy) ∈ E ⊂ ∧ y ∈ V t − {name1 }}
                                                                                                     43           if Lname1 ⊂ c∈V c Lc then
4.     LPH CREATION                                                                                  44               E ⊂ = E ⊂ − {(x, name1 )}
   As discussed in Section 3 one could create an LP H using over-                                    45           fi
lap relationships only. We already pointed out that, in order to be                                  46        done
as expressive as possible, an LP H must use as many subset rela-                                     47     done
tionships as possible. Algorithm 1 creates the LP H from a given                                     — S TEP 4: MERGING E ∩ WITH E ⊂ AND V ∩ WITH V ⊂ —
set L = {L1 , . . . , Lk } of locations. For illustration purposes, we                               48     V = V ∩ ∪ V ⊂; E = E∩ ∪ E⊂
assume that names of locations are unique. However, one could                                        49     return(V , E)
also use location IDs instead of the names to guarantee uniqueness.
   Our algorithm uses four main steps. In the first step (lines 7-24),
it creates two subgraphs, one (V ⊂ , E ⊂ ) containing all subset re-



                                                                                                                                                                     7
Towards Modeling Locations as Poly-Hierarchies

lationships and one (V ∩ , E ∩ ) for all (additional) overlap relation-                                                                                       The same procedure removes the edges Istanbul→Europe and
ships. Figure 4 illustrates these subgraphs for the Istanbul and the                                                                                          Istanbul→Asia.
Kaliningrad examples. Obviously, step 1 might generate redundant
edges (cf., Figure 4(c)) earth→Russia→Kaliningrad and                                                                                                                        a4er	
  
                                                                                                                                                              checking	
  (1)	
  Europe,	
  (2)	
  Asia	
  
                                                                                                                                                                                                                                    a4er	
  
                                                                                                                                                                                                                             checking	
  (3)	
  Turkey	
  
                                                                                                                                                                                                                                                                                                  a4er	
  
                                                                                                                                                                                                                                                                                           checking	
  (4)	
  Istanbul	
  
earth→Kaliningrad) or (later on) unnecessary edges (cf., Fig-
                                                                                                                                                                  Europe	
                     Asia	
                        Europe	
                    Asia	
                            Europe	
                    Asia	
  
ure 4(a) earth→Turkey). Furthermore, it generates loops in the
overlap subgraph as overlap relations have a symmetric nature (cf.,                                                                                                            Turkey	
                                                   Turkey	
                                                      Turkey	
  

Figure 4(b) and Figure 4(d)). We illustrated those needless edges
using dotted arrows.                                                                                                                                                           Istanbul	
                                                 Istanbul	
                                                    Istanbul	
  




                                                                                                                                                                                              Figure 6: Step 2 for the Istanbul example.
                                      earth	
  	
  


                                                                                                                                                                 Step 3 (lines 35-47) cleans up the subset subgraph using the tran-
           Europe	
                                   Asia	
                                      Europe	
                              Asia	
                sitivity property of subset relationships. In contrast to many graph
                                                                                                                                                              optimisation approaches, we do not aim for reducing the number of
                                                                                                                                                              edges in general, but for finding the minimal number of edges nec-
                                    Turkey	
                                                                   Turkey	
                                       essary for representing correct semantics (cf. Section 3). For the
                                                                                                                                                              first optimisation (lines 36-39), we first calculate for each node the
                                                                                                                                                              set of parent nodes having parent nodes themselves. Afterwards,
                                                                                                                                                              we remove all direct edges from grandparents nodes as they can
                                  Istanbul	
                                                                   Istanbul	
  
                                                                                                                                                              be reached through the parents. In our examples, this removes
                              (a) V ⊂ , E ⊂                                                               (b) V ∩ , E ∩                                       the edges earth→Istanbul and earth→Kaliningrad. A
                                                                                                                                                              second optimisation (lines 40-46) checks whether a node is con-
                                                                                                                                                              tained in the union of its sibling locations. If this is the case,
                                      earth	
  
                                                                                                                                                              we can remove the edge from the parent node (in our examples
                                                                                                                                                              earth→Turkey and earth→Russia), even if this fragments
                                                                                                                                                              the subgraph (cf. Figure 7).
           Europe	
                                   Asia	
                                      Europe	
                              Asia	
  

                                                                                                                                                                                                      earth	
  	
                                                                  earth	
  
                                     Russia	
                                                                   Russia	
  


                                                                                                                                                                          Europe	
                                    Asia	
                                        Europe	
                               Asia	
  
                                Kaliningrad	
  

                              (c) V ⊂ , E ⊂                                                               (d) V ∩ , E ∩                                                                            Turkey	
                                                                        Russia	
  


Figure 4: Intermediate graph(s) after step 1; (a,b) Istanbul,
(c,d) Kaliningrad.                                                                                                                                                                               Istanbul	
                                                                      Kaliningrad	
  

                                                                                                                                                                                              (a) Istanbul                                                               (b) Kaliningrad
  Step 2 (lines 26-34) of the algorithm cleans up the overlap sub-
graph, i. e., it breaks the loops. Therefore, each node of this sub-
                                                                                                                                                                         Figure 7: Intermediate graphs (V ⊂ , E ⊂ ) after step 3.
graph is analysed (cf. Figure 5). If the location represented by a
node is a subset of the union of all its direct child nodes, then we
remove the outgoing edges.                                                                                                                                       Joining the subset subgraph(s) with the overlap subgraph, as it is
        checking	
  Europe	
                                        checking	
  Asia	
                                        checking	
  Russia	
  
                                                                                                                                                              done in the final step 4 (line 48), results in a connected LP H. The
    Europe	
                    Asia	
                       Europe	
                  Asia	
                           Europe	
                   Asia	
  
                                                                                                                                                              fragmentation, that might have happened in step 2, is cured as the
                                                                                                                                                              removed edges resulted from an overlap relationship between the
                 Russia	
                                                 Russia	
                                                   Russia	
                 involved nodes. For our examples, Algorithm 1 therefore creates
                                                                                                                                                              the location poly-hierarchies shown in Figure 3.
Figure 5: Step 2 for the Kaliningrad example; bold arrows
highlight the edges analysed for currently handled node that
                                                                                                                                                              Limiting factors
is marked gray.                                                                                                                                               Algorithm 1 requires a complete and closed set of locations. With-
                                                                                                                                                              out the location Asia, the Kaliningrad example graph would loose
                                                                                                                                                              the LP H properties discussed in Section 3 as removing the Asia
  Figure 6 illustrates step 2 for the Istanbul example. After check-                                                                                          node also removes the edge Asia→Russia. Without this edge,
ing the nodes for Europe and Asia, the node for Turkey is checked.                                                                                            the relationship Europe→Russia would be semantically wrongly
So far, it has the child nodes Europe and Asia. As all points of                                                                                              interpreted as subset relationship. In fact, Algorithm 1 could be
Turkey belong to Europe or Asia, both must not be represented                                                                                                 adapted in order to recognise this case through topologic sorting
by child nodes of the Turkey node. So, these edges are removed.                                                                                               as the condition in line 33 would evaluate to false. Consequently,



8
                                                                                 Towards Modeling Locations as Poly-Hierarchies

E ∩ would still contain loops after step 2. Furthermore, the algo-        poly-hierarchy from a given (closed and complete) set of locations.
rithm does not support differently named locations with equal sets        We discussed limitations of the algorithm and also pointed out po-
of position points (i. e., La ⊆ Lb ∧ Lb ⊆ La holds). Step 1 would         tential solutions to handle them. Finally, we discussed some issues
missinterpret this case as overlap relationship. Consequently, step 2     that need to be considered for the implementation of our strategy.
would nondeterministically remove one of the edges. A solution to         However, there are many open issues that lead to future research
this problem would be a cleanup phase that unifies those locations        directions. First of all we plan to evaluate the algorithm with real
before starting Algorithm 1.                                              world data. We expect that the algorithm works properly, but we
                                                                          are aware of the huge amount of data that needs to be processed.
5.    IMPLEMENTATION ASPECTS                                              Hence, we will have to optimise the algorithm in order to avoid
                                                                          unnecessary (database) operations. Furthermore, we will research
   As the “towards” in the title of this paper denotes, the presented     whether it would be better to explicitly keep the information about
results are subject to ongoing research. We were not able to fin-         the type of the relationships. This extended graph model would, of
ish the import of the evaluation database before the deadline. In         course, ease the interpretability of the final location poly-hierarchy,
fact, importing the OpenStreetMap database containing data about          but it would also increase the complexity of the model.
Europe (http://download.geofabrik.de/osm) using an
slightly adapted version of the osm2postgresql_05rc4.sh
script, which can be downloaded from http://sourceforge.
                                                                          7.    REFERENCES
                                                                           [1] C. Becker and F. Dürr. On Location Models for Ubiquitous
net/projects/osm2postgresql, is still in progress. So
                                                                               Computing. Personal and Ubiquitous Computing,
far it took more than two weeks (PosgreSQL 9.1 [9] with Post-
                                                                               9(1):20–31, 2005.
GIS 1.5.1 [8] running on an iMac Intel Core 2 Duo 3.06 GHz, 4 GB
1067 MHz RAM, OS X 10.7.3). However, there are certain imple-              [2] M. Beigl, T. Zimmer, and C. Decker. A Location Model for
mentation issues that we find worthwhile to be discussed.                      Communicating and Processing of Context. Personal
                                                                               Ubiquitous Computing, 6:341–357, Jan. 2002.
5.1    Point sets of locations                                             [3] Z. Dongqing, L. Zhiping, and Z. Xiguang. Location and its
   The formal definition of locations and location poly-hierarchies            Semantics in Location-Based Services. Geo-spatial
as discussed in Section 3 is based on set theory. From a theoret-              Information Science, 10(2):145–150, June 2007.
ical point of view, those sets are infinite. A common approach to          [4] F. Dürr and K. Rothermel. On a Location Model for
handle this infinity problem is to decrease the precision of set el-           Fine-Grained Geocast. In A. K. Dey, A. Schmidt, and J. F.
ements through quantisation. However, it would not be useful or                McCarthy, editors, UbiComp ’03 Proceedings, volume 2864
even possible to physically store (materialise) all points of all loca-        of LNCS, pages 18–35, Berlin / Heidelberg, 2003. Springer.
tions. Hence, for the implementation of our approach we decided            [5] M. Hazas, J. Scott, and J. Krumm. Location-Aware
to use a polygon-based representation of locations, where a set of             Computing Comes of Age. IEEE Computer, 37(2):95–97,
polygons describes the boundaries of the locations. In principal, all          Feb. 2004.
points that are inside of one of these polygons belong to the loca-        [6] C. Jiang and P. Steenkiste. A Hybrid Location Model with a
tion. The OpenStreetMap data model provides an additional multi-               Computable Location Identifier for Ubiquitous Computing.
polygon relation (cf., http://wiki.openstreetmap.org/                          In G. Borriello and L. E. Holmquist, editors, Ubicomp ’02
wiki/Multipolygon_relation) for representing more com-                         Proceedings, volume 2498 of LNCS, pages 246–263,
plex areas. It allows, e. g., for areas within a location that do not          London, UK, 2002. Springer.
belong to this particular location. Hence, from an implementation          [7] T. Kauppinen, R. Henriksson, R. Sinkkilä, R. Lindroos,
point of view, a location is represented as a database view. The               J. Väätäinen, and E. Hyvönen. Ontology-based
location name corresponds to the name of the view and the point                Disambiguation of Spatiotemporal Locations. In IRSW ’08
set is defined by a database query resulting in the location outline           Proceedings. CEUR-WS.org, 2008.
(multi)polygon.                                                            [8] OSGeo Project. PostGIS 1.5.1 Manual.
                                                                               http://postgis.refractions.net/download/
5.2    Set operations                                                          postgis-1.5.1.pdf.
   Interpreting locations as (multi)polygons necessitates a differ-        [9] The PostgreSQL Global Development Group. PostgreSQL
ent interpretation of the used set operations, too. As discussed in            9.1.3 Documentation. http://www.postgresql.org/
Section 4, Algorithm 1 has to check subset and set overlap rela-               docs/9.1/static/index.html.
tionships. Remember, a location La contains another location Lb           [10] B. N. Schilit, A. LaMarca, G. Borriello, W. G. Griswold,
if and only if Lb ⊂ La holds. Hence, La must contain all points                D. McDonald, E. Lazowska, A. Balachandran, J. Hong, and
(xb , yb ) ∈ Lb . For the polygon-based locations, the subset relation         V. Iverson. Challenge: ubiquitous location-aware computing
means that the (multi)polygon describing La must cover those of                and the “place lab” initiative. In WMASH ’03 Proceedings,
Lb completely. Similarly, an overlap relation of two locations im-             pages 29–35, New York, NY, USA, 2003. ACM.
plies that the boundary (multi)polygons overlap (and vice versa).         [11] M. Schirmer and H. Höpfner. Towards Using Location
Most geographical information system extensions, such as Post-                 Poly-Hierarchies for Energy-Efficient Continuous Location
GIS, provide the corresponding operators (cf. [8]).                            Determination. In GvD ’12 Proceeding. CEUR-WS.org,
                                                                               2012. forthcoming.
6.    SUMMARY AND OUTLOOK                                                 [12] A. Y. Seydim, M. H. Dunham, and V. Kumar. Location
   We presented a novel approach to model (geographical) relation-             dependent query processing. In MobiDE ’01 Proceedings,
ships among locations. We extended the effective, but not complete             pages 47–53, New York, NY, USA, 2001. ACM.
location hierarchy approach in order to support enclaves and over-        [13] J. Ye, L. Coyle, S. Dobson, and P. Nixon. A Unified
lapping locations. We formally introduced the new location poly-               Semantics Space Model. In LoCA ’07 Proceedings, LNCS,
hierarchy model and presented an algorithm for creating a location             pages 103–120, Berlin / Heidelberg, 2007. Springer.




                                                                                                                                               9
10
          Towards Using Location Poly-Hierarchies for
       Energy-Efficient Continuous Location Determination

                                         Maximilian Schirmer and Hagen Höpfner
                                                 Bauhaus-Universität Weimar
                                            Media Department / Mobile Media Group
                                           Bauhausstraße 11, 99423 Weimar, Germany
                            maximilian.schirmer@uni-weimar.de, hoepfner@acm.org

Keywords                                                                other hand, indoor GPS positioning is almost impossible because of
Location Determination, Location Poly-Hierarchies, Energy Effi-         the occlusion and shielding of satellite signals created by building
ciency                                                                  structures.
                                                                           Mobile devices are battery-driven. So, energy is one of the most
                                                                        limiting factors for their uptime. Additionally, the user acceptance
ABSTRACT                                                                of location-based or context-aware mobile applications is nega-
Location awareness is a key feature of mobile information systems.      tively influenced when the applications heavily strain the mobile
Typically, location is determined by interpreting a set of measured     devices’ batteries. Furthermore, location-based applications differ
positions. Various approaches for position determination do exist.      in their required precision [16]. While the name of the city a user
They vary greatly in their precision, applicability, and energy re-     or a device is currently located in might be appropriate for an event
quirements. As mobile devices are battery-driven, energy is one of      information system, a navigation system might demand for exact
the most limiting factors for the system’s uptime. Locations have       coordinates or street names at least. A common representation of
a hierarchical nature and location-based applications differ in their   locations follows their hierarchical nature. In a hierarchical model,
required precision. In this paper, we present three approaches that     earth is divided into continents, continents into countries, countries
utilise location poly-hierarchies in order to reduce the energy de-     into states, states into cities, cities into streets and streets into street
mand of continuous location determination: (1) We analyse the           numbers, and so on. Consequently, determining low-level location
dependencies among the different hierarchy levels, (2) we incor-        information in this hierarchy also determines upper levels and con-
porate an adaptive delay between measurements based on the hier-        tains information that is connected to these levels. In addition to
archy level and the calculated minimal required time to change, and     this, locations only change if the device is moving. While GPS
(3) we select appropriate positioning techniques for each hierarchy     coordinates might change with each movement, city information is
level. We implemented and evaluated our approaches.                     stable until the device leaves the city. Hence, the system might wait
                                                                        with the next energy-demanding location determination on the city
1.    INTRODUCTION AND MOTIVATION                                       level until the device possibly left the city. In this paper, we present
   Navigation systems, social network apps, tourist information sys-    three approaches that utilise location poly-hierarchies for reducing
tems, event information systems, shop finders and many more heav-       the energy demand of continuous location determination:
ily rely on position data of their users. Consequently, almost all           1. We analyse dependencies among different hierarchy levels.
modern smartphones supply positioning techniques. The most pop-
ular positioning technique is the Global Positioning System (GPS).           2. We postpone position measurements based on a calculated
However, even devices that do not provide GPS hardware are able                 minimal time that is required for leaving the current location.
to locate themselves using alternative techniques such as geotagged
Wi-Fi hotspot and cell tower databases (db), wireless signal trian-          3. We select appropriate positioning techniques for each hierar-
gulation/lateration, or geotagging. Although all of them allow lo-              chy level.
calisation of a mobile device, they vary dramatically in precision,
applicability, hardware requirements, and energy demands. A GPS         Our preliminary experimental results show that there is a strong po-
request requires a GPS receiver with a much higher energy demand        tential in these techniques to reduce the energy demand compared
compared to an on-device database lookup that is based on already       to continuous GPS polling.
localised cell towers or Wi-Fi hotspots [4]. However, in an outdoor        The remainder of the paper is structured as follows: Section 2
scenario, GPS is far more precise than the analysis of location in-     discusses related work. Section 3 introduces the concept of loca-
formation of connected Wi-Fi hotspots or cell towers [22]. On the       tion hierarchies. Section 4 presents the three aforementioned ap-
                                                                        proaches. Section 5 describes the evaluation approach and the re-
                                                                        sults. Section 6 summarises the paper.

                                                                        2.     RELATED WORK
                                                                           Our work mainly overlaps with the research fields location mod-
                                                                        els and energy-aware computing. Location models form the basis
                                                                        for all high-level operations on location data. Consequently, the
24th GI-Workshop on Foundations of Databases (Grundlagen von Daten-
banken), 29.05.2012 - 01.06.2012, Lübbenau, Germany.                    frequent and enduring use of location data in mobile computing
Copyright is held by the author/owner(s).                               immediately raises the issue of the mobile devices’ limited energy



                                                                                                                                                11
Towards Using Location Poly-Hierarchies for Energy-Efficient Continuous Location Determination

resources. The field of energy-aware computing presents a variety                                               requires dedicated software engineering with new concepts and al-
of concepts and methods to compensate for these constraints.                                                    gorithms [9].
                                                                                                                   One concept of energy-aware computing is resource substitution
2.1        Location Models                                                                                      [3]. It is based on the observation that in most cases, alternative
   Location models as core components of location-based appli-                                                  resources exist for a given resource. These alternatives often vary
cations represent location information and spatial (or even spatio-                                             greatly in their costs (e.g., computing power, storage capacity, or
temporal [15]) relationships in data. They help to express relative                                             energy demands), but also in their accuracy, granularity, and fre-
locations, proximity, and allow users to determine containment of                                               quency of data updates. This directly influences their appropri-
locations or connectedness of relationships.                                                                    ateness for substitution. In general, resource substitution favours
   The authors of [21] present in great detail the broad variety of                                             resources with a lower cost (energy requirements) over expensive
location models that have been developed in recent years of active                                              (high-energy) alternatives. In many cases, a high-energy resource
research. A key factor for distinguishing and characterising loca-                                              is not necessarily required and can be substituted without measur-
tion models is their way of representing spatial relationships. Ac-                                             able impact on system performance or user acceptance [19].
cording to [1], they can be categorised into set-based, hierarchical,                                              The authors of [17] utilise resource substitution in the form of
and graph-based models. Hybrid models that combine several as-                                                  sensor substitution. In a location-based context, data from a GPS
pects exist as well. Figure 1 presents an overview of the three main                                            device is often substituted with triangulation or lateration data from
concepts. In the illustrated examples, the set-based approach is the                                            cell towers or Wi-Fi stations. A comparable concept is sensor trig-
least expressive one, as it only models the fact that there are two                                             gering, where logical dependencies between different sensors are
distinct locations within a set of locations, and a set of coordinates                                          used. When low-energy sensors detect changes in the environment,
is assigned to each location. The hierarchical model adds contain-                                              a detailed update with high-energy sensors is triggered. An exper-
ment information, and the graph-based model adds connectedness                                                  iment described in [17] shows that low-energy accelerometer data
as well as distance in the form of edge weights.                                                                can be used to trigger high-energy GPS sampling. This approach
                                                                                                                greatly reduces the energy demand of location determination for
                                                                                                                mobile applications that do not require a gap-less reconstruction of
      Location A                        World                                      Location A
                                                                                                                routes. This triggering approach has also been applied in the area of
         (1,2)
                            (1,2)     (1,3)   (2,3)     (2,4)                             (1,2)
                                                                                                                civil engineering, where it is critical that autonomous sensor nodes
                                                                                     50
                                                                                             60
                                                                                                   25
                                                                                                                in buildings gather highly detailed data when vibrations occur. In
                                                                        Location B                 Location C   the “Lucid Dreaming” system [13], a low-energy analogue circuit
      Location B   Location A                         Location B
                                                                           (2,4)                        (1,3)   is sufficient to watch for these environment changes. It triggers
         (2,3)
                    (1,2)     (1,3)                   (2,3)     (2,4)
                                                                                                                a high-energy microcontroller-based sensor to gather the required
                                                                              25             100
                                                                                                                fine-grained data.
                                                                        Location D                 Location E
                   Location c

                                                                                                                3.    TERMS AND DEFINITIONS
                                                                           (2,3)
                                                                                           10           (2,5)
                        (1,2)




        (a)                             (b)                                           (c)                          According to [18], “location of an object or a person is its geo-
                                                                                                                graphical position on the earth with respect to a reference point.”
Figure 1: Examples for different popular location models: set-                                                  From our viewpoint, this definition is too restrictive, as geographic
based (a), hierarchical (b), and graph-based (c). The edge                                                      positions are points. In contrast to a point, a location has a spatial
weights in the graph-based model represent distance informa-                                                    extent. Due to [5], “geographic location is the text description of an
tion.                                                                                                           area in a special confine on the earth’s surface.”. However, an area
                                                                                                                is a set of geographical positions. So, we use a set-oriented defini-
                                                                                                                tion: A location is a named set of geographical positions on earth
   Hierarchical location models as a special case of set-based mod-                                             with respect to a reference point. In a two-dimensional coordi-
els represent containment relationships between different levels of                                             nate system, e.g., the location of a building is given as a set, where
the model and are widely used as basis for location-based appli-                                                each position (point) belongs to the building’s area. We do not dis-
cations [14, 2, 6]. They cannot represent distance information or                                               cuss the calculation of point sets here, but rather refer to techniques
directly encode proximity, but they have great advantages in traver-                                            of geographical information systems (GIS) [7]. The location mod-
sal and for containment queries. They are very close to the com-                                                els presented in Section 2.1 describe relationships among locations.
mon human understanding of locations. Almost everyone under-                                                    However, reality requires a more sophisticated location model. Is-
stands the widely acknowledged segmentation of locations into ad-                                               tanbul, as the capital of Turkey, belongs to Europe and Asia. The
ministrative regions (country, state, city, street, etc.). At this, on                                          same issue holds for Russia, which is located in Europe and in Asia,
a city level, a lot of implicit information can be derived through                                              too. Another problem results from enclaves: Kaliningrad is part
the top-level relationship to a state or country (e.g., administrative                                          of Russia, but this information is not sufficient to decide whether
language, local cuisine, prevalent religions).                                                                  Kaliningrad belongs to Europe or Asia. The solution for these prob-
                                                                                                                lems is to use set overlaps instead of containment relationships in
2.2        Energy-aware Computing                                                                               combination with a poly-hierarchical location model [11].
   Energy-aware computing recognises the need for energy as a                                                      Figure 2 illustrates the simplified poly-hierarchies for Istanbul
factor in modelling and implementing computing systems in or-                                                   and Kaliningrad, represented as directed acyclic graphs. Each node
der to manage and reduce their energy demand. This includes both                                                is a location and each directed edge represents that the child node
hardware and software systems. While energy-aware hardware has                                                  belongs (semantically) to the parent node(s). Moreover, the location
been under active research for many years, energy-aware software                                                poly-hierarchy LP H has a unique root node because the entire co-
is still a novel and underestimated field of research. Hardware solu-                                           ordinate system is closed in case of locations (all considerable po-
tions such as sleep modes or performance scaling cannot be directly                                             sitions are elements of the set of all positions on earth). We do not
transferred or adapted to software systems. Energy-aware software                                               discuss the construction of LP H in this paper, but assume that an



12
                                   Towards Using Location Poly-Hierarchies for Energy-Efficient Continuous Location Determination

                                                                                         and Asia. So, the number of comparisons depends on the structure
                   earth	
  	
                                earth	
  	
                of the given poly-hierarchy. Our algorithm calculates the correct
                                                                                         path for a given location while minimising the number of compar-
                                                                                         isons. We assume that the names of the leaf and inner nodes in
      Europe	
                       Asia	
      Europe	
                     Asia	
     LP H are unique and referenced within the GIS db.

                                                                                                           earth	
  	
                                                                  earth	
  	
                                                        earth	
  	
                                                       earth	
  	
                                                                  earth	
  	
  




               Russia	
                                   Russia	
                           Europe	
                            Asia	
                                   Europe	
                       Asia	
                              Europe	
                      Asia	
                              Europe	
                      Asia	
                                     Europe	
                          Asia	
  




                                                                                                           Russia	
                                                                     Russia	
                                                           Russia	
                                                          Russia	
                                                                     Russia	
  




                                                                                                          Istanbul	
                                                                   Istanbul	
                                                         Istanbul	
                                                        Istanbul	
                                                                   Istanbul	
  




              Istanbul	
                               Kaliningrad	
                                      (a)                                                                          (b)                                                                (c)                                                               (d)                                                                      (e)
                      (a)                                        (b)
                                                                                         Figure 3: Traversing the location poly-hierarchy in case of Is-
Figure 2: Poly-hierarchical example locations: Istanbul (a),                             tanbul.
Kaliningrad (b).


                                                                                                                                               earth	
  	
                                                              earth	
  	
                                                            earth	
  	
                                                              earth	
  	
  




expert defined it in advance. Furthermore, we assume that the level                                                        Europe	
                            Asia	
                                   Europe	
                        Asia	
                                 Europe	
                        Asia	
                                   Europe	
                              Asia	
  



of a node is defined as the number of nodes on the longest direct                                                                              Russia	
                                                                 Russia	
                                                               Russia	
                                                                 Russia	
  



path from root to this node, plus one. As illustrated in Figure 2(b),
level(Russia) = 2 and level(Kaliningrad) = 3.                                                                                               Kaliningrad	
                                                            Kaliningrad	
                                                          Kaliningrad	
                                                            Kaliningrad	
  




                                                                                                                                            (a)                                                                      (b)                                                                    (c)                                                                      (d)
4.    LOCATION DETERMINATION STRATE-
                                                                                         Figure 4: Traversing the location poly-hierarchy in case of
      GIES                                                                               Kaliningrad.
   The research question addressed in this paper is twofold: we
want to continuously determine the location of an object while re-
ducing the energy requirements for positioning, and we want to                              The algorithm works as follows (cf. Figures 3 and 4): At first, the
offer location information that is appropriate for different applica-                    proper leaf node is selected using a db query (F. 3(a); F. 4(a)). We
tion scenarios. The two extrema are: GPS polling and not mea-                            then traverse the LP H bottom-up and mark nodes that belong to
suring at all. Polling is the most energy-intensive approach and                         the correct path: The direct (grand)parent node(s) with the lowest
not measuring is the most imprecise “solution”. We developed                             level are analysed. If the current node has only one (grand)parent
three approaches for calculating appropriate location information                        node in this level, this node is selected as path anchor (F. 4(b)).
with a minimal amount of energy. The first strategy reflects the                         If more than one (grand)parent node exists on the minimal level,
fact that memory-intensive computations require much more en-                            we check them with a db query (F. 3(b)), mark the correct one and
ergy than CPU-intensive ones [8] and reduces the number of re-                           select it as path anchor (F. 3(c)). We continue with the path anchor
quired database lookups. The other two strategies aim for reducing                       until we reach the root node (F. 3(d); F. 4(c)). The last step is to
the number of GPS request and lookup operations in order to find                         collect the nodes on the path from root to the leaf node including
the correct path from a detected node to the root of LP H. This                          all marked inner nodes (F. 3(e); F. 4(d)).
path correctly describes the different levels of detail for the current
location.                                                                                4.2                       Postponed Measurements
                                                                                            The postponed measurements strategy predicts the time required
4.1     Level Dependencies                                                               for a person or object to leave the current location. This time de-
    In LP H the point sets’ cardinalities of locations represented                       pends on the hierarchy level, the geographical model used for this
by higher-level nodes are smaller than those of locations repre-                         level and on the movement speed [20].
sented by the linked lower-level nodes. The assignment of a lo-                             For simplification purposes, the application specifies the veloc-
cation to a set of positions uses default GIS techniques. So, a db                       ity of the moving object as a movement profile (pedestrians: ≈
stores border polygons, and a db lookup fetches the proper location                      6 km h−1 , cyclists: ≈ 11 km h−1 , car drivers: ≈ 60 km h−1 ). The
values from the db. Hence, one location lookup requires certain                          most obvious approach is to take the object’s current position Lc =
memory-intensive operations. Moreover, in case of continuous lo-                         (xc , yc ) and then calculate the minimal Euclidean distance d to all
cation determination, queries must be performed for each move-                           locations within the current path in LPp  H. For each location L on
ment of the requesting object. However, if we know about the                             this path, we have to calculate: min( (xc − xl )2 + (yc − yl )2
(semantic) dependencies among certain levels within the location                         |∀(xl , yl ) ∈ L). With a simple calculation, we then compute the
poly-hierarchy, we can reduce the amount of energy-intensive db                          time the object would need to leave this location. If, e.g., a pedes-
lookups by traversing LP H.                                                              trian is 5 km away from the city limit, he or she would need at
                                                                                                                  m∗3600 s
    Figure 2(b) shows that if an object is located within Kaliningrad,                   least 50 minutes ( 50006000 m
                                                                                                                           = 3000 s) to leave the city. So, we
it is in Russia and Europe and on earth, too. So, only one compar-                       postpone the next position measurement by 50 minutes if the appli-
ison of location sets is necessary. For the example in Figure 2(a),                      cation requires the location at a city level. The Euclidean distance
this is not as trivial. The requesting object is located in Istanbul and                 guarantees the calculation of the shortest distance. Hence, if the
in Turkey. However, requesting the continent information requires                        velocity is correct, the calculation always returns a time window
an additional set comparison as Istanbul belongs to both Europe                          the moving object must be in the current location.



                                                                                                                                                                                                                                                                                                                                                                                                                                     13
Towards Using Location Poly-Hierarchies for Energy-Efficient Continuous Location Determination

   This approach is used for area-like locations where no route in-      tions on the city level might be used in a polling mode. Anyway,
formation exists. In case of a map-based location management, we         position-based location determination such as cell tower triangula-
utilise crossroad data to get more precise predictions (cf. [10]).       tion in combination with a GIS requires too much calculation effort,
Therefore, we maintain a db with all crossroads and calculate the        if used in a polling manner. However, we will research a combina-
Euclidian distance between the current position and the closest cross-   tion of polled and time-triggered updates of location information in
road. Of course, the prediction is more exact if we use the en-          a location poly-hierarchy in the near future.
tire map information but storing the complete maps would require
much space (e.g., for the German state of Thuringia, we have to          5.    EVALUATION
maintain 125,034 crossroads or to store and query 657 MB of Open-
                                                                            Our prototype is still work in progress. Therefore, we present a
StreetMap data).
                                                                         preliminary evaluation that enabled us to estimate the energy foot-
   Besides the postponement calculation for the various levels, we
                                                                         print of our proposed concept in an exemplary scenario.
have to consider the poly-hierarchy as well. Referring back to the
Istanbul-Example: if the moving object is located in Istanbul, it        5.1    Experimental Setup
may take one hour to leave the city, but only 10 minutes to leave
                                                                            The evaluation system was implemented as a mobile application
the continent. The solution for this issue is to analyse the LP H in
                                                                         on the Android 2.3.4 platform. We conducted our tests with the
the following way. Given the LP H, the current location and the
                                                                         recently released HTC Sensation smartphone. As shown in Fig-
current velocity. First we calculate the correct location path using
                                                                         ure 5(b), the application is mainly a data logger for location and
the algorithm discussed in Section 4.1. In the next step, we cal-
                                                                         power management data. In order to gather location data, we im-
culate the postponement value for each location in this path using
                                                                         plemented a cell tower lateration algorithm, and used the Android
the appropriate calculation (Euclidian distance, crossroad analysis).
                                                                         SDK’s methods for obtaining GPS data. The application reads
The minimal value determines the time until the next measurement.
                                                                         energy-related data (battery voltage and current) directly from the
4.3    Level Appropriateness                                             device’s power management. It was implemented as an indepen-
                                                                         dent background logging service that gathers data even when the
   There exist various technologies to measure positions such as
                                                                         device is locked. The experimental setup follows our data-based
geotagged Wi-Fi hotspot and cell tower databases, wireless sig-
                                                                         energy measurement approach, as described in [12].
nal triangulation/lateration, or geotagging. They vary in their en-
ergy demand and their precision. While looking at the location
poly-hierarchy one can recognise that locations represented closely
to the root node mostly require less precise location techniques.
Country information can directly be read from the country code
provided by mobile telecommunications operators. The city infor-
mation can be harvested from cell tower information using a simple
db lookup. We have to use the most high-energy GPS only if pre-
cise location information are required. The approach discussed in
the following combines the techniques illustrated in Section 4.1 and
Section 4.2.

 Hierarchy level    Level    Technique
 Earth              0        known to be true
 Continent          1        Country code + Cell tower ID lookup
 Country            2        Country code
 State              3        Cell tower ID lookup
 City               4        Cell tower triangulation
 Street             5        GPS

         Table 1: Location determination lookup table.                                   (a)                               (b)

   For the postponed measurements, we adapted the cross-level post-      Figure 5: Celludroid evaluation app running on an HTC Sen-
ponement value in a way that we calculate different postponement         sation smartphone.
values for each level while alternating the measurement strategy
(cf. Table 1). Let’s say that the object is located in Istanbul, and        All data was stored in an sqlite database that could later on easily
that the GPS-based measurement resulted in a postponement value          be used for analysis. For convenience, the application also shows
of 10 minutes for the continent, and a postponement value of 1 hour      the estimated location on a map (cf. Figure 5(a)) and allows to
for the city. After 10 minutes, we then check the appropriateness        explore the properties of nearby cell towers.
of the continent location using energy-efficient cell tower triangu-        The cell tower lateration uses a Google service1 to look the lo-
lation and calculate a new postponement value for this level on this     cation of nearby cell towers up. Because all retrieved cell tower
basis. Hence, in best case (we do not leave the continent), we can       locations are cached in an sqlite database, subsequent location re-
wait with the next GPS positioning for 50 more minutes.                  quests for previously discovered cell towers do not require addi-
   A more trivial approach supported by this idea are applications       tional (high-energy) network communication.
that do not need exact position information. As mentioned above,         1
                                                                           Unfortunately, access to this service is not publicly documented,
requesting the country information does not need any positioning         our implementation is based on the general process documented
as the information is provided by the service provider. Further-         in this forum article: http://stackoverflow.com/a/
more, less energy-intensive cell ID lookups for determining loca-        3356956



14
                                Towards Using Location Poly-Hierarchies for Energy-Efficient Continuous Location Determination

   Our test run consisted of a sequence of 30-minute city walks, one                                   1100                                                   GPS


for each test condition:                                                                               1000

                                                                                                       900
a) baseline,                                                                                           800


b) cell tower lateration, and                                                                          700                                       Cell tower
                                                                                                                                                 lateration




                                                                                          Energy [J]
                                                                                                       600                               Baseline

c) GPS.                                                                                                500


In the baseline condition, the display was turned off, Wi-Fi was on,                                   400
                                                                                                                                   GPS
Bluetooth was off, and no background tasks except our logging ser-                                     300            Cell tower
                                                                                                                      lateration
vice were running. During each run, power management data and                                          200
                                                                                                              Baseline


cell tower locations were logged every second. GPS was requested                                       100

every 5 s. However, the Android SDK cannot guarantee an exact                                            0
time between GPS location updates. In fact, our measured time is                                                    10 minutes                 30 minutes


slightly higher (7.2 s on average).
   From the power management data, we derived electrical power                     Figure 7: Comparison of accumulated energy demand.
and electrical energy data. In order to assess the accuracy of the
gathered location data, additional processing was necessary. While
the GPS data already included accuracy information, we computed                even showed an error of more than 800 m. These extreme differ-
accuracy information for the cell tower lateration by comparing the            ences highlight the fact that the reduced energy requirements of cell
gathered coordinates to their counterparts from the GPS run. This              tower lateration condition have an at least equally drastic influence
enabled us to give an estimate for the upper bound of the error.               on accuracy.

5.2                 Results and Discussion                                     5.3    Scenario
                                                                                  The gathered results provide insight into the areas of applica-
Energy                                                                         tion where sufficient potential exists to reduce the energy require-
Our results indicate that cell tower triangulation has no significant          ments for continuous location determination. In this subsection, we
impact on the device’s energy demand at all. The baseline con-                 sketch a scenario that relies on our three conceptual pillars:
dition shows a total of 181.07 J after 10 minutes and 565.5 J after            a) using level dependencies,
30 minutes, while the test run with cell tower lateration resulted in a
slightly higher 183.76 J after 10 minutes and 583.28 J after 30 min-           b) postponed measurements,
utes. This difference of 1.5 % is within the measuring tolerance of            c) using appropriate positioning techniques.
our method. Far more interesting is the difference between baseline
                                                                               This scenario-based evaluation surely cannot serve as a proof for
             1000                                                              our proposed concept, but it provides a glimpse on its possible im-
             900
             800
                                                                               pact. Our scenario application is a mobile tourist information sys-
             700                                                               tem for smartphones. All data is stored on the mobile device and
Power [mW]




             600
             500                                                               can be accessed using db queries. The application can access the
             400                                                               following device’s location sensors:
             300
             200
             100
                                                                               a) SIM card operator’s country code (country information),
               0
                        5 min     10 min   15 min   20 min   25 min   30 min
                                                                               b) Cell tower association (state information),
                                             Time

                                                                               c) Cell tower lateration (city part/street information),
Figure 6: Comparison of power consumption for GPS (red line,                   d) GPS (street number information).
top) and cell tower lateration (blue line, bottom) during contin-
uous position determination.                                                   In our scenario, a tourist from Japan is on a bus tour through Ger-
                                                                               many and is currently visiting Thuringia. In Weimar, she decides
and GPS condition. Figure 6 documents the power consumption                    to start using the tourist information system.
progress during cell tower and GPS run. In the GPS run, the device
required 316.07 J after 10 minutes and 1057.8 J after 30 minutes.              Using level dependencies
Compared to baseline, this is an increase of 74.56 % after 10 min-             Upon first use, the system requires a single positioning with cell
utes, or 87.06 % after 30 minutes (cf. Figure 7). Remember, GPS                tower lateration. With the gathered coordinates, the country, state,
data was gathered every 7.2 s on average. In these 7.2 s, our setup            and city nodes of the location poly-hierarchy can be determined:
required 4896 mJ of energy on average (7.2 s · 680 mJ s−1 ). In the            earth→Europe→Germany→Thuringia→Weimar. The system
baseline condition, 7.2 s of idling required 1296 mJ of energy on              uses this data to switch to the tour mode for Thuringia.
average (7.2 s·180 mJ s−1 ), which is 26.5 % of the amount required
for GPS.                                                                       Using appropriate techniques according to level
                                                                               In this mode, a continuous perimeter search delivers points of in-
Accuracy                                                                       terest, such as restaurant, museums, public places, or theaters. Be-
The results regarding accuracy of the position determination tech-             cause this feature at this point only requires the general information
niques are very clear. While the GPS condition results show an                 about the presence of such points of interest (and not a detailed
average of 9.2 m, cell tower lateration performs drastically worse             routing information on how to get there), it is appropriate to rely on
at 308.26 m (a difference of 3242.55 %). Some outliers in the data             cell tower lateration.



                                                                                                                                                                    15
Towards Using Location Poly-Hierarchies for Energy-Efficient Continuous Location Determination

Postponing unnecessary measurements                                        [5] Z. Dongqing, L. Zhiping, and Z. Xiguang. Location and its
When the tourist finished exploring the city, she wants to find a nice         Semantics in Location-Based Services. Geo-spatial
place to have lunch. After selecting one of the restaurants from the           Information Science, 10(2):145–150, June 2007.
perimeter search result list, the tourist information system enters        [6] F. Dürr and K. Rothermel. On a location model for
the navigation mode. In this mode, a database of intersections is              fine-grained geocast. In UbiComp ’03 Proc., pages 18–35.
used in combination with a movement profile to estimate important              Springer, 2003.
turning points along a route where it is necessary to activate the         [7] I. Heywood, S. Cornelius, and S. Carver. An Introduction to
GPS technique.                                                                 Geographical Information Systems. Prentice Hall, Upper
                                                                               Saddle River, NJ, USA, 2nd edition, Nov. 2002.
Estimation of reduced energy requirements                                  [8] H. Höpfner and C. Bunse. Towards an energy-consumption
Upon first use, at least one GPS request can be saved. As we                   based complexity classification for resource substitution
have shown in the previous subsection, each request requires about             strategies. In GVDB ’10 Proc., volume 581. CEUR-WS.org,
4896 mJ. The continuous perimeter search for points of interest                May 2010.
took 2 hours in our scenario. During these 2 hours, a continu-             [9] H. Höpfner and C. Bunse. Energy Awareness Needs a
ous GPS polling would have required about 1000 GPS requests                    Rethinking in Software Development. In ICSOFT ’11 Proc.,
(4896 J). In contrast, the cell tower lateration used by the sys-              volume 2, pages 294–297. SciTePress, 2011.
tem only required 1296 J. Giving an estimation of the reduction           [10] H. Höpfner and M. Schirmer. Energy efficient continuous
achieved by the postponed measurements in the navigation mode                  location determination for pedestrian information systems. In
(using the intersection database) is very difficult, as it relies on a         MobiDE ’12 Proceedings, 2012. accepted for publication.
multitude of factors (e.g., velocity, distance between intersections).    [11] H. Höpfner and M. Schirmer. Towards modeling locations as
A conservative lower bound would be to assume that this method                 poly-hierarchies. In GVBD ’12 Proc., May 2012. accepted
reduces the amount of GPS requests to 50 %.                                    for publication, forthcoming.
                                                                          [12] H. Höpfner, M. Schirmer, and C. Bunse. On measuring
6.    SUMMARY, CONCLUSIONS, AND OUT-                                           smartphones’ software energy requirements. In ICSOFT ’12
      LOOK                                                                     Proc., 2012. accepted for publication, forthcoming.
   We addressed two research questions in the area of continuous          [13] S. Jevtic, M. Kotowsky, R. P. Dick, P. A. Dinda, and
location determination: We analysed precision appropriateness and              C. Dowding. Lucid dreaming: Reliable analog event
discussed energy requirements. We utilised the poly-hierarchical               detection for energy-constrained applications. In IPSN ’ß07
nature of locations to provide different levels of location informa-           Proc., pages 350–359. ACM, 2007.
tion. We discussed three approaches: We reduced the amount of             [14] C. Jiang and P. Steenkiste. A hybrid location model with a
location calculations within the location poly-hierarchy, we intro-            computable location identifier for ubiquitous computing. In
duced the concept of postponed measurements, and we discussed                  Ubicomp ’02 Proc., pages 246–263. Springer, 2002.
appropriateness issues in location poly-hierarchy levels.                 [15] T. Kauppinen, R. Henriksson, R. Sinkkilä, R. Lindroos,
   The overall goal behind our research is to realise a location frame-        J. Väätäinen, and E. Hyvönen. Ontology-based
work that application developers can use to implement location-                Disambiguation of Spatiotemporal Locations. In IRSW ’08
aware applications without the need to take care of the high en-               Proc., volume 422. CEUR-WS.org, 2008.
ergy requirements of GPS. We know that various frameworks do              [16] B. N. Schilit, A. LaMarca, G. Borriello, W. G. Griswold,
exist and address the same issue. However, our results show the                D. McDonald, E. Lazowska, A. Balachandran, J. Hong, and
potential to reduce the required energy further. The paper opens               V. Iverson. Challenge: ubiquitous location-aware computing
various research directions that we will follow on: The concept of             and the “place lab” initiative. In WMASH ’03 Proc., pages
location poly-hierarchies requires a detailed and formal definition.           29–35. ACM, 2003.
While location hierarchies and ontology-based models are well re-         [17] M. Schirmer and H. Höpfner. SenST: Approaches for
searched, poly-hierarchies are rather novel. Furthermore, more re-             Reducing the Energy Consumption of Smartphone-Based
search needs to be done in the area of calculating the postponement            Context Recognition. In CONTEXT ’11 Proc., pages
values, and the combination of polling and postponed updates must              250–263. Springer, 2011.
be addressed.                                                             [18] A. Y. Seydim, M. H. Dunham, and V. Kumar. Location
                                                                               dependent query processing. In MobiDE ’01 Proc., pages
7.    REFERENCES                                                               47–53. ACM, 2001.
 [1] C. Becker and F. Dürr. On location models for ubiquitous             [19] J. P. Sousa, R. K. Balan, V. Poladian, D. Garlan, and
     computing. Personal and Ubiquitous Computing,                             M. Satyanarayanan. User Guidance of Resource-Adaptive
     9(1):20–31, 2005.                                                         Systems. In ICSOFT ’08 Proc., volume SE/GSDCA/MUSE,
 [2] M. Beigl, T. Zimmer, and C. Decker. A location model for                  pages 36–44. INSTICC press, 2008.
     communicating and processing of context. Personal                    [20] O. Wolfson, B. Xu, S. Chamberlain, and L. Jiang. Moving
     Ubiquitous Computing, 6:341–357, Jan. 2002.                               Objects Databases: Issues and Solutions. In SSDBM ’98
 [3] C. Bunse and H. Höpfner. Resource substitution with                       Proc., pages 111–122. IEEE CS, 1998.
     components — optimizing energy consumption. In ICSOFT                [21] J. Ye, L. Coyle, S. Dobson, and P. Nixon. A unified
     ’08 Proc., volume SE/GSDCA/MUSE, pages 28–35.                             semantics space model. In LoCA ’07 Proc., LNCS, pages
     INSTICC press, July 2008.                                                 103–120. Springer, 2007.
 [4] I. Constandache, S. Gaonkar, M. Sayler, R. R. Choudhury,             [22] P. A. Zandbergen. Accuracy of iPhone Locations: A
     and L. P. Cox. Energy-Efficient Localization via Personal                 Comparison of Assisted GPS, WiFi and Cellular Positioning.
     Mobility Profiling. In MobiCASE ’09 Proc., pages 203–222.                 Transactions in GIS, 13(s1):5–26, July 2009.
     Springer, 209.



16
          Datenbank-Performance-Experimente in der Lehre
                                    Max Flügel, Alexander Stein, Michael Höding
                                                        FH Brandenburg
                                                     Magdeburger Straße 50
                                                    14770 Brandenburg/Havel
                                                       (+49)3381 355 243
                                    [fluegel|steina|hoeding]@fh-brandenburg.de

ABSTRACT                                                            1.1 Problem
In diesem Beitrag stellen wir unsere Idee und deren Ansätze vor,         In Unternehmen, in denen leistungsstarke Datenbanken und
die die Ausbildung im Bereich Datenbank-Performance mittels         ein gutes Antwortzeitverhalten eine Rolle spielen, kommt es vor,
eines Praktikums unterstützen sollen. Wichtiges Element des Er-     dass bezüglich der Datenbank-Performance voreilige und einseiti-
kenntnisgewinns ist das eigene Erleben im Rahmen von Experi-        ge Entscheidungen getroffen werden und somit die sorgfältige
menten. Im Bereich Datenbank-Performance müssen Experimente         Betrachtung der Datenbank-Performance zu kurz kommt.
und Experimentierumgebung so gestaltet und aufgebaut sein, dass
                                                                         In der Lehre wird oftmals zu wenig Aufschluss über dieses
den Erwartungen an Vergleichbarkeit und Wissenszuwachs ent-
                                                                    Thema gegeben bzw. in Veranstaltungen lediglich darauf hinge-
sprochen wird.
                                                                    wiesen, dass Datenbank-Performance unter anderem bei Unter-
                                                                    nehmen eine große Rolle spielt oder spielen kann. Welche Beiträ-
Keywords                                                            ge, sprich welche Methoden und/oder Werkzeuge, für eine opti-
Database Performance, Praktikum, Experiment                         male Performance-Auslastung eingesetzt werden können und wie
                                                                    mit potentiellen Leistungsdefiziten umgegangen werden kann,
1. Einführung und Motivation                                        wird im Rahmen der Lehre viel zu selten betrachtet. Eine Vertie-
      Datenbank-Performance ist in Forschung, Lehre und Praxis      fung durch eigene Übungen findet zudem i.d.R. nicht statt.
ein zentraler Betrachtungsgegenstand. Betriebliche Anwendungs-      Ein weiteres Problem, welches mit der zuvor genannten Sachlage
systeme müssen durch akzeptable Antwortzeiten einen reibungs-       einher geht, ist, dass das Thema Datenbank-Performance als sehr
losen Betrieb ermöglichen. Datenbankforschung und Datenbank-        abstrakt und wenig kalkulierbar bzw. greifbar von vielen Studen-
hersteller haben hierzu eine Vielzahl von Methoden und Mecha-       ten eingeschätzt wird. Es ist nicht genau klar, wie die Performan-
nismen entwickelt und eingeführt. Eine Aufgabe der Lehre ist es,    ce dargestellt und beeinflusst werden kann.
diese Methoden zu vermitteln, um ihre Anwendung zu unterstüt-
zen. Zwar gibt es zunehmend Self-Tuning-Mechanismen in Da-
tenbankmanagementsystemen (DBMS), jedoch ist der gut ausge-         1.2 Zielstellung
bildete Datenbankadministrator ein wichtiges Erfolgselement des          Für die genannten Problemfelder sollen in der Lehre ein hö-
soziotechnischen Gesamtsystems.                                     herer Stellenwert und die notwendige Akzeptanz erreicht werden.
                                                                    Dabei soll nicht nur die Datenbank-Performance als solche be-
Um Studierende für ein Thema zu motivieren und auch zu begeis-      leuchtet werden. Auch Wirtschaftlichkeitsbetrachtungen der Per-
tern, muss ihnen die Möglichkeit gegeben werden, Erkenntnisse       formance sollen mit einfließen. Kernziel ist es, mögliche Um-
in der praktischen Arbeit zu erlangen. Hierzu können Experimen-     gangsweisen mit der Performance von Datenbanken deutlich zu
te eingesetzt werden, welche sich unter anderem durch selbststän-   machen.
diges Arbeiten auszeichnen. Der Student wird durch eine Aufga-
benstellung mit einem in der Theorie beschriebenen Problem               Erreicht werden kann dieser Ansatz durch das praktische Ar-
bekannt gemacht. Das Experiment hat in seiner Struktur einen        beiten mit Datenbank-Performance-Experimenten in der Lehre.
festen Rahmen. Dieser unterstützt den Studenten ein Thema me-            In mehreren Übungsveranstaltungen sollen die Studenten ei-
thodisch zu betrachten (vgl. [2] S.239). Zusätzlich erlernt der     genständig Praxiserfahrungen sammeln können, um Datenbank-
Student neben neuem Wissen auch soziale Kompetenzen (Team-          Performance selbst zu erleben. Hierfür soll aufgezeigt werden,
fähigkeit, Konfliktlösung, usw.).                                   wie die Performance gemessen und interpretiert werden kann. Im
                                                                    Nachgang werden Methoden und Werkzeuge vorgestellt, mit
                                                                    denen die Performance optimiert wird. Denkbar wäre auch, dass
                                                                    die Studenten selbst nach geeigneten Möglichkeiten suchen und
                                                                    diese dann anwenden müssen.
                                                                    Ziele sind demnach:
                                                                    ƒ   Performance erleben
                                                                    ƒ   Performance-Messmethoden kennenlernen und einsetzen

 24th GI-Workshop on Foundations of Databases (Grundlagen von Da-
 tenbanken), 29.05.2012-01.06.2012, Lübbenau, Germany.
 Copyright is held by the author/owner(s).




                                                                                                                                  17
Datenbank-Performance-Experimente in der Lehre

ƒ    Gesamtarchitektur betrachten (beispielsweise zugrundelie-       Die jeweiligen Tests lassen sich dabei in die Phasen Vorberei-
     gendes System) und analysieren, um „Flaschenhälse“ zu er-       tung, Durchführung und Nachbereitung aufteilen (vgl. [6] S. 253).
     kennen                                                          Die Tests werden entsprechend dokumentiert, um daraus Maß-
                                                                     nahmen abzuleiten. In der Vergangenheit haben sich für System-
ƒ    Optimieren der Performance
                                                                     bzw. Softwaretests verschiedene Normen und Standards entwi-
ƒ    Wirtschaftlichkeit von Performance-Lösungen betrachten          ckelt. Hier ist unter anderem die DIN 66273 (Vorgehensmodell
                                                                     für die Lastmessung) zu nennen.
Dabei werden fachliche als auch überfachliche Fähigkeiten aus-
geprägt.
                                                                     2.2 Aufbau des Praktikums
                                                                     Um Performance für die Studenten erlebbar zu machen, wird
2. Theoretische Grundlagen                                           begleitend zur Vorlesung ein Praktikum durchgeführt. Dieses
Um Performance zu erleben, sollen Performance-Tests und die          Praktikum teilt sich in einzelne Experimente auf. Die Experimen-
didaktische Methode Experiment miteinander verbunden werden.         te bauen in der Folge aufeinander auf, so erhalten die einzelnen
Im folgenden Abschnitt wird auf Performance-Tests und ihre           Experimente einen roten Faden. Es werden die wichtigsten Eck-
Rolle in den Systemtests eingegangen. Im Anschluss daran wer-        punkte der Performance-Messung berücksichtigt. Innerhalb der
den das Experiment in seiner Methode und die wesentlichen Pha-       einzelnen Experimente sollen bewusst die Stellschrauben an den
sen beschrieben. Abschließend sollen die Zusammenhänge zwi-          Systemen geändert werden, um die Wirkung der einzelnen Va-
schen beiden Themenfeldern aufgezeigt werden.                        riablen auf das Verhalten des Systems zu erkennen und anschlie-
                                                                     ßend zu bewerten. Der Student soll hierbei selbstständig die Wer-
2.1 Performance-Test                                                 te der Variablen ändern können.
      „Die Performance oder Leistung in der Informatik ist die Fä-   Das Experiment lässt sich gemäß K. Reich in drei Phasen auftei-
higkeit eines Systems, eine Aufgabe in einer bestimmten Zeit zu      len (vgl. [3] S. 7):
erledigen“ ([4] S. 439). Dabei wird Performance durch den An-        ƒ    Am Beginn steht die Planungsphase. Hier wird die Vorbe-
wender wahrgenommen und muss entlang der Zielgruppen-                     trachtung umgesetzt. Zudem wird die Fragestellung formu-
Anforderungen betrachtet werden (vgl. [4] S. 439). So werden              liert, auf deren Basis eine Hypothese aufgestellt werden
Wartezeiten bei Datenanalysen durch den Nutzer eher akzeptiert,           kann. Weiterhin werden die Randbedingungen des Experi-
als die Wartezeit bei Internetsuchmaschinen. Die Performance              ments beschrieben und der Versuchsaufbau geplant.
eines Systems lässt sich hingegen durch Tests systematisch nach-
weisen und im Anschluss gegebenenfalls an die Anforderungen          ƒ    Dann erfolgt die Durchführungsphase. In dieser Phase wird
anpassen. Dabei gehören die Performance-Tests zu den System-              die Planung umgesetzt, indem der Praktikumsversuch durch-
tests. Systemtests werden nach H. Balzert in Funktionstest, Leis-         geführt wird.
tungstest, Benutzbarkeitstest, Sicherheitstest und Interoperabili-   ƒ    Nach der Durchführung des Experiments erfolgt die Nachbe-
tätstest unterteilt. Diese Tests dienen zur Bestimmung der Pro-           trachtung bzw. Auswertungsphase. Hier werden die Ergeb-
duktqualität eines Softwaresystems (vgl. [5] S. 503 ff.). Durch           nisse überprüft und hinsichtlich der potentiellen Fehlerquel-
Leistungstests können zwei grundsätzliche Fragestellungen be-             len analysiert.
antwortet werden:
                                                                     Daraus wird für die praktische Umsetzung folgender Ablauf abge-
ƒ    Wie viele Daten kann das System verarbeiten?                    leitet:
ƒ    Wie lange braucht das System für die Datenverarbeitung?         1.   Aufgabe stellen; durch den Lehrenden

Zusätzlich können hier auch die Dimensionen der Belastung ein-       2.   Vorbetrachtung; durch den Studierenden
gegliedert werden. Hierzu zählen die Tests unter normalen Bedin-     3.   Überprüfung; durch den Lehrenden
gungen des Regelbetriebs, das Testen im Grenzbereich durch           4.   Praktikumsversuch; durch den Studierenden
Lasttests und das bewusste Überschreiten des Grenzbereichs
durch Stresstests.                                                   5.   Nachbetrachtung; durch den Studierenden
                                                                     6.   Evaluation des Experiments; durch den Lehrenden

                                                                     Bei der Formulierung der Aufgabenstellung sind zwei Extreme
                                                                     denkbar. Zum einen besteht die Möglichkeit, die Aufgabe völlig
                                                                     offen und ohne Restriktionen zu stellen, z.B. „Untersuchen Sie
                                                                     das System in Bezug auf CPU, Arbeitsspeicher und Storage!“.
                                                                     Zum anderen kann durch eine geschlossene Aufgabenstellung die
                                                                     Aufgabe so klar formuliert sein, dass der Student einen fest vor-
                                                                     geschriebenen Weg beim Abarbeiten der Aufgabe einschlägt und
                                                                     garantiert zum Ziel kommt. Beide Varianten haben nach Meinung
                                                                     der Autoren ihre Vor- und Nachteile (siehe Tabelle „Vor- und
                                                                     Nachteile bei der Aufgabenstellung“). Die zweckmäßigere Va-
                                                                     riante soll im Rahmen des Projekts ermittelt werden.


Abbildung 1: Systemtest




18
                                                                          Datenbank-Performance-Experimente in der Lehre

      Tabelle 1: Vor- und Nachteile bei der Aufgabenstellung          tlich der in der Vorbetrachtung getroffenen Hypothese. Hier soll
                                                                      der Student durch eine ehrliche und realistische Einschätzung
    Offene Aufgabenstellung          Aufgabenstellung mit Rest-       seiner ursprünglichen Annahme das Resultat seines Versuchs
                                     riktionen                        bewerten. An dieser Stelle sollte auch eine Fehleranalyse mit
                                                                      einfließen. Neben der technischen Beurteilung zählen auch die
    + Der Student kann sich frei     + Ergebnis ist schnell über-     Wirtschaftlichkeitsbetrachtungen (Verhältnis zwischen Nutzen
    entfalten                        prüfbar                          und Aufwand/Kosten) zu den Erfordernissen dieser Phase.
                                                                      Abschließend wird das Experiment vom Lehrenden evaluiert.
    + Neue Erkenntnisgewinne         + Ergebnis ist nachvollziehbar   Zum einen wird im Rahmen der Evaluation die Einhaltung der
                                                                      formalen Vorgehensweise geprüft, hier die Phasen des Experi-
    + Vielfältige Ergebnisse sind    + Ergebnisse sind vergleich-     ments und die Dokumentation. Zum anderen wird die Plausibilität
    möglich                          bar                              begutachtet. An dieser Stelle müssen die Vor- und Nachbetrach-
                                                                      tung in einem logischen Zusammenhang stehen, d.h. wurde in der
    - Ergebnis ist ungewiss          - Erkenntnisgewinn ist vorge-    Nachbetrachtung auch auf genau das eingegangen, was in der
                                     schrieben                        Vorbetrachtung geplant wurde. Das setzt natürlich voraus, dass in
                                                                      der Durchführungsphase auch das umgesetzt wurde, was in der
    - Ergebnis und Experiment        - Experiment lässt wenig Platz   Vorbetrachtungsphase angesetzt wurde.
    evtl. nicht nachvollziehbar      für Eigeninitiative
                                                                      Der Evaluationsaufwand steigt natürlich auch mit steigendem
                                                                      Grad einer offenen Aufgabenstellung. Hier ist ganz besonders
    - Ergebnisse eventuell schwer    - Gänzlich neue Erkenntnis-
                                                                      darauf zu achten, wie die Studierenden vorgegangen sind und wie
    vergleichbar                     se/Lösungswege sind kaum
                                                                      plausibel der eingeschlagene Lösungsweg ist. Näher betrachtet
                                     möglich
                                                                      werden muss an dieser Stelle der wissenschaftliche Anspruch des
                                                                      Lösungswegs.
Folgende Themengebiete sind beispielsweise für das Praktikum
denkbar:
ƒ      Erkundung der Systemeigenschaften
ƒ      Einfluss der SQL-Statements
ƒ      Nutzen und Wirkung von Indexen
ƒ      Arbeiten mit Puffern
Die Experimente werden durch den Studenten vorbereitet. In
dieser ersten Phase müssen sich die Studenten die Aufgabenstel-
lung genau versinnbildlichen und eine Zielstellung definieren. Im
Anschluss daran gilt es den Lösungsweg zu planen. Dabei sollen
theoretische Grundkenntnisse und das spezifische Fachwissen aus
den Lehr- und Übungsveranstaltungen ebenso dienen, wie Kenn-
tnisse und Fähigkeiten, welche sich die Studenten für die Aufga-
benerfüllung selbstständig aneignen müssen. Desweiteren sollen
die Prämissen der Planungsphase laut K. Reich zum Tragen
kommen (siehe oben), d.h. die Studenten sollen mittels des er-
langten Wissens eine Hypothese parallel zur Aufgabenstellung
formulieren und diese Annahme dann durch ihren Praktikumsver-
such entweder bestätigen oder widerlegen. Wenn eine Aufgabe
beispielsweise verlangt eine bestimmte Datenmenge aus einer
Datenbank einerseits mit einem SQL-Statement und andererseits
mit Programm-Code (z.B. PHP, Java) abzufragen, dann könnten
die Studenten hier die Hypothese aufstellen, dass das Abfragen
mittels SQL performanter als das Abfragen mit Programm-Code
ist. Als Ergebnis der Vorbetrachtung entsteht der Protokollent-
wurf.
Erst bei ausreichender Vorbetrachtung des Experiments, wird die
Durchführung durch den Lehrenden möglich gemacht, hierzu
erfolgt eine Überprüfung. Während des Praktikumsversuchs wird
der Vorplanung entsprochen und die Aufgabenstellung praktisch
gelöst. Die Ergebnisse werden in einem (Mess-)Protokoll festge-
halten.                                                               Abbildung 2: Ablauf eines Experiments
Nach erfolgreicher Durchführung des Praktikumsversuchs, wer-
den die Ergebnisse in der Auswertungsphase (Nachbetrachtung)
zusammengefasst und beurteilt. Die Beurteilung erfolgt hinsich-




                                                                                                                                   19
Datenbank-Performance-Experimente in der Lehre

Für die Durchführung der Praktikumsversuche soll ein im Vorfeld                    Tabelle 2: Aufteilung der Gruppen
festgelegter Wochentag, der Versuchstag, dienen. Die Festlegung                                         Studierendenzahl
auf einen solchen Versuchstag und den übrigen „normalen“ Tagen
erfolgt einerseits aus lehrbedingten und andererseits aus techni-                                  40           60            80
schen Gründen. Die Studenten sollen Erfahrungen mit einem
                                                                                      2            20           30            40
technisch „großen“ Umfeld sammeln können. Das bedeutet, dass
sie die Performance von umfangreichen Datenbanken in leis-           Gruppen-         3        12*3+1*4         20        24*3+2*4
tungsstarken Experimentierumgebungen (Servern) testen sollen.         stärke
An den Versuchstagen stehen diese Experimentierumgebungen                             4            10           15            20
zur Verfügung. An den übrigen Tagen haben die Studenten Zu-                           5             8           12            16
griff auf wesentlich „kleinere“ Umgebungen, um ihre Prakti-
kumsversuche vorbereiten bzw. nach den Versuchen Nacharbei-
ten durchführen zu können. Genaueres zum Zusammenspiel der           Es wird für die weitere Planung von einer maximalen Gruppen-
beiden Umgebungsarten ist im vierten Kapitel nachzulesen.            zahl von 20 Gruppen ausgegangen, d.h. bei einer Studierenden-
                                                                     zahl von 40-80 Studierenden eine Gruppenstärke von 2-4 Studie-
Die Zeit zwischen den Versuchstagen soll durch den Studenten         rende je Gruppe. Innerhalb der einzelnen Gruppen müssen dann
für die Vorbereitung und Nachbereitung seines Versuchs dienen.       die aus dem Einzelexperiment abgeleiteten Aufgaben entspre-
Die jeweiligen Schritte der Experimente werden durch den Stu-        chend aufgeteilt werden. Ist die Studierendenzahl über 80, muss
denten dokumentiert und lassen sich zum Abschluss des Prakti-        die Gruppengröße auf 5 erhöht werden, um die Gesamtgruppen-
kums als Basis für die Prüfungsnote nutzen.                          zahl von 20 nicht zu überschreiten.

2.3 Zusammenhang zwischen Performance-                               3.2 Rolle des Studierenden
Test und Experimenten                                                Der Studierende wird während der Experimente selbst aktiv.
In der Informatik kann man Performance-Tests zu den Experi-          Durch entsprechende theoretische Vor- und Nachbetrachtungen
menten zählen (vgl. [7] S. 233 ff.). Wie in jedem Test folgen auch   wird er ein optimales Verhältnis zwischen Theorie und Praxis
Performance-Tests einer bestimmten Abfolge. Tests werden ge-         erhalten. Er schult neben den rein fachlichen Fähigkeiten auch
plant und im Anschluss durchgeführt. Die Ergebnisse des Tests        andere Kompetenzen. So muss er gerade in der Zusammenarbeit
werden dokumentiert und ausgewertet. Genauso wie Experimente         mit anderen Studierenden seine Kommunikationsfähigkeit schu-
müssen Tests auch vergleichbar und reproduzierbar sein. Wenn         len und auch sich selbst und die Gruppe in der er arbeitet organi-
man diesem allgemeinen Vorgehen folgt, lassen sich hier Paralle-     sieren. Bei der jeweiligen Gruppenorganisation wird vorausge-
len zum Experiment ziehen. Die Studenten sollen diese Parallelen     setzt, dass sich die Studierenden eigenständig für die Aufgaben
erkennen und sie für den Aufbau der Experimente nutzen.              einteilen, bei denen ihre fachlichen Stärken liegen (z.B. Doku-
                                                                     mentation, Programmierung, System-Administration). Als primä-
3. Organisation der Lehre                                            re Anforderung an den Studierenden muss dessen Interesse, neue
Nachdem die Begriffe Experiment und Performance-Test be-             Sachverhalte zu entdecken, geweckt werden (vgl. [3] S. 12). Die
schrieben sind, soll nun gezeigt werden, wie das Experiment die      Fähigkeit, eventuell auftretende Konflikte frühzeitig zu erkennen
Lehre beeinflusst. Es wird dabei auf die Aufteilung der in der       und diese abzustellen, wird als sekundäre Anforderung angese-
Lehrveranstaltung teilnehmenden Studenten und die daraus resul-      hen.
tierenden Gruppenstärken ebenso eingegangen, wie auf die Rolle
des Lehrenden und des Studenten bei dieser Form der praktischen      3.3 Rolle des Lehrenden
Übung                                                                Dem Lehrenden wird während des Experiments eher die passiv
                                                                     unterstützende Rolle zu teil. Er führt in den Vorlesungen in die
3.1 Aufteilung der Lehrveranstaltung                                 Thematik ein und vermittelt dabei die theoretischen Grundlagen
     Für die Experimente sollen sich die Studierenden in Gruppen     (vgl. [3] S. 11). Während der Experimente wird er beratend zur
zusammenfinden. Die Arbeit im Team wird erfahrungsgemäß              Seite stehen und dem Studenten bei Bedarf Denkanstöße geben.
bessere Ergebnisse hervorbringen als Einzelarbeit, da sich die       Er muss nach der Vorbereitungsphase eine erste Überprüfung des
Studenten mit ihren unterschiedlichen Wissensständen austau-         Aufbaus und des Experiments durchführen, bevor er den Prakti-
schen und somit ergänzen können. Zudem ist die Bildung von           kumsversuch durchführen lässt. Es wäre hier vorstellbar Lern-
Gruppen der Ressourcenplanung dienlich, wie in Kapitel vier          plattformen wie Moodle [11] einzusetzen, um in einem kurzen
ersichtlich wird.                                                    Wissenstest die Vorbereitung zu überprüfen. Auch die Ergebnisse
                                                                     des Praktikumsversuchs (z.B. das Messprotokoll) können via
In der Fachhochschule Brandenburg im Studiengang Wirtschafts-        Moodle verwaltet und überprüft werden.
informatik wird pro Semester mit einer Studierendenzahl von bis
zu 80 Studenten ausgegangen. Dabei ist eine Aufteilung in maxi-
mal 20 Gruppen noch handhabbar. So können diese 20 Gruppen           4. Ressourcenplanung
ihre Praktikumsversuche (am Versuchstag) in maximal 4 Blöcken        Um den Studentengruppen die Möglichkeit der praktischen Arbeit
á 90 Minuten durchführen. Es ergibt sich folgende Matrix der         zu geben, sind Experimentierumgebungen auf und mit speziellen
Gruppenstärke und Aufteilung:                                        Systemen (Hardware und Software) notwendig.




20
                                                                          Datenbank-Performance-Experimente in der Lehre

4.1 Einsatz von Virtualisierung                                       sind, bleiben die Versuchs-VMs inaktiv (siehe nachfolgende Ab-
Für die Lehre der Messung von Datenbank-Performance ist es            bildung).
wichtig, dass in einem Umfeld gearbeitet wird, in dem keine oder      Die eigentlichen Praktikumsversuche werden auf den Versuchs-
nur sehr wenige Leistungsschwankungen bzgl. der Hardware zu           systemen mit großen VMs realisiert. Diese VMs besitzen eine
erwarten sind. Grundsätzlich kann es eine mögliche Lösung sein,       große Datenbank und deutlich mehr Leistung und ermöglichen
in die bestehende Infrastruktur der Hochschule einen zusätzlichen     Performance-Tests in großem Umfang. Zeitlich werden die Ver-
Server oder ein Server-Blade zu integrieren, welcher von anderen      suchs-VMs so geschaltet, dass an den Versuchstagen die Entwick-
Servern zumindest Software-seitig abgekapselt wird.                   lungs-VMs der Gruppen abgeschaltet und die Versuchs-VMs
                                                                      aktiviert werden.
Nun stellt das gleichzeitige Arbeiten der Studentengruppen auf
einem und demselben Server keine gute Lösung dar, da kaum             Nach den Praktikumsversuchen, werden die Systeme entspre-
feststellbar ist, welche Server-Ressource oder Software gerade        chend umgedreht wieder aktiviert bzw. deaktiviert.
von einer bestimmten Gruppe beansprucht wird. Hier sind ein           In der nachfolgenden Abbildung sind die schematische Aufteilung
eindeutiges Messen der Performance und somit vergleichbare            der unterschiedlichen VM-Gruppen und deren Aktivität ersich-
Experimente nicht möglich.                                            tlich.
Die Lösung stellt hier die Server-Virtualisierung dar. „Die Virtua-
lisierung abstrahiert die physische Hardware vom Betriebssystem.
Die klassische 1:1-Verbindung von Hardware und Betriebssys-
tem, die man vor allem in der PC-Welt kennt, wird aufgehoben;
dazwischen wird eine neue Schicht gelegt, die diese Abstraktion
vornimmt, die Virtualisierungsschicht.“ ([10] S. 33) Die Aufgabe
des Virtualisierens für die Experimentierumgebung übernimmt
das VMware-Produkt vSphere mit seinem ESX Server (siehe
nachfolgende Abbildung).




                                                                      Abbildung 4: Aufbau der Experimentierumgebung
                                                                      Durch Anfertigen von Clones (Klone) der ersten angelegten VM
                                                                      pro VM-Gruppe kann schnell die gewünschte VM-Anzahl er-
Abbildung 3: Konventioneller Server-Aufbau (links) versus             reicht werden, ohne jede VM einzeln auf herkömmlichem Wege
Server-Virtualisierung (rechts) ([10] S. 33)                          anlegen zu müssen.
Durch die Virtualisierung können auf dem Server mehrere virtuel-      Die zugrundeliegenden Ressourcen, sprich die physische Hardwa-
le Maschinen (VMs) eingerichtet werden, innerhalb derer die           re des Servers, wird unter den jeweils aktiven VMs fest aufgeteilt.
Studenten dann ihre Experimente unter gleichen Rahmenbedin-
gungen (Vereinheitlichung der Hardware bzw. virtuellen Hardwa-        Mit der Virtualisierungs-Lösung können folgende positive Nebe-
re) durchführen können. Jede VM erhält dann ihr eigene Soft-          neffekte für das Praktikum erreicht werden:
wareumgebung, wie Betriebssystem (engl.: Operating System
oder kurz: OS), Datenbank und weitere Applikationen (App), wie        ƒ    Performance-Steigerung der Systeme
beispielsweise Performance-Tools. Dies ist in der obigen Abbil-       ƒ    Berücksichtigung von Aspekten der Green-IT (Einsparung
dung durch die kleinen Würfel dargestellt.                                 von Hardware, Verringerung des Stromverbrauchs und
Die zum Einsatz kommenden VMs lassen sich in Entwicklungs-                 Kühlaufwands)
systeme und Versuchssysteme unterteilen. Die Systeme unter-           ƒ    Gute Administrierbarkeit der Experimentierumgebung (Än-
scheiden sich im Wesentlichen durch ihr Leistungsspektrum und              derungen an den VMs, Zurücksetzen der VMs durch Snaps-
ihre Benutzung.                                                            hots) ([10] S. 34 ff.)
Für die Planung des Versuchsaufbaus kommen Entwick-                   Die genannten Nebeneffekte können den Studenten in der Lehre
lungssysteme zum Einsatz. Das sind kleine VMs, sprich VMs mit         kommuniziert bzw. selbst von ihnen erfahren werden.
einer geringeren Leistung und Konfiguration. Jede Gruppe erhält       Zudem kann als positiv angesehen werden, dass bei eventuellen
eine solche Entwicklungs-VM an der sie Änderungen vornehmen           Schäden am System lediglich eine VM betroffen sein wird und
kann bzw. bestimmte Teilaufgaben bereits im Vorfeld testen            nicht der Server bzw. die Hardware direkt. Die beschädigte VM
kann. Diese Systeme stehen den Gruppen zwischen den einzelnen         kann dann wieder in den Urzustand zurückgesetzt werden.
Versuchstagen zur Verfügung. Die Entwicklungssysteme erhalten
eine kleine Datenbank. Während die Entwicklungs-VMs aktiv




                                                                                                                                     21
Datenbank-Performance-Experimente in der Lehre

4.2 Konfiguration der virtuellen Maschinen                           werden, so dass in der Vorlesung ein Pool an Methoden und
Ausgehend von der Gruppenplanung aus dem Abschnitt 3.1 kann          Werkzeugen vorgestellt wird und der Student entscheidet im
die nachfolgende Konfiguration für die VMs abgeleitet werden.        Rahmen des Experiments, wie er vorgehen möchte. In der weite-
Hierbei wird lediglich auf die Zusicherungen von Arbeitsspeicher     ren Arbeit muss geprüft werden, welche der beiden Methoden den
und Festplattenkapazität eingegangen.                                Studenten am besten beim Lernprozess unterstützt.

Den Entwicklungs-VMs wird während der Entwicklungszeit 4 GB
Arbeitsspeicher zugesichert. Daraus resultiert ein Arbeitsspei-
                                                                     5. Fazit und Ausblick
                                                                     Performance ist wichtig. Das ist jedem, der mit Daten-
cherbedarf von 80 GB. Wird an dieser Stelle mit einer Reserve
                                                                     banksystemen zu tun hat, klar. Den Studierenden ein Gefühl für
kalkuliert, kommt man, in Anbetracht der gängigen Konfiguration
                                                                     diese Thematik zu geben, dass ist eine der Herausforderungen der
von RAM-Modulen, auf einen erforderlichen Arbeitsspeicher von
                                                                     Lehre. Um diese Herausforderung zu meistern, bieten sich Expe-
96 GB. Mit den 16 GB Reservespeicher kann unter anderem die
                                                                     rimente an. Dadurch kann der Student praktische Erfahrungen im
Gruppenzahl bei Bedarf erhöht werden (4 Gruppen mehr mit wie-
                                                                     Bereich Datenbank-Performance erlangen. Damit den Studenten
derum jeweils 4 GB RAM). Die Entwicklungs-VMs werden mit
                                                                     einheitliche Umgebungen zum Experimentieren zur Verfügung
einer kleinen Datenbank mit max. 4 GB Datenvolumen ausgestat-
                                                                     gestellt werden, bieten sich virtualisierte Systeme an. Dieser
tet (für vorbereitende Tests). Weiterhin wird zusätzlicher Storage
                                                                     Rahmen ist bekannt und darüber sind sich die Autoren einig. In
von 6 GB für das Betriebssystem, das DBMS und weitere Tools
                                                                     Zukunft muss gezeigt werden, wie die Aufgabenstellungen für die
(Performance-Tools) beansprucht. Eine Reserve von 2 GB Spei-
                                                                     Studenten zu formulieren sind und wie die Performance konkret
cher wird ebenfalls eingeplant. Daraus folgt für jede Entwick-
                                                                     zu messen ist. Im Studiengang Wirtschaftsinformatik muss neben
lungs-VM ein Storage-Bedarf von 12 GB. Bei 20 Gruppen bedeu-
                                                                     den technischen Details der Systeme auch immer die Wirtschaft-
tet das einen Storage von 240 GB. Rechnet man die 4 potentiellen
                                                                     lichkeit betrachtetet werden. Auch dieser Bereich muss in Zukunft
Entwicklungssysteme aus der Reserve hinzu, führt dies zu einem
                                                                     genauer betrachtet werden.
Speicherbedarf von 288 GB für die Entwicklungs-VMs.
Für die Versuchs-VMs sollen, wie in Abbildung 4 erkenntlich ist,
5 Systeme zur Verfügung stehen. Da zu den Versuchstagen sämt-        6. REFERENCES
liche Ressourcen den Versuchs-VMs zur Verfügung stehen sollen,       [1] Euler D.; Hahn A., Wirtschaftsdidaktik, 2004, 1. Auflage,
kann der gesamte Arbeitsspeicher (96 GB) entsprechend aufge-             Haupt Verlag, Bern
teilt werden. Das führt zu einem Arbeitsspeicher pro Versuchs-       [2] Schubert S.; Schwill 1., Didaktik der Informatik, 2004, 1.
VM von rund 19 GB. In Sachen Storage-Kapazität sollen je Ver-            Auflage, Spektrum Akademischer Verlag, München
suchssystem 80 GB vorgehalten werden (für Betriebssystem, DB,        [3] Reich K., Experiment, 2008, http://methodenpool.uni-
DBMS und Tools). Das führt zu einem Storage-Bedarf von 400               koeln.de/download/experiment.pdf Abruf: 28.03.2012
GB für die Versuchssysteme.
                                                                     [4] Faustmann; Höding; Klein; Zimmermann, Oracle- Da-
                                                                         tenbankadministration für SAP, 2007, 1. Auflage, Galileo
4.3 Server-Hardware                                                      Press, Bonn
Nachfolgend werden Eckpunkte der Server-Hardware genannt.
                                                                     [5] Balzert H.; Lehrbuch der Software- Technik, 1998 Spektrum
Für das Praktikum kommt ein Server-Blade zum Einsatz. Dieses
                                                                         Akademischer Verlag GmbH, Heidelberg; Berlin
Blade besteht aus zwei Prozessoren (CPUs) mit jeweils 6 Kernen
und 3.46 GHz. Desweiteren besitzt der Server, wie aus der Kalku-     [6] Schlimm N.; Novakovic M.; Spielmann R.; Knierim T., Per-
lation hervorgeht, 96 GB RAM. Der Gesamt-Storage, welcher in             formance-Analyse und -Optimierung in der Software-
den Berechnungen bestimmt wurde, beträgt ca. 700 GB. Hierfür             entwicklung, 2007, Informatik Spektrum, Springer-Verlag
stehen Hardware-seitig drei 450 GB Fibre Channel Festplatten zur     [7] Claus V.; Schwill A., Duden der Informatik, 2001, 3. Aufla-
Verfügung. Die großzügige Reserve soll eventuellen späteren              ge, Duden Verlag, Mannheim
Anforderungen gerecht werden.
                                                                     [8] Müller T., Leistungsmessung und -bewertung, 2004,
                                                                         Seminararbeit, Westfälische Wilhelms-Universität Münster,
4.4 Werkzeuge der Performance-Messung                                    http://www.wi.uni-muenster.de/pi/lehre/ss04/SeminarTesten/
Die Performance-Messung hat verschiedene Aspekte. Es müssen              Leistungsmessung.pdf Abruf: 28.03.2012
hier Methoden und Werkzeuge für die Umsetzung voneinander
abgegrenzt werden. So werden durch die Methoden einzelne Ver-        [9] Barrett D., Linux kurz und gut, 2004, 1. Auflage, O’Reilly
fahrensansätze für die Tests beschrieben. Mit „Werkzeuge“ sind           Verlag, Köln
hier die Tools zur Messung der entsprechenden Werte zusam-           [10] Zimmer D.; Wöhrmann B.; Schäfer C.; Baumgart G.; Wi-
mengefasst. Es gibt ein weites Spektrum an Tools, wobei immer             scher S.; Kügow O., VMware vSphere 4 - Das umfassende
die Aktualität und Verwendbarkeit der Werkzeuge geprüft werden            Handbuch, 2010, 1. Auflage, Galileo Press, Bonn
sollte. Auf der einen Seite können Tools genutzt werden, welche
                                                                     [11] http://moodle.de/ Abruf: 18.05.2012
in den jeweiligen Systemen, wie beispielsweise im Betriebssys-
tem oder im DBMS, vorhanden sind oder es können zusätzliche          [12] Barth; Schneemann; Oestreicher, Nagios: System- und
Werkzeuge zum Einsatz kommen, wie z.B. Nagios [12]. Für die               Netzwerk-Monitoring, 2012, 3. Auflage, Open Source Press
Wahl der Methoden und Werkzeuge bestehen mehrere Möglich-
keiten, zum einen können feste Vorgaben durch den Lehrenden
gemacht werden und zum anderen kann der Einsatz freigestellt




22
                      Migration nicht-nativer XML-Strukturen
                           in den nativen XML-Datentyp
                        am Beispiel von DB2 for z/OS V9.1
                                                        Christoph Koch
         Friedrich-Schiller-Universität Jena
          Lehrstuhl für Datenbanken und                                                      DATEV eG
                Informationssysteme                                                         Datenbanken
                 Ernst-Abbe-Platz 2                                                      Paumgartnerstr. 6-14
                     07743 Jena                                                            90429 Nürnberg
         Christoph.Koch@uni-jena.de                                                Christoph.Koch@datev.de


KURZFASSUNG
Mit der Einführung der pureXML-Technologie [4] bietet das von
                                                                   1. EINLEITUNG
                                                                   Seit die Extensible Markup Language (XML) im Jahr 1998 vom
IBM entwickelte Datenbankmanagementsystem (DBMS) DB2 for
                                                                   World Wide Web Consortium (W3C) verabschiedet wurde,
z/OS die Möglichkeit, XML-Daten nativ zu speichern und XML-
                                                                   entwickelte sie sich fortlaufend weiter zum De-facto-Standard für
spezifisch zu verarbeiten. Die native Art der XML-Ablage
                                                                   den Austausch von (semi-)strukturierten Daten. Damit einher ging
verspricht gegenüber der nicht-nativen XML-Speicherung zahl-
                                                                   auch der verstärkte Einzug von XML in den Datenbanksektor [6],
reiche Vorzüge, die es sinnvoll werden lassen, im Unternehmen
                                                                   sodass sich sowohl dedizierte XML-DBMS herausbildeten, als
vorhandene nicht-native XML-Daten in die native Struktur zu
                                                                   auch herkömmliche relationale Systeme um XML-Strukturen
überführen. Der vorliegende Beitrag setzt genau an dieser
                                                                   erweitert wurden.
Migrationsthematik auf und zielt darauf ab, sowohl die einzelnen
für eine solche Migration notwendigen Schritte aufzuzeigen, als    Die einfachste und älteste Form, XML-Daten in relationalen
auch deren Performance in Relation zum Gesamtaufwand der           DBMSen zu speichern, ist die nicht-native XML-Speicherung, die
Überführung nicht-nativer XML-Dokumente in die native XML-         die datenbankseitige Ablage von XML-Daten als Binär- oder
Speicherform zu evaluieren.                                        Character-Strings vorsieht [7]. Demgegenüber existieren seit
                                                                   jüngerer Zeit auch native XML-Speichermöglichkeiten, wie
Die Ergebnisse dieses Beitrags basieren auf der Grundlage der
                                                                   beispielsweise die hier betrachtete in DB2 implementierte
Arbeiten [1] und [2], die im Rahmen einer umfassenden
                                                                   pureXML-Technologie und der damit verbundene native XML-
Untersuchung der XML-Unterstützung von DB2 for z/OS V9.1
                                                                   Datentyp.
seit 2010 in der DATEV eG angefertigt wurden und richten sich
daher insbesondere an den dortigen Anforderungen aus.              Da die native XML-Speicherung verglichen mit den verschie-
                                                                   denen nicht-nativen Ablageformen diverse Vorteile hinsichtlich
Kategorien und Themenbeschreibung                                  Performance, Flexibilität und Kosteneffizienz verspricht [4],
Database Performance and Benchmarks                                besteht auf langfristige Sicht das Ziel darin, „alte“ nicht-native
                                                                   Datenbestände in die „neue“ native Form der XML-Speicherung
                                                                   zu überführen. Die dazu notwendige Migration charakterisiert
Allgemeine Bestimmungen                                            sich im Kontext von DB2 for z/OS durch den in den folgenden
Management, Measurement, Performance, Design, Languages            Abschnitten beschriebenen Ausgangs- und Zielzustand.

Schlüsselwörter                                                    1.1 Ausgangszustand
XML, nicht-nativ, nativ, Migration, Methodik, Performance          Den Ausgangszustand der hier betrachteten Migrationsthematik
                                                                   bilden nicht-native XML-Dokumente, die im Fall der DATEV eG
                                                                   vorrangig in Form des VARCHAR- oder CLOB-Datentyps als
                                                                   Character-String und noch spezieller in bestimmten Kontexten
                                                                   über mehrere Tupel verteilt gespeichert sind. Solche Dokumente
                                                                   sind in unserem Kontext zum Beispiel von einer OCR-Software
                                                                   ins XML-Format digitalisierte Belege. Auf die genannten Beson-
                                                                   derheiten der nicht-nativen Speicherformen wird nun konkreter
                                                                   eingegangen.

24th GI-Workshop on Foundations of Databases (Grundlagen von
Datenbanken), 29.05.2012-01.06.2012, Lübbenau, Germany.
Copyright is held by the author/owner(s).




                                                                                                                                 23
Migration nicht-nativer XML-Strukturen in den nativen XML-Datentyp am Beispiel von DB2 for z/OS V9.1

„Nicht-nativ“ bedeutet der Wortherkunft nach „nicht natürlich“.                                                               nicht-natives XML
                                                                         
Bezogen auf die nicht-native oder auch XML-enabled genannte                                                Tupel     Mustermann
                                                                                              Tupel     name>408-555-1358
nötigen [5]. Beispiele für nicht-native XML-Speicherformen sind                                   Tupel     e>
                                                                                                                   3
die Ablage von XML-Dokumenten als Binär- oder Character-
String (siehe Abbildung 1) oder auch das Konzept der XML-
                                                                                 Abbildung 2: Verteilung über mehrere Tupel
Dekomposition. Letzteres basiert auf der Zerlegung von XML-
Dokumenten in relationale Strukturen. DB2 stellt hierzu die             1.2 Zielzustand
XMLTABLE-Funktion [11] bereit.
                                                                        Entgegen dem zuvor beschriebenen Ausgangszustand erfordert
Die weiteren Ausführungen dieses Beitrags konzentrieren sich            der native Zielzustand der in diesem Beitrag betrachteten XML-
aber wegen ihrer höheren Relevanz für die DATEV eG aus-                 Migration keine Variationen. Dies begründet sich durch die eine
schließlich auf die nicht-native XML-Speicherform als Character-        in DB2 implementierte, optimierte und sich implizit selbst ver-
String und betrachten dabei speziell die Verwendung des CLOB-           waltende native XML-Speicherform, die auf speziell angepassten,
Datentyps. In diesem Fall wird für die betrachtete Migration als        aus der relationalen Welt bereits bekannten Strukturen basiert
Mapping die zentrale Funktionalität des XML-Parsens benötigt.           (siehe Abbildung 3). Hierzu zählen, ähnlich zur LOB-Speicher-
Dabei werden nicht-native XML-Daten in die native Speicher-             ung, in XML-Tablespaces befindliche XML-Auxiliary-Tabellen,
form transformiert. Nähere Details dazu folgen in Abschnitt 2.4.        die über DocIDs und NodeIDs mit den Ausgangstabellen
                                                                        verknüpft sind. Die gesamten XML-Strukturen sind aber so
                nicht-native
                                                                        gestaltet, dass sie aufgrund ihrer impliziten Verwaltung durch
             XML-Speicherformen                                         DB2 dem Nutzer gegenüber transparent bleiben und ihm somit
                                                                        nur als „normale“ Spalte vom Datentyp XML sichtbar werden.
                                                                        Dadurch hat er allerdings auf der anderen Seite unter anderem
     Binary-String        Character-String                              keinen auch Einfluss auf den verwendeten Zeichensatz, sodass der
                                                                        native XML-Datentyp in DB2 stets die Unicode-Codepage UTF-8
                                                                        nutzt [10].
        CHAR                 VARCHAR                   CLOB

                                                                                                         XML-
 Abbildung 1: nicht-native XML-Speicherformen (Auswahl)                                                Tablespace

In der DATEV eG werden XML-Daten zum aktuellen Zeitpunkt                                                        (1:1)
nicht-nativ in der EBCDIC-Codepage gespeichert. Dabei handelt
                                                                                                             XML-
es sich um einen seit langem etablierten Single-Byte-Zeichensatz,                                          Auxiliary-
der zur Repräsentation von Character-Daten genutzt wird und nur                                             Tabelle
einen verglichen mit heutigen Standards wie Unicode geringen
Zeichenvorrat abdeckt.
                                                                                                             min_
Für die hier betrachtete nicht-native XML-Speicherform des                                  DocID                          XMLData
                                                                                                            NodeID
CLOB-Datentyps gelten diverse Einschränkungen hinsichtlich
seiner Länge. Zwar kann ein CLOB-Dokument DB2-seitig                    Abbildung 3: implizite XML-Verwaltungsobjekte (nach [10])
prinzipiell eine maximale Länge von 2 GB besitzen. Diese lässt
sich jedoch durch die DB2-Subsystem-Parameter LOBVALA [8]
und LOBVALS [9] weiter einschränken, sodass per Default zur             2. MIGRATIONSSCHRITTE
Ressourceneinsparung bei der (Haupt-)Speicheradressierung ma-           Ziel einer Datenmigration ist es, Informationen aus bestehenden
ximal 10 MB große LOB-Dokumente in DB2 verarbeitet werden               Ausgangsstrukturen in spezielle Zielstrukturen zu transformieren.
können. In der DATEV eG wird von diesem Standardwert gering-            Die dazu notwendigen Teilschritte sind daher die direkte Kon-
fügig nach oben abgewichen (aktuell 30 MB). Somit fällt die             sequenz der Differenzen beider Strukturen. Übertragen auf die
tatsächlich mögliche Maximallänge eines CLOB-Dokuments in               hier betrachtete Migration leitet sich auf diese Weise die in
unserem Kontext wesentlich kleiner als die genannten 2 GB aus.          Abbildung 4 dargestellte Folge von Migrationsschritten ab, auf die
                                                                        in den kommenden Abschnitten näher eingegangen wird.
Nicht zuletzt infolge dieser praktizierten Einschränkungen hat
sich zur DB2-seitigen Speicherung großer XML-Dokumente in                                      (2.2)                      (2.4)
der DATEV eG das nachfolgend beschriebene Verfahren etabliert.                             Konkatenation                XML-Parsen
                                                                        VARCHAR/
Derartige Dokumente werden anwendungsseitig, wie in Abbil-                                                                                 XML
                                                                          CLOB
dung 2 beispielhaft dargestellt, nötigenfalls in kleine, in der Regel                                   Unicode-
                                                                                                      Konvertierung
nicht wohlgeformte Teile „zerschnitten“ und diese über mehrere
                                                                                                          (2.3)
(CLOB-)Tupel hinweg datenbankseitig abgelegt. Eine ähnliche              Vorverarbeitung
Diskussion wird in [1] und [2] auch für die nicht-native XML-                 (2.1)
Speicherung als VARCHAR geführt.
                                                                                       Abbildung 4: Ablauf der Migration




24
       Migration nicht-nativer XML-Strukturen in den nativen XML-Datentyp am Beispiel von DB2 for z/OS V9.1

2.1 Vorverarbeitung                                                    ursprünglichen EBCDIC-Inhalte im Rahmen einer Migration in
Der Schritt der Vorverarbeitung nimmt eine besondere Rolle in          den Unicode-Zeichensatz überführt werden. Hierzu dient der
der Abfolge der Migration ein, da seine Bedeutung zum einen            Migrationsschritt der Unicode-Konvertierung.
nicht direkt aus der geschilderten Zustandsdifferenz deutlich wird.
Zum anderen lässt sich eine Vorverarbeitung aber auch von der
                                                                       2.4 XML-Parsen
                                                                       Der wesentlichste Teil bei der Überführung von nicht-nativen
eigentlichen Migrationsfolge (siehe Abbildung 4) losgelöst durch-
                                                                       XML-Dokumenten in den nativen XML-Datentyp besteht in dem
führen. Dies erklärt sich durch den funktionalen Zweck des dabei
                                                                       Schritt des XML-Parsens. Dieser dient dazu, die textual (oder
stattfindenden Vorgangs, der im Wesentlichen darin besteht, die
                                                                       binär) repräsentierten Ausgangsdokumente auf ihre Gültigkeit zu
Ausgangsdaten zu bereinigen.
                                                                       überprüfen und in die hierarchische native XML-Struktur zu
Ein derartiger Bereinigungsvorgang ist in unserem Szenario nötig,      überführen. Nähere Details zu dieser speziellen (nativen) Spei-
da aufgrund des beschränkten Zeichenvorrats der EBCDIC-                cherform sind bereits in Abschnitt 2.2 angedeutet worden, sollen
Codepage bestimmte Zeichen nicht dargestellt und infolgedessen         hier aber nicht weiter vertieft werden. Eine ausführliche Dar-
als Substitution-Character (HEX: 3F) substituiert werden. Dieser       stellung dazu liefert [1].
Substitution-Character ist jedoch ein ungültiges Zeichen und wird
                                                                       Aus theoretischer Sicht lässt sich hinsichtlich der erwähnten
vom XML-Parser in DB2 nicht akzeptiert. Damit nicht-native
                                                                       Gültigkeitsprüfung nicht ausschließen, dass es unter bestimmten
XML-Dokumente mit enthaltenen ungültigen Zeichen aber
                                                                       Bedingungen – beispielsweise bei dem Vorhandensein ungültiger
dennoch migriert werden können, ist es notwendig, durch eine
                                                                       Zeichen im Ausgangsdokument (siehe Abschnitt 2.1) – beim
Vorverarbeitung diese ungültigen Zeichen durch gültige zu
                                                                       XML-Parsen zu Fehlersituationen kommt. Für den speziellen, hier
ersetzen. Ein solcher Ersetzungsvorgang kann bereits auf dem
                                                                       betrachteten Kontext der Migration gilt dies allerdings nur
Ausgangsdatenbestand durchgeführt werden und ist somit für den
                                                                       bedingt. Zum einen werden aktuell sämtliche XML-Dokumente in
direkten Migrationsablauf unkritisch. Eine genauere Unter-
                                                                       der DATEV eG bereits vor ihrem Einfügen in DB2 anwendungs-
suchung der Performance dieses Vorverarbeitungsschritts erfolgt
                                                                       seitig geparst und zum anderen dient bereits der in Abschnitt 2.1
daher in Abschnitt 3.2 nicht.
                                                                       angesprochene Migrationsschritt dazu, verbleibende Fehler in den
2.2 Konkatenation                                                      Ausgangsdaten zu bereinigen. Sollten dennoch Probleme während
Während beliebig große XML-Dokumente nicht-nativ durch das             der Migration auftreten, sieht das in [1] diskutierte Konzept zur
in Abbildung 2 dargestellte Aufteilen DB2-seitig abgelegt werden,      Migration auch für diesen Fall gezielte Fehlerbehandlungsmaß-
gilt diese Einschränkung für die XML-Speicherung unter Ver-            nahmen vor. Nähere Details dazu sollen hier nicht angefügt
wendung des nativen XML-Datentyps nicht. Zwar werden native            werden, sodass für die weitere Abhandlung die Korrektheit der
XML-Dokumente intern auch auf verschiedene Tupel verteilt              Ausgangsdaten angenommen wird.
gespeichert, dies aber erfolgt implizit knotenabhängig und gestal-     DB2 nutzt zum XML-Parsen die gleichnamige XMLPARSE-
tet sich dem Nutzer gegenüber somit vollständig transparent [1].       Funktion [11], die neben einer spezifizierbaren Option zur unter-
Für die betrachtete Migration resultiert daher folgende Kon-           schiedlichen WHITESPACE-Handhabung (siehe Abbildung 5)
sequenz: „zerteilte“ nicht-native XML-Dokumente müssen zur             auch zur XML-Schemavalidierung herangezogen werden kann. In
Überführung in den nativen XML-Datentyp wieder konkateniert            der Nachfolgeversion 10 des hier betrachteten DB2 for z/OS V9.1
werden.                                                                existieren zusätzlich auch andere Möglichkeiten, XML-Dokumen-
Um diesen Vorgang der Konkatenation möglichst performant zu            te gegen ein XML-Schema zu validieren. Weitere Informationen
gestalten, sind in [1] und [2] die datenbankseitigen Vorgehens-        dazu und zur XML-Schemavalidierung allgemein finden sich in
weisen Konkatenation per Stored Procedure und Konkatenation            [2]. Die hier diskutierte XMLPARSE-Funktion nutzt intern die
per Recursive SQL untersucht worden. Dabei hat sich erstere klar       z/OS-XML-System-Services [12] und ermöglicht auf diese Weise
als die effizientere Variante herausgestellt, wobei sich bereits mit   das effiziente XML-Parsen nicht-nativer XML-Dokumente.
Blick auf Abschnitt 3.2 vorwegnehmen lässt, dass auch diese
Form der Konkatenation einen erheblichen Anteil am Gesamt-                            
aufwand der Migration einnimmt. Wesentlich effizienter als die                          
                                                                                            Ich bin ein Text!
hier betrachteten Verfahren der expliziten Konkatenation wäre die
                                                                                        
direkte Unterstützung einer iterativen Eingabe von nicht-nativen                      
Dokumentteilen durch den XML-Parser. Hierzu stellt DB2 stellt
allerdings keine Mechanismen bereit. Insgesamt sei aber noch-                               WHITESPACE beibehalten
mals darauf hingewiesen, dass die in Abbildung 2 gezeigte                                    (PRESERVE WHITESPACE)
Zerteilung und damit auch die Konkatenation eher eine Art
Sonderform darstellt, die nur in verhältnismäßig wenigen Fällen
                                                                                      WHITESPACE abschneiden
(sehr große XML-Dokumente) anzutreffen ist.
                                                                                          (STRIP WHITESPACE)

2.3 Unicode-Konvertierung
Zum aktuellen Zeitpunkt überwiegt in unserer Arbeitsumgebung                          Ich bin ei
in DB2 deutlich der Anteil von EBCDIC- gegenüber Unicode-                             n Text!
Daten. Demzufolge sind auch nicht-native XML-Dokumente
wie in Abschnitt 1.1 beschrieben in der EBCDIC-Codepage
codiert abgelegt. Da aber für den nativen XML-Datentyp in DB2
                                                                                Abbildung 5: WHITESPACE-Handhabung
strikt die Unicode-Codepage UTF-8 vorgegeben ist, müssen die




                                                                                                                                    25
Migration nicht-nativer XML-Strukturen in den nativen XML-Datentyp am Beispiel von DB2 for z/OS V9.1

3. PERFORMANCE                                                       3.2 Analyse der Migrationskosten
Die Ermittlung von Performance-Kennzahlen zu der in diesem           Gemäß der eingangs angedeuteten Vorgehensweise erfolgt die
Beitrag betrachteten Migration basiert auf einer Differenzbildung    Ermittlung der Performance der einzelnen Migrationsschritte
der Kosten verschiedener Folgen einzelner INSERT-Statements          durch die sukzessive Aufschlüsselung der Gesamtkosten der
von CLOB-Daten bezogen auf das in Abschnitt 3.1 beschriebene         Migration in einzelne (Teil-)Prozessketten. Die anschließenden
Vergleichskriterium. Zur Interpretation der dabei gewonnenen         Ausführungen betrachten daher die folgenden Messreihen.
Resultate ist es wichtig, einen groben Überblick über die aktuell
in der DATEV eG eingesetzte DB2-Infrastruktur geben. Hierzu                            CLOB-INSERT (Basiskosten)
seien die folgenden Daten angeführt.                                                   CLOB-INSERT (inklusive Unicode-Konvertierung)
        zSeries = z196 (neueste Generation)                                           XML-INSERT (inklusive Unicode-Konvertierung und
        Betriebssystemversion = z/OS 1.12 [IBM10b]                                                 XML-Parsen)

        Storage-System = Hitachi Data Systems (HDS) –                                 XML-INSERT (inklusive Konkatenation, Unicode-
         Virtual Storage Platform (VSP)                                                             Konvertierung und XML-Parsen)

Die anschließenden Ausführungen beschäftigen sich mit der            Die Performance des Vorverarbeitungsschritts wird aus den in
Darstellung und Analyse der unterschiedlichen, teils unerwarteten    Abschnitt 2.1 genannten Gründen nicht weiter untersucht. Die an-
Performance-Resultate. Diese finden sich in ausgeweitetem            schließend präsentierten Resultate zeigen die bei den Messreihen
Umfang in [2] wieder und werden dort durch zusätzliche, für          ermittelten CPU-Zeiten. Neben diesen sind bei der Performance-
diesen Beitrag aber irrelevante Informationen zur Ergebnis-          Analyse in DB2 auch diverse Elapsed-Zeiten (inklusive I/O-
deutung, zum Hintergrund der Messdatenerhebung sowie zur             Zeiten, Lock/Latch-Waits, etc.) von Bedeutung, die aber aufgrund
Betrachtung weiterer Kriterien ergänzt.                              ihrer starken Schwankungen in Abhängigkeit zur aktuellen Last
                                                                     auf dem DB2-Entwicklungssystem der DATEV eG in diesem
Generell liegt bei der fortan beschriebenen Erhebung von Perfor-     Beitrag vernachlässigt werden. Eine Gesamtaufgliederung der
mance-Messdaten die Zielstellung darin begründet, den gesamten       relevanten Zeiten findet sich in [2]. In den weiteren Ausführungen
Migrationsablauf innerhalb von DB2 durchzuführen. Dies               werden für die genannten Messreihen die Resultate aufgezeigt und
schränkt zwar die Möglichkeiten zur Überführung der XML-             teilweise andiskutiert. Umfangreichere Informationen dazu finden
Daten auf die Verwendung von DB2-Bordmitteln ein – demge-            sich ebenfalls in [2].
genüber „mächtigere“ Anwendungsbibliotheken werden somit
nicht verwendet –, bietet aber die größtmögliche Effizienz, da nur   Zuerst sei der Fokus auf die Zusatzkosten gerichtet, den die
auf diese Weise zusätzlicher Kommunikationsaufwand der zu            Schritte Unicode-Konvertierung und XML-Parsen verursachen.
migrierenden XML-Daten zwischen Anwendung und DB2                    Hier zeigt sich in Abbildung 6 eine mit zunehmender Größe der
eingespart werden kann.                                              zu migrierenden XML-Dokumente generell fallende CPU-Zeit.
                                                                     Während die Zusatzkosten für die Unicode-Konvertierung ver-
3.1 Vergleichskriterium – Größe und Anzahl                           hältnismäßig gering ausfallen, resultiert für den zusätzlichen
Während [2] die Performance der Migrationsschritte hinsichtlich      Anteil, den das XML-Parsen verursacht, ein wesentlich höherer
drei verschiedener Vergleichskriterien analysiert, soll für die      Aufwand. Dieser ist jedoch der Komplexität des XML-Parse-
Ausführungen dieses Beitrags die Betrachtung des Kriteriums der      Vorgangs geschuldet, bei dem neben der Überführung der
Größe und Anzahl genügen. Dieses zielt neben einer Gegen-            Ausgangsdaten in die native Speicherform unter anderem auch
überstellung der Kosten der einzelnen Migrationsschritte auch        deren Struktur geprüft wird.
darauf ab, den Einfluss der Größe der zu migrierenden XML-
                                                                                   12
Dokumente zu untersuchen. Dazu wird ein konstantes Gesamt-
datenvolumen vorausgesetzt, das sich durch eine entsprechende                      10
Dokumentanzahl reguliert und für die in Abschnitt 3.2 angefügten
                                                                                   8
Messresultate konstant 100 MB beträgt. Dieses Gesamtdaten-
                                                                        Sekunden




volumen repräsentiert in seinem Umfang natürlich nicht die realen                  6
Mengenverhältnisse der zu migrierenden Datenbestände der                           4
DATEV eG. Da sich aber bei den Analysen zu [2] eine relativ
gute Skalierbarkeit bezogen auf die ermittelten Performance-                       2
Ergebnisse zeigte, genügt bereits eine derartige Datenmenge zur                    0
Grundlage für die Exploration der real zu erwartenden Migra-                              1 KB x    10 KB x    100 KB x     1 MB x    10 MB x
tionskosten. Die angesprochene Regulierung der Gesamtdaten-                              100.000    10.000      1.000        100        10
menge erfolgt für die abgebildeten Messresultate ausgehend von                                             Größe und Anzahl
der Merkmalsausprägung „1 KB x 100.000“ – also der Migration
von 100.000 je 1 KB großen XML-Dokumenten – bis hin zur                            CLOB-INSERT
Ausprägung „10 MB x 10“
                                                                                   CLOB-INSERT (inklusive Unicode-Konvertierung)
                                                                                   XML-INSERT (inklusive Unicode-Konvertierung und XML-Parsen)


                                                                                   Abbildung 6: Performance der Migrationsschritte




26
                            Migration nicht-nativer XML-Strukturen in den nativen XML-Datentyp am Beispiel von DB2 for z/OS V9.1

Überraschenderweise sind die Grundkosten für einen einzelnen                                  4. ZUSAMMENFASSUNG
(komplexen) XML-Parse-Vorgang (unter anderem für das Laden                                    Der vorliegende Beitrag hat einen Einblick in den Themen-
und Initialisieren des XML-Parsers) jedoch kaum merklich,                                     schwerpunkt der Migration von nicht-nativen XML-Dokumenten
sodass sich die Messresultate ab der Merkmalsausprägung 10 KB                                 in den nativen XML-Datentyp in DB2 gegeben. Dabei erfolgte die
x 10.000 trotz der kontinuierlich abnehmenden Anzahl von Doku-                                Herleitung und Erarbeitung von zwingend erforderlichen und
menten und somit auch XML-Parse-Vorgängen nur unwesentlich                                    bedingt notwendigen Migrationsschritten sowie die Analyse deren
verändern. Mit anderen Worten formuliert bedeutet dies: Die                                   Performance bezogen auf eine beispielhafte explorative Migration
relativ konstanten Gesamtkosten in Abbildung 6 (jeweils circa 5                               von CLOB-Daten mittels INSERT-Statements. Im Ergebnis dieser
Sekunden CPU-Zeit für die "vier rechten hohen Balken") zeigen,                                exemplarischen Auswertung zeigte sich, wie unterschiedlich die
dass der Kostenaufwand primär in den insgesamt zu parsenden                                   einzelnen Schritte die Gesamtkosten einer Migration beeinflussen
Megabytes liegt, nicht aber in deren Aufteilung auf viele oder auf                            und wo dabei die Hauptkostenfaktoren zu vermuten sind.
wenige XML-Dokumente.
                                                                                              Neben dem fachlichen Aspekt soll dieser Beitrag aber ebenso
Noch kostenintensiver als das XML-Parsen ist – eine gewisse                                   dazu dienen, den wissenschaftlichen Charme eines praxisorien-
Anzahl von Dokumentteilen vorausgesetzt – unerwarteterweise                                   tierten Anwendungsszenarios aufzuzeigen. Insbesondere wenn
nur der Migrationsschritt der Konkatenation. Um dessen Einfluss                               man wie in dem vorliegenden Beitrag angedeutet ins Detail einer
geeignet zu visualisieren, sind die durch ihn bei der Datener-                                konkreten Migrationslösung einsteigt, ergeben sich zahlreiche
hebung zur Messreihe „XML-INSERT (inklusive Konkatenation,                                    Parallelen zu anderen DBMS-Themengebieten wie Archivierung
Unicode-Konvertierung und XML-Parsen)“ verursachten Kosten                                    oder Aktive Datenbanken. Für den interessierten Leser seien
anteilig am Gesamtaufwand einer Migration in einer separaten                                  daher zur vertieften Auseinandersetzung mit der hier diskutierten
Abbildung 7 dargestellt.                                                                      Thematik nochmals die Arbeiten [1] und [2] empfohlen. Insbe-
                                                                                              sondere in [2] werden zudem auch weiterführende Untersuchun-
                           100%
                                                                                              gen zu den Themenschwerpunkten XML-Schema-Management
                           90%
                                                                                              (siehe auch [3]) und Query Performance angestellt.
                           80%
   Sekunden (in Prozent)




                           70%
                           60%
                                                                                              5. LITERATUR
                                                                                              [1] C. Koch. XML-Speicherstrukturen in DB2 for z/OS Version
                           50%
                                                                                                  9.1 und Überführungskonzepte für nicht-native XML-
                           40%
                                                                                                  Speicherformen, Studienarbeit, Fakultät für Mathematik und
                           30%
                                                                                                  Informatik, Friedrich-Schiller-Universität Jena und DATEV
                           20%                                                                    eG, 08.2011.
                           10%
                                                                                              [2] C. Koch. Der Datentyp XML in DB2 for z/OS aus
                            0%
                                     1x         10 x       100 x     1.000 x       10.000 x
                                                                                                  Performance-Perspektive, Diplomarbeit, Fakultät für
                                    1 KB x     1 KB x      1 KB x    1 KB x         1 KB x        Mathematik und Informatik, Friedrich-Schiller-Universität
                                   100.000     10.000      1.000       100            10          Jena und DATEV eG, 01.2012.

                           Zusatzkosten für Konkatenation (per Stored Procedure)
                                                                                              [3] C. Koch. Möglichkeiten und Konzepte zum XML-Schema-
                                                                                                  Management am Beispiel von DB2 for z/OS V9.1, Fakultät
                           XML-INSERT (inklusive Unicode-Konvertierung und XML-Parsen)            für Mathematik und Informatik, Friedrich-Schiller-
                                                                                                  Universität Jena und DATEV eG, 06.2012.
                             Abbildung 7: Kostenanteil der Konkatenation
                                                                                              [4] IBM Corporation. DB2 pureXML – Intelligent XML
Hier sei angenommen, dass stets 1 KB große Dokumentteile zu                                       database management, Produkt-Homepage, 2012.
einem Gesamtdokument konkateniert und anschließend weiter-                                        http://www-01.ibm.com/software/data/db2/xml
migriert werden. Daher variiert bei den zu den abgebildeten Re-
                                                                                              [5] M. Päßler. Datenbanken und XML – Passt das?, 04.07.2007.
sultaten gehörenden Messreihen nicht mehr die Dokumentgröße
                                                                                                  http://inka.htw-berlin.de/datenverwaltung/docs/Paessler.pdf
in Abhängigkeit eines konstanten Gesamtdatenvolumens, sondern
die Anzahl an, zu einem Dokument zu konkatenierenden Teile.                                   [6] G. Lausen. Datenbanken: Grundlagen und XML-
Beispielweise werden bei der Merkmalsausprägung „10 x 1 KB x                                      Technologien, Spektrum Akademischer Verlag, 1. Auflage,
10.000“ genau 10 je 1 KB große Dokumentteile zu einem                                             2005.
10 KB großen XML-Dokument zusammengefügt und anschlie-                                        [7] H. Schöning. XML und Datenbanken: Konzepte und
ßend wie ein „herkömmliches“ 10 KB großes nicht-natives XML-                                      Systeme, Carl Hanser Verlag GmbH & Co. KG, 1. Auflage,
Dokument weitermigriert.                                                                          2002.
Auffällig ist hier, dass trotz der simplen Logik der Konkatenation                            [8] IBM Corporation. DB2 Version 9.1 for z/OS – USER LOB
mittels der CONCAT-Funktion dennoch ein erheblicher Aufwand                                       VALUE STG field (LOBVALA subsystem parameter),
entsteht, der ab einer Anzahl von 100 zu konkatenierenden Doku-                                   03.2011.
mentteilen den Hauptanteil der Gesamtkosten einer Migration                                       http://publib.boulder.ibm.com/infocenter/dzichelp/v2r2/inde
einnimmt. An dieser Stelle lässt sich aber zumindest für die                                      x.jsp?topic=/com.ibm.db2z9.doc.inst/src/tpc/db2z_ipf_lobval
betrachteten Datenbestände der DATEV eG Entwarnung geben,                                         a.htm
da Konkatenationen mit derartig vielen Dokumentteilen im Rah-
men der untersuchten Migration nicht vorzunehmen sind.




                                                                                                                                                           27
Migration nicht-nativer XML-Strukturen in den nativen XML-Datentyp am Beispiel von DB2 for z/OS V9.1

[9] IBM Corporation. DB2 Version 9.1 for z/OS – SYSTEM LOB        [11] IBM Corporation. DB2 Version 9.1 for z/OS – SQL
    VAL STG field (LOBVALS subsystem parameter), 03.2011.              Reference, 03.2011.
    http://publib.boulder.ibm.com/infocenter/dzichelp/v2r2/inde        http://publib.boulder.ibm.com/epubs/pdf/dsnsqk1a.pdf
    x.jsp?topic=/com.ibm.db2z9.doc.inst/src/tpc/db2z_ipf_lobval   [12] IBM Corporation. z/OS – XML System Services User's
    s.htm                                                              Guide and Reference, 01.2012.
[10] IBM Corporation. DB2 Version 9.1 for z/OS – XML Guide,            http://www-03.ibm.com/systems/resources/gxlza151.pdf
     12.2010.
     http://publibfp.dhe.ibm.com/epubs/pdf/dsnxgk16.pdf




28
     Evolution von XML-Schemata auf konzeptioneller Ebene
             Übersicht: Der CodeX-Ansatz zur Lösung des Gültigkeitsproblems
                                  Thomas Nösinger, Meike Klettke, Andreas Heuer
                                         Lehrstuhl Datenbank- und Informationssysteme
                                                      Institut für Informatik
                                                       Universität Rostock
                                       (tn, meike, ah)@informatik.uni-rostock.de

ABSTRACT                                                              die Gültigkeit bereits vorhandener XML-Dokumente verlet-
If new requirements arise models have to be adapted to                zen und macht eine Adaption dieser notwendig (siehe Ab-
them. Additionally, the instances based on these models ha-           bildung 1).
ve to be adapted as well otherwise they might not be valid
anymore. The same applies to the XML schema as a model                           XML-Schema
                                                                                                  Änderungen
                                                                                                                  XML-Schema‘
and widely accepted description for XML documents. One
solution for solving the occurring validity problem is the                        Gültigkeit     Bestimmung der
                                                                                                   Änderungen
                                                                                                                   Gültigkeit
here described XML schema evolution. On the basis of a
conceptual model the user interaction is analyzed and trans-                     XML-Dokumente      Adaption      XML-Dokumente‘
lated into transformation steps for the adaption of XML in-
stances. The user interaction contains the use of predefined
change operations on the conceptual model, a representation
of the corresponding XML schema                                           Figure 1: Das Gültigkeitsproblem nach [14]

Categories and Subject Descriptors                                       Der Vorgang der XML-Schemaänderung und der darauf
                                                                      folgenden Anpassung der XML-Dokumente wird als XML-
I.7.1 [Document and Text Editing]; H.3.2 [Information                 Schemaevolution bezeichnet. Es existieren unterschiedli-
Storage]; H.3.3 [Information Search and Retrieval];                   che Ansätze zur Durchführung der XML-Schemaevolution
D.2.8 [Metrics]                                                       [13]:

Keywords                                                                1. Die Anwendung einer expliziten Evolutionssprache.
XML-Schemaevolution, konzeptionelle Modellierung, Gültig-
                                                                        2. Der Vergleich zweier Versionen eines Modells und die
keitsproblem, Instanzanpassung
                                                                           Ableitung von Transformationsschritten.

1.   EINLEITUNG                                                         3. Die Beobachtung und Auswertung der Nutzerinterak-
   Die dynamische Anpassung von Modellen an aktuelle Ge-                   tion, aus der dann Transformationsschritte abgeleitet
gebenheiten birgt die Notwendigkeit, vorhandene Instanzen                  werden. Dieser Ansatz wird hier thematisiert.
und Anwendungen an die neuen, eventuell veränderten Um-
stände anzupassen. Ändert sich somit die strukturelle Be-              Der erste Ansatz ist die Anwendung einer Evolutions-
schreibung einer Datenbasis, muss zwangsläufig auch die Da-          sprache zur XML-Schemaevolution. Dies entspricht im Da-
tenbasis angepasst werden, damit die Gültigkeit bezüglich           tenbankbereich dem Alter-Befehl der Data Definition Lan-
des neuen Modells gewährleistet wird. Diese Problematik ist          guage SQL. Zur Zeit ist dieser Ansatz aufgrund der feh-
Kernpunkt des Gültigkeitsproblems, d.h. sind Instanzen               lenden, standardisierten Evolutionssprache für XML-Sche-
eines Modells nach dessen Änderung noch gültig?                     mata nicht anwendbar. Des Weiteren wird vom Anwender
   Die Veränderung der Struktur eines XML-Schemas bspw.              an dieser Stelle ein tiefes Verständnis bzw. Expertenwissen
durch das Umsortieren von Inhaltsmodellen, das Erhöhen               der möglichen Sprachkonstrukte und deren Anwendung ver-
des minimalen Vorkommens eines Elementes, das Einfügen               langt.
oder auch Umbenennen nicht-optionaler Elemente etc. kann                 Der zweite Ansatz ist die Versionierung von Modellen.
                                                                      Sind verschiedene Modelle vorhanden, dann können Trans-
                                                                      formationsschritte aus dem Vergleich beider Modelle erzeugt
                                                                      werden. Es müssen an dieser Stelle allerdings unterschiedli-
                                                                      che, eventuell nicht vergleichbare Versionen vorgehalten wer-
                                                                      den. Des Weiteren wird normalerweise bei syntaktischen und
                                                                      /oder semantischen Konflikten eine automatische Lösung
                                                                      basierend auf Heuristiken vorgeschlagen oder aber der An-
                                                                      wender zur Lösung benötigt. Dieses Vorgehen erfordert wie-
24th GI-Workshop on Foundations of Databases (Grundlagen von Daten-
banken), 29.05.2012 - 01.06.2012, Lübbenau, Germany.                  derum ein tieferes Verständnis bzw. Expertenwissen der be-
Copyright is held by the author/owner(s).                             teiligten XML-Schemaversionen.



                                                                                                                                   29
Evolution von XML-Schemata auf konzeptioneller Ebene

  Der dritte Ansatz nutzt die Interaktion eines Anwenders       erleichtern soll. PRISM++ ermöglicht keine XML-Schema-
aus, indem von diesem getätigte Änderungen an einer kon-      evolution, thematisiert allerdings die Notwendigkeit, auch
zeptionellen Repräsentation eines XML-Schemas analysiert       Integritätsänderungen vollziehen zu können.
werden. Die Nutzeränderungen sind dabei die Anwendung            In [9] wird das GEA Framework (Generic Evolution Archi-
vordefinierter Operationen auf einem konzeptionellen Mo-        tecture) vorgestellt, in dem XML-Schemata als UML-Klas-
dell. Das somit erlangte Wissen wird für eine automatische     sendiagramme mit Stereotypen beschrieben werden. Unter
Erzeugung von Transformationsschritten zur Anpassung der        Verwendung von elementaren Transformationsregeln werden
XML-Dokumente und Anwendungen verwendet. Es wird im             Änderungen in UML auf XML propagiert.
Vergleich zu den ersten beiden Ansätzen weder vom Nutzer         XCase [15] ist eine Implementierung von XSEM (kon-
Expertenwissen bezüglich einer Evolutionssprache benötigt,    zeptionelles Modell: Xml SEmantics Modeling), welches un-
noch müssen unterschiedliche Versionen eines XML-Schemas       ter Verwendung einer MDA (Model-Driven Architecture)
vorgehalten, ausgewählt und verwendet werden.                  die XML-Schemaevolution durchführt. Es existieren unter-
                                                                schiedliche Abstraktionslevel (u.a. PIM als Platform-Inde-
2.   STAND DER FORSCHUNG                                        pendent Model und PSM als Platform-Specific Model) die
                                                                Änderungen auf abstrakterem Niveau ermöglichen und diese
   Die XML-Schemaevolution wird sowohl von den großen
                                                                dann zwischen den verschiedenen Ebenen propagieren (ein
Datenbank- und Softwareherstellern (u.a. Microsoft [4], IBM
                                                                XML-Schema ist ein PSM). Dieser Ansatz ist dem hier vor-
[3], Oracle [5], Altova [2]) als auch in Forschungsprototypen
                                                                gestellten am ähnlichsten, unterscheidet sich aber grundle-
(u.a. XCase [15], PRISM++ [8], X-Evolution [11], EXup [7]
                                                                gend in der Herangehensweise der Erfassung von Änderun-
und GEA [9]) thematisch behandelt und auch teilweise um-
                                                                gen, deren Auswertung, Kategorisierung und dem Umfang
gesetzt.
                                                                möglicher Änderungen bezüglich eines XML-Schemas.
   Microsoft unterstützt den XML-Datentyp, lässt den Nut-
                                                                  Eine automatische Erzeugung von Transformationsschrit-
zer in Collections XML-Schemata sammeln und danach mit-
                                                                ten und die damit verbundene Anpassung von XML-Doku-
tels einer Typisierung die Spalten einer Relation einem Sche-
                                                                menten sind in den hier vorgestellten Forschungsprototypen
ma zuordnen. XML-Instanzen typisierter Spalten können
                                                                nicht möglich bzw. die umsetzbaren Änderungen sind nicht
bezüglich ihres XML-Schemas auf Gültigkeit geprüft wer-
                                                                umfangreich genug. Des Weiteren wird bei keinem der Pro-
den, ändert sich allerdings ein XML-Schema, muss dieses
                                                                totypen der hier vorgestellte Ansatz der XML-Schemaevo-
unter einer neuen Version erneut eingefügt werden. Micro-
                                                                lution verfolgt, es besteht somit weiterhin Forschungsbedarf
soft unterstützt die hier angestrebte XML-Schemaevolution
                                                                in dieser Thematik.
nicht, sondern nutzt die Versionierung von XML-Schemata.
IBM DB2 ermöglicht die Registrierung von XML-Schemata
in einem XML-Schema-Repository (XSR) und eine anschlie-         3.    FORMALE GRUNDLAGEN
ßende Erweiterung dieser unter Beachtung von zehn stren-           Eine Grundlage der XML-Schemaevolution ist das an der
gen Kompatibilitätsanforderungen. In Oracle können Sche-      Universität Rostock entwickelte, konzeptionelle EMX Mo-
mata ebenfalls registriert und anschließend mittels der Me-     dell (Entity Model for XML-Schema), das zur grafischen
thoden copyEvolve und inPlaceEvolve evolutioniert werden.       Modellierung von XML-Schemata im Forschungsprototypen
Sowohl bei IBM als auch Oracle sind restriktive Anforderun-     CodeX (Conceptual Design and Evolution for XML-Sche-
gen gestellt, die nur eine Generalisierung des alten Schemas    ma [12]) implementiert wurde. Die folgende Formalisierung
ermöglichen und somit nur teilweise die angestrebte XML-       des konzeptionellen Modells ist notwendig, um die bereits
Schemaevolution unterstützen.                                  erwähnten Änderungsoperationen auf dem EMX Modell de-
   Altova bietet mit Diffdog eine Erweiterung ihres Editors     finieren zu können.
an, mit dem zwei Schemata miteinander verglichen werden
können, um nachfolgend XSLT-Skripte zur Transformation         3.1   Konzeptionelles Modell
der Instanzen zu erzeugen. Treten bei dem Vergleich Kon-          Das konzeptionelle Modell (MM ) ist ein Tripel, das aus
flikte auf, d.h. es kann keine eindeutige Zuordnung zwischen    Knoten (NM ), gerichteten Kanten zwischen Knoten (EM )
den unterschiedlichen Strukturen der XML-Schemata herge-        und zusätzlichen Eigenschaften (FM ) besteht.
leitet werden, dann wird vom Anwender eine manuelle Zu-
                                                                                   MM = (NM , EM , FM )                   (1)
ordnung verlangt. Eine Automatisierung ist nicht möglich,
eine Nutzerinteraktion und somit Expertenwissen bezüglich         Die Knoten sind Elemente (elementsM ), Attributgruppen
der XML-Schemata ist erforderlich.                              (attributegroupsM ), Inhaltsmodelle (groupsM ), Typen (ein-
   Die Prototypen X-Evolution [11] und EXup [7] nutzen eine     fache (simple-typesM ), komplexe (complex-typesM )), Module
grafische Oberfläche zur Spezifikation, Ausführung und Ve-    (modulesM , u.a. externe XML-Schemata), Integritätsbedin-
rifikation von Schemaänderungen (beschrieben durch Primi-      gungen (integrity-constraintsM ) oder Annotationen (anno-
tive), wobei die Updatesprache XSchemaUpdate für die Be-       tationsM ). Die Knotenarten werden näher charakterisiert
schreibung der Änderungen und die Dokumentadaption ver-        (z.B. elements M = {elementM }, elementM = (ID, name, na-
wendet wird. Eine Grundlage dieser Systeme ist ein DBMS,        mespace, geometry, minoccur, maxoccur)), was auf Grund
welches XMLTYPE unterstützt. EXup und X-Evolution ver-         von Platzbeschränkungen an dieser Stelle und bei den fol-
wenden darüber hinaus XSUpdate als Evolutionssprache,          genden Modellen nicht vertieft werden soll. Die gerichteten
welches XSPath nutzt (eine Teilmenge von XPath).                Kanten werden jeweils zwischen Knoten definiert, wobei die
   PRISM++ [8] bietet einen fein-granularen Evolutionsme-       Richtung die Zugehörigkeit (Enthalten-sein Beziehung) um-
chanismus zur Evolution von Datenbankschemata, welcher          setzt und gemäß der Möglichkeiten von XML-Schema fest-
Datenbankadministratoren unter Verwendung von SMO-IC-           gelegt wurden.
MO (Evolutionssprache: Schema Modification Operators -             Die zusätzlich zu definierenden Eigenschaften ermöglichen
Integrity Constraints Modification Operators) die Evolution     die Nutzer-spezifische Anpassung eines konzeptionellen Mo-



30
                                                                  Evolution von XML-Schemata auf konzeptioneller Ebene

dells, insofern dies erwünscht ist. Dazu zählen u.a. CodeX-       von anderen Operationen. Eine Operation wird auf den oben
Standardwerte zur Konfiguration des Editors, Angaben zur            definierten Modellen ausgeführt.
Pragmatik, Kosten, Namen und zur Version eines EMX Mo-                                Operation
dells. Die Pragmatik (Pragmatik ∈ {kapazitätserhaltend, ka-                     Mx −−−−−−−→ Mx0 , x ∈ {M, S, D}             (4)
pazitätserhöhend, kapazitätsreduzierend}) ist im Zusammen-          Operationen sind zum Beispiel: changeElementType (Um-
hang mit den Änderungsoperationen notwendig, um den In-            sortieren vom Inhaltsmodell), changeElementMinOccur (Er-
formationsverlust durch nicht beabsichtige Modellanpassun-          höhen des minimalen Vorkommens eines Elementes), add-
gen zu verhindern. Die Kosten sollen die Steuerung von Än-         ElementToComplexElement (Einfügen nicht-optionaler Ele-
derungsoperationen ermöglichen, damit zu komplexe und so-          mente) oder renameElement (Umbenennen eines Elemen-
mit eventuell zu teure Transformationen verhindert werden           tes).
können. Kosten werden verwendet, um den Aufwand der                   Eine Übersicht über die Zusammenhänge zwischen den
Änderungen zu bestimmen und gegebenenfalls eine Versio-            Modellen und den Operationen ist in Abbildung 2 darge-
nierung vorzuschlagen.                                              stellt. Die renameElement-Operation soll exemplarisch auf
3.2    XML-Schema und XML-Instanzen                                 den oben definierten Modellen betrachtet werden. Dies ist
                                                                    eine einfache Operation, kompliziertere Evolutionsoperatio-
  XML-Schema (XSD) als strukturelle Beschreibung von                nen werden analog ausgeführt.
XML-Instanzen ist formal durch das W3C definiert [6]. Ein
XML-Schema (MS ) ist in unserem Kontext ein Tupel aus
Knoten (NS ) und zusätzlichen Eigenschaften (FS ). Bezie-
hungen zwischen den Knoten (z.B. gerichtete Kanten) sind
implizit in den Knoten enthalten, die zusätzlichen Eigen-
schaften sind Informationen zum Namen und der Version.
                       MS = (NS , FS )                     (2)
   Knoten sind laut abstraktem Datenmodell Definitionen
(type-definitionsS ), Deklarationen (declarationsS ), Modell-
gruppen (model-group-componentsS ), Gruppendefinitionen
(group-definitionsS ), Annotationen (annotationsS ) oder Be-
dingungen (constraintsS ). Neben der abstrakten Definition
von Knoten existiert die Element-Informationseinheit, die           Figure 2: EMX, XML-Schema und XML-Instanzen
für jeden Knoten die Realisierung innerhalb eines XML-
Schemas definiert, d.h. welche Inhalte und Attribute kön-
nen verwendet werden oder nicht.                                     A: renameElementM (IDValue, oldValue, newValue)
   XML-Instanzen (MD ) sind analog zum XML-Schema Tu-
pel aus Knoten (ND ) und zusätzlichen Eigenschaften (FD ),              ∀ n ∈ NM ∧ n.ID = IDValue:
wobei die Beziehungen zwischen den Knoten wieder implizit                  if n ∈ elementsM
in diesen enthalten sind.
                                                                            then n.name := newValue
                      MD = (ND , FD )                      (3)
                                                                       Wenn ein Nutzer die grafische Repräsentation eines Ele-
   Die Knoten einer XML-Instanz sind Dokumente (docu-               mentes selektiert und das Attribut Name ändert, dann wird
mentsD ), Attribute (attributesD ), Prozessanweisungen (pro-        dieses in CodeX erkannt und als renameElementM Opera-
cessing-instructionsD ), Namensräume (namespacesD ), Tex-          tion geloggt. Regeln garantieren dabei, dass nur sinnvolle
te (textsD ) oder Kommentare (commentsD ) [1].                      Operationen geloggt werden (z.B. Voraussetzung für rena-
   Zusätzlichen Eigenschaften sind der Name, die Version,          meElement-Operation: oldValue 6= newValue). Die Identi-
Änderungseigenschaften und Signifikanz eines Dokumentes.           fikation des selektierten Elements wird im konzeptionellen
Die Änderungseigenschaften (changeable ∈ {true, false}) sol-       Modell durch eine eindeutige ID gewährleistet. Neben der
len bei XML-Instanzen den ungewollten Informationsverlust           ausgeführten Operation, den beteiligten Werten und der ID
verhindern (z.B. Entfernen von Elementen). Die Signifikanz          müssen Informationen zum Kontext gespeichert werden. Da-
(significance) ist ein normierter Wert, um bei Auswertungen         zu zählen u.a. Angaben zum Gültigkeitsbereich, zu vorhan-
von Dokumentkollektionen zum Finden von Standardwerten              denen Referenzen und zum direkten Knotenumfeld (Positi-
Dokumente priorisieren bzw. gewichten zu können.                   on in einem Inhaltsmodell etc.). Diese Kontextinformationen
3.3    Operationen                                                  sollen bei den nachfolgenden Operationen (renameElementS
                                                                    und renameElementD ) die Identifizierung des betroffenen
   Auf dem konzeptionellen Modell (EMX) werden vordefi-             Elementes ermöglichen und die Verarbeitung erleichtern.
nierte Änderungsoperationen vom Nutzer durchgeführt. Die
anwendbaren Operationen lassen sich gemäß der Kategori-             C: renameElementS (oldValue, newValue, context)
sierung von Änderungsoperationen herleiten und charakte-
risieren (siehe [10]). Charakteristika sind u.a. die Kapazi-             ∀ n, m, k ∈ NS ∧ n 6= m ∧ n 6= k ∧ m 6= k ∧ context(n):
tätsänderung (kapazitätserhaltend, kapazitätserhöhend oder
                                                                           // Globales Element mit neuem Namen existiert?
kapazitätsreduzierend), der XML-Instanzeinfluss (Instanz-
anpassung bei EMX-Änderung notwendig, nicht notwendig                     if n, m ∈ elementsS ∧ n.scope.variety = 0 global 0 ∧
oder abhängig vom Parameter), die herleitbaren bzw. ab-                      m.scope.variety = 0 global 0 ∧ n.name = oldValue
schätzbaren Kosten einer Operation und die Abhängigkeiten                   ∧ m.name = newValue



                                                                                                                             31
Evolution von XML-Schemata auf konzeptioneller Ebene

          then newValue := uniqueName(newValue) ∧                          3.4    Zusammenhänge
                n.name := newValue                                            Die Beschreibung der Operationen macht deutlich, dass es
             if ∃ k ∈ elementsS ∧ k .scope.variety = 0 local 0 ∧           Abhängigkeiten sowohl zwischen den Modellen als auch zwi-
                k .ref = oldValue                                          schen den Operationen gibt. Zum Beispiel sind die Kontext-
              then ∀ k: k .ref := newValue                                 informationen des konzeptionellen Modells für die Identifika-
         // Lokales Element mit neuem Namen, aber anderem Typ existiert?
                                                                           tion von Knoten im XML-Schema und/oder XML-Instanzen
                                                                           notwendig, zeitgleich lässt die Element-Informationseinheit
     elseif n, m ∈ elementsS ∧ n.scope.variety = 0 local 0 ∧               des XML-Schemas u.a. Aussagen über notwendige oder nicht
            m.scope.variety = 0 local 0 ∧ n.name = oldValue ∧              notwendige Anpassungen von XML-Instanzen zu (minOc-
            m.name = newValue ∧ n.type 6= m.type ∧                         curs, maxOccurs). Diese Zusammenhänge wurden in der Ab-
            n.parent.name = m.parent.name                                  bildung 2 dargestellt und führen zu folgenden Theoremen:
          then newValue := uniqueName(newValue) ∧
                n.name := newValue                                            Theorem 1. Ein konzeptionelles Modell MM wird durch
                                                                                                                           0
         // Lokales Element, kein Namen-Typ-Konflikt?
                                                                           die Operation A eines Nutzers verändert zu MM    . Sei B eine
                                                                           Beschreibungsvorschrift zur Abbildung (Korrespondenz) des
     elseif n ∈ elementsS ∧ n.scope.variety = 0 local 0 ∧
                                                                           konzeptionellen Modells MM auf ein XML-Schema MS . C
            n.name = oldValue
                                                                           sei die Änderungsoperation zur Überführung von MS zu MS0 .
          then n.name := newValue                                          Dann gilt:
         // Globales Element, kein Namen-Konflikt?
                                                                                                   A + B⇒C
     elseif n ∈ elementsS ∧ n.scope.variety = 0 global 0 ∧
            n.name = oldValue                                              Das Theorem 1 besagt: Sind die Operation des Nutzers auf
          then n.name := newValue                                          dem EMX Modell und die Korrespondenzen zwischen dem
             if ∃ k ∈ elementsS ∧ k .scope.variety = 0 local 0 ∧           konzeptionellen Modell und dem XML-Schema bekannt, so
                k .ref = oldValue                                          kann die Operation zum Anpassen des XML-Schemas her-
              then ∀ k: k .ref := newValue                                 geleitet werden.

   Nachdem der Nutzer das konzeptionelle Modell verändert                    Theorem 2. Ein konzeptionelles Modell MM wird durch
                                                                                                                               0
hat, muss das entsprechende XML-Schema ebenfalls ange-                     die Operation A eines Nutzers verändert zu MM        . Sei B ei-
passt werden. Dafür wird das Log von CodeX geladen und                    ne Korrespondenz zwischen dem konzeptionellen Modell MM
analysiert. Durch dieses Vorgehen sind die auszuführende                  und einem XML-Schema MS und sei D eine Korrespondenz
Operation, die veränderten Werte und der entsprechende                    zwischen dem XML-Schema MS und MD . E sei die Ände-
Knoten bekannt (Kontextinformationen). Durch die darauf-                   rungsoperation zur Überführung von XML-Instanzen MD zu
                                                                                             0
folgende Umbenennung eines Elementes im XML-Schema,                        XML-Instanzen MD    , die bezüglich MS0 gültig sind. Dann gilt:
müssen je nach Gültigkeitsbereich, umgebenen Knotenum-                                        A + B + D⇒E
feld und vorhandenen Referenzen weitere Anpassungen am
XML-Schema vorgenommen werden. Zum Beispiel muss ge-                       Das Theorem 2 besagt: Sind die Operation des Nutzers auf
prüft werden, ob eventuell gleich benannte, globale Elemente              dem EMX Modell und die Korrespondenzen zwischen dem
schon vorhanden sind oder ob Referenzen angepasst werden                   konzeptionellen Modell, dem XML-Schema und den XML-
müssen. Die im konzeptionellen Modell gesammelten und im                  Instanzen bekannt, so kann die Operation zum Anpassen der
Log gespeicherten Kontextinformationen erleichtern dies.                   XML-Instanzen hergeleitet werden.
  E: renameElementD (oldValue, newValue, context)                             Es können somit aus der Auswertung der Nutzerinterak-
                                                                           tion mit dem konzeptionellen Modell automatisch entspre-
       ∀ n ∈ ND ∧ FD .changeable:                                          chende Transformationsschritte hergeleitet werden.
         if n ∈ elementsD ∧ n.node-name = oldValue ∧
            context(n)                                                     4.    BEISPIEL
          then n.node-name := newValue                                        Die vorgestellte renameElement-Operation wird nachfol-
                                                                           gend an einem durchgängigen Beispiel auf den unterschied-
   Der letzte Schritt in der XML-Schemaevolution ist die                   lichen Modellen angewendet.
automatische Erzeugung von Transformationsschritten aus                       Der Knoten mit dem Namen ’nummer’ wird vom Nutzer
den Änderungen des Nutzers am konzeptionellen Modell.                     ausgewählt und im konzeptionellen Modell verändert (siehe
Nachdem das XML-Schema angepasst wurde, sind vorhan-                       Abbildung 3). Es sind keine Einschränkungen bezüglich der
dene XML-Instanzen eventuell nicht mehr gültig (Gültig-                  Modellpragmatik oder der nicht zu überschreitenden Kosten
keitsproblem). Dies kann aus den Charakteristika der Ope-                  gemacht worden (siehe FM ). CodeX erkennt, dass der aus-
rationen, den gespeicherten Informationen des Logs und den                 gewählte Knoten eine spezifische ID (hier z.B. ’1’) hat und
Anpassungen des XML-Schemas hergeleitet werden. Sind                       entsprechend ein Element ist. Wird nun das Attribut Name
Instanzen betroffen (der XML-Instanzeinfluss der Opera-                    verändert, d.h. dieses Attribut bekommt den neuen Wert
tion) und XML-Instanzen sollen verändert werden können                   ’ID’ (’nummer’ 6= ’ID’), dann wird dies in das Log geschrie-
(FD .changeable), dann muss ein entsprechendes Transfor-                   ben. Im Log steht, dass die Operation renameElement(’1’,
mationsskript erzeugt werden, das die Instanzen anpasst.                   ’nummer’, ’ID’) ausgeführt wurde. Des Weiteren werden an-
In CodeX wird aktuell ein XSLT Skript (XML Stylesheet                      hand der eindeutigen Knoten-ID Kontextinformationen ge-
Language Transformation) erzeugt, welches auf XML-Do-                      speichert, zum Beispiel die Gültigkeit (’lokal’), eventuelle
kumente angewendet werden kann.                                            Referenzen (ist in dem Fall aufgrund der Gültigkeit nicht



32
                                                                Evolution von XML-Schemata auf konzeptioneller Ebene

                                                                  ma und XML-Instanz ein zwingendes Element in einer Se-
                                                                  quenz war (minOccurs = ’1’), falls das globale Vaterelement
                                                                  ’event’ als Dokumentenwurzel ausgewählt wurde. Das be-
                                                                  deutet, dass alle XML-Instanzen die gültig bezüglich des
                                                                  alten XML-Schemas waren und die verändert werden sol-
                                                                  len (FD .changeable), entsprechend an das neue XML-Sche-
                                                                  ma angepasst werden müssen.
                                                                     Durch die Anwendung einer Operation auf dem konzep-
                                                                  tionellen Modell und der bekannten Korrespondenzen zwi-
                                                                  schen EMX Modell, XML-Schema und XML-Instanz, kann
                                                                  die Operation zum Anpassen der XML-Instanzen hergeleitet
                                                                  werden (siehe Theorem 2).
                                                                     Diese Operation bzw. die notwendigen Transformations-
       Figure 3: Konzeptionelles EMX Modell                       schritte sind in einem XSLT-Skript realisiert, welches für das
                                                                  Beispiel in Abbildung 5 dargestellt ist.

möglich) und das Knotenumfeld (Vaterknoten ist gemäß der
Kanteninformationen EM ’event’, Inhaltsmodell ist eine Se-
quenz, zweite Position in Sequenz).




                                                                  Figure 5: XSLT-Skript zur XML-Instanzanpassung

     Figure 4: XML-Schema zum EMX Modell
                                                                  5.         UMSETZUNG
   Abbildung 4 ist das zum obigen EMX Modell gehören-
                                                                    Der CodeX-Editor bietet unterschiedliche Funktionalitä-
de XML-Schema. Die Korrespondenzen zwischen dem kon-
                                                                  ten zur Durchführung und Unterstützung der XML-Sche-
zeptionellem Modell und dem XML-Schema sind definiert,
                                                                  maevolution (siehe Abbildung 6). Unter anderem kann das
d.h. es ist aufgrund der Abbildungsvorschriften möglich, das
eine Modell in das andere zu überführen. Durch das Log
ist bekannt, dass die renameElement-Operation ausgeführt                                                                                                        Ergebnis


wurde, diese Operation muss demnach auch auf dem XML-                  GUI       Schemaänderung                                 Datenbereitstellung

Schema nachvollzogen werden. Es gibt dem Log folgend ein                          Visualisierung                      Import                                      Export
lokales Element ohne Referenzen im XML-Schema, welches
den Namen ’nummer’ hat, in einer Sequenz an zweiter Stelle                       Evolutionsengine                         XSD       Config
                                                                                                                                                       XSD
                                                                                                                                                      XML           XSLT       XSD    Config

steht und den Vater ’event’ besitzt. Dieses Element soll um-
benannt werden, das Attribut ’name’ soll den neuen Wert
’ID’ erhalten. In dem überschaubaren Beispiel ist dies nur
ein Knoten, der den entsprechenden Kontext hat und mittels                   Modell
                                                                             Mapping
                                                                                                   Spezifikation
                                                                                                   Operationen
                                                                                                                                 Konfiguration    Dokument
                                                                                                                                                  Instanzen
                                                                                                                                                                        Updateskripte &
der renameElement-Operation umbenannt wird.                             Modell Daten                       Evolutionsspezifische Daten                                Evolutionsergebnisse

   Aufgrund der Anwendung einer Operation auf dem kon-                                                                                                        Transformation
                                                                       Wissensbasis      Log
zeptionellen Modell (Operation und Kontextinformationen
                                                                    CodeX
werden geloggt) und der bekannten Korrespondenzen, kann
demnach die Operation zum Anpassen des XML-Schemas
hergeleitet werden (siehe Theorem 1).                                        Figure 6: Komponentenmodell von CodeX
   Durch die Umbenennung eines Elementes kann die Gültig-
keit von XML-Instanzen betroffen sein. Es wurde die rena-         konzeptionelle Modell bzw. dessen grafische Repräsentation
meElement-Operation ausgeführt, welche laut Operations-          von einem Nutzer verändert werden, was entsprechend in ei-
spezifikation eine kapazitätserhaltende Operation ist. Des       nem Log gespeichert wird. Welche Änderungen bzw. vordefi-
Weiteren kann die Operation je nach Parametern (d.h. die          nierten Operationen anwendbar sind, wird durch Operations-
Kontextinformationen) einen Einfluss auf die Gültigkeit von      spezifikationen beschrieben (siehe Kategorisierung in [10]).
XML-Instanzen haben. Es muss zunächst der entsprechen-           Das konzeptionelle Modell wird aus einem gegebenen XML-
de Elementknoten im XML-Schema durch die Kontextinfor-            Schema unter Verwendung vom Modell-Mapping Informa-
mationen ermittelt werden. Es ist bekannt, dass das Ele-          tionen (Korrespondenzen) extrahiert oder neu angelegt. Das
ment ’nummer’ laut Korrespondenz zwischen XML-Sche-               Log kann nach einer entsprechenden Analyse zur Erzeugung



                                                                                                                                                                                               33
Evolution von XML-Schemata auf konzeptioneller Ebene

von XSLT-Skripten verwendet werden, welche die aus den          8.   REFERENCES
Nutzeraktionen hergeleiteten Transformationsschritte um-         [1] XQuery 1.0 and XPath 2.0 Data Model (XDM)
setzen. Diese Transformation nutzt die evolutionsspezifischen        (Second Edition). http://www.w3.org/TR/2010/
Daten, u.a. erneut die Operationsspezifikation, XML-Sche-            REC-xpath-datamodel-20101214/, December 2010.
mainformationen, gegebene Konfigurationen oder auch Do-              Online; accessed 01-March-2012.
kumentkollektionen. Konfigurationen sind die zusätzlichen       [2] Altova Produkt diffdog: XML-Schemavergleich.
Eigenschaften (FM ) des konzeptionellen Modells, während            http://www.altova.com/de/diffdog/
die Dokumentinstanzen zur Kostenabschätzung und gege-               xml-schema-diff-tool.html, 2011. Online; accessed
benenfalls zur Wertfindung verwendet werden können. Die             15-December-2011.
Datenbereitstellung und Extraktion von Ergebnissen wer-
                                                                 [3] IBM DB2 LUW V9R7 Online Documentation.
den entsprechend durch Import und Export-Komponenten
                                                                     http://publib.boulder.ibm.com/infocenter/
realisiert.
                                                                     db2luw/v9r7/index.jsp, 2011. Online; accessed
                                                                     15-December-2011.
6.   ZUSAMMENFASSUNG                                             [4] Microsoft technet: Verwenden von xml in sql server.
   Die XML-Schemaevolution behandelt das Gültigkeitspro-            http://technet.microsoft.com/de-de/library/
blem. Wenn sich XML-Schemata ändern und somit an neue               ms190936(SQL.90).aspx, 2011. Online; accessed
Gegebenheiten bzw. Anforderungen angepasst werden, müs-             15-December-2011.
sen deren Instanzen zur Wahrung der Gültigkeit ebenfalls        [5] Oracle XML DB Developer’s Guide 11g Release 2
adaptiert werden. Dies sollte weitestgehend automatisch er-          (11.2). http://docs.oracle.com/cd/E11882_01/
folgen. Im präsentierten Ansatz wird ein konzeptionelles Mo-        appdev.112/e23094/xdb07evo.htm, 2011. Online;
dell verwendet, welches eine vereinfachte, grafische Reprä-         accessed 12-December-2011.
sentation eines XML-Schemas ist. Wird das konzeptionelle         [6] W3C XML Schema Definition Language (XSD) 1.1
Modell durch vordefinierte Operationen von einem Nutzer              Part 1: Structures. http://www.w3.org/TR/2012/
verändert, dann wird das damit gewonnene Wissen entspre-            PR-xmlschema11-1-20120119/, January 2012. Online;
chend geloggt und danach für die Anpassung des XML-Sche-            accessed 01-March-2012.
mas und der XML-Instanzen angewendet. In diesem Zusam-           [7] F. Cavalieri. EXup: an engine for the evolution of
menhang sind Kontextinformationen und Korrespondenzen                XML schemas and associated documents. In
zwischen den Modellen entscheidend, denn nur durch diese             Proceedings of the 2010 EDBT/ICDT Workshops,
Informationen können automatisiert Transformationsschrit-           EDBT ’10, pages 21:1–21:10, New York, NY, USA,
te aus der Nutzerinteraktion hergeleitet werden.                     2010. ACM.
   Die einzelnen Modelle wurden kurz vorgestellt, bevor die      [8] C. Curino, H. J. Moon, A. Deutsch, and C. Zaniolo.
renameElement-Operation formal beschrieben wurden. Die               Update Rewriting and Integrity Constraint
Zusammenhänge der einzelnen Modelle und die Anwendung               Maintenance in a Schema Evolution Support System:
der renameElement-Operation wurde ebenfalls thematisiert.            PRISM++. PVLDB, 4(2):117–128, 2010.
An einem durchgängigen Beispiel wurde darüber hinaus dar-      [9] E. Domı́nguez, J. Lloret, B. Pérez, Á. Rodrı́guez,
gestellt, wie diese Operation auf den einzelnen Modellen an-         A. L. Rubio, and M. A. Zapata. Evolution of XML
gewendet wird. Des Weiteren wurde CodeX als Forschungs-              schemas and documents from stereotyped UML class
prototyp präsentiert, der zur Realisierung und Durchfüh-           models: A traceable approach. Information & Software
rung der XML-Schemaevolution unerlässlich ist.                      Technology, 53(1):34–50, 2011.
   Ein hier nicht ausführlich, aber dennoch in CodeX bereits
                                                                [10] H. Grunert. XML-Schema Evolution: Kategorisierung
vorhandener Aspekt ist die Berücksichtigung von Kosten-
                                                                     und Bewertung. Bachelor Thesis, Universität
funktionen bei der XML-Schemaevolution. Aktuell werden
                                                                     Rostock, 2011.
die möglichen Kosten einer Evolution anhand der durchzu-
führenden Änderungsoperation abgeschätzt und mit einem       [11] G. Guerrini and M. Mesiti. X-Evolution: A
Nutzer-spezifischen Grenzwert verglichen. CodeX kann so              Comprehensive Approach for XML Schema Evolution.
konfiguriert werden, dass bei Überschreitung dieses Wertes          In DEXA Workshops, pages 251–255, 2008.
Änderungsoperationen abgelehnt werden und stattdessen ei-      [12] M. Klettke. Conceptual XML Schema Evolution - the
ne Versionierung vorgeschlagen wird.                                 CoDEX Approach for Design and Redesign. In BTW
                                                                     Workshops, pages 53–63, 2007.
                                                                [13] M. Klettke. Modellierung, Bewertung und Evolution
7.   AUSBLICK                                                        von XML-Dokumentkollektionen. Habilitation,
  CodeX bietet derzeit Basisfunktionalitäten zur Modellie-          Fakultät für Informatik und Elektrotechnik,
rung von XML-Schema und zur XML-Schemaevolution an.                  Universität Rostock, 2007.
Momentan fehlen allerdings die Behandlung von Integritäts-     [14] M. Klettke, H. Meyer, and B. Hänsel. Evolution —
bedingungen, Namensräume, die Beachtung von Dokument-               The Other Side of the XML Update Coin. In 2nd
kollektionen und die Auswertung und Speicherung der Kon-             International Workshop on XML Schema and Data
textinformationen. In Zuge der Anpassung und Erweiterung             Management (XSDM), Tokyo, April 2005.
soll CodeX als Webapplikation freigeschaltet werden, damit      [15] J. Klı́mek, L. Kopenec, P. Loupal, and J. Malý. XCase
der Prototyp von anderen Anwendern zur XML-Schemaevo-                - A Tool for Conceptual XML Data Modeling. In
lution verwendet werden kann.                                        ADBIS (Workshops), pages 96–103, 2009.
  Des Weiteren werden die bisher vorhandenen Beschrei-
bungen der Änderungsoperationen gemäß der Kategorisie-
rung von [10] erweitert, formal beschrieben und integriert.



34
     Ein Partitionierungsdienst für Geographische Daten in
                    Räumlichen Datenbanken

                                          Hendrik Warneke und Udo W. Lipeck
                       Institut für Praktische Informatik, FG Datenbanken und Informationssysteme
                               Leibniz Universität Hannover, Welfengarten 1, 30159 Hannover
                                               {hwa,ul}@dbs.uni-hannover.de


ZUSAMMENFASSUNG                                                       tenproduzenten, Dienstleister und Nutzer über Netzwerke,
Da in der computergestützten Geographie mit zum Teil sehr            in der Regel das Internet, miteinander verknüpft sind und
großen Mengen von räumlichen Daten gearbeitet werden                 geographische Informationen mit standardisierten Verfahren
muss, hat sich mittlerweile die Überzeugung durchgesetzt,            austauschen und verarbeiten [4]. Diese Strukturen sehen vor,
solche Datensätze in räumlichen Datenbanken zu speichern.           dass geographische Daten blattschnittfrei in räumlichen Da-
Allerdings wird bei der Entwicklung von geographischen Pro-           tenbanken gespeichert werden, wozu man häufig objektrela-
grammen dem Aspekt der Skalierbarkeit oftmals wenig Be-               tionale Systeme mit Erweiterungen um räumliche Datenty-
achtung geschenkt. So enthalten verbreitete Programme für            pen, Operatoren und Indexe einsetzt.
Geoinformationssysteme wenig bis keine sogenannten exter-                Aus den grundlegenden, mit den Techniken der Landes-
nen Algorithmen, die den Geschwindigkeitsunterschied zwi-             vermessung hergestellten Daten, den sogenannten Geobasis-
schen internem (RAM) und externem Speicher (Festplatte)               daten, können durch vielfältige Prozesse neue Datensätze
berücksichtigen und versuchen, die Anzahl der I/O-Zugriffe           abgeleitet werden, die man für kartographische Darstellun-
auf letzteren zu minimieren. Diese Programme arbeiten da-             gen von Informationen aus Fachbereichen wie z.B. Verkehr,
her nur dann effizient, wenn genug interner Speicher für die         Umwelt und Ökonomie verwendet. Die folgende Auflistung
zu bearbeitenden Geodaten zur Verfügung steht. Wir stel-             enthält einige Beispiele für Klassen solcher Prozesse, die heu-
len in diesem Beitrag einen auf Partitionierung basierenden           te meistens automatisiert durch Computerprogramme, im
Ansatz vor, der den Aufwand für die Entwicklung von auf              folgenden Geoprogramme genannt, durchgeführt werden.
großen Geodatenmengen skalierenden Programmen stark re-               Generalisierung: Um eine lesbare Kartendarstellung aus
duziert. Dazu werden Zugriffe auf externe Speicher in eine                den Geobasisdaten zu erzeugen, müssen diese durch
vorgelagerte Partitionierungs- und eine nachgelagerte Re-                 Operationen wie z.B. das Weglassen von Objekten so-
kompositionsphase verschoben und für diese Phasen flexible               wie Vereinfachen, Zusammenfassen oder Verdrängen
Operationen, die ein breites Spektrum an geographischen                   von Geometrien verändert werden. Dabei besitzen die
Problemstellungen unterstützen, als Partitionierungsdienst               Basisdaten meist eine höhere Auflösung als für die be-
für räumliche Datenbanksysteme angeboten.                               absichtigte Darstellung benötigt wird.

                                                                      Transformation: Erfordert eine Anwendung ein bestimm-
1. EINLEITUNG                                                             tes Datenmodell, das sich von dem der Geobasisdaten
   Lange Zeit verwendete man für die Arbeit mit geogra-                  unterscheidet, müssen diese zunächst in das beabsich-
phischen Informationen größtenteils auf Papier gedruckte                 tigte Modell transformiert werden.
Landkarten. Diese wurden in handliche Kartenblätter unter-
teilt, um die zur Beschreibung der Erdoberfläche in hoher            Integration: Um Informationen aus verschiedenen Daten-
Auflösung benötigten Datenmengen besser handhaben zu                     sätzen gemeinsam nutzen zu können, werden diese zu
können. Der Übergang zu computergestützten Geoinforma-                  einem Datensatz integriert. Dies erfordert z.B. Verfah-
tionssystemen erlaubte es, Geodaten mit Hilfe unabhängig                  ren wie die Identifikation korrespondierender geogra-
vom Maßstab in Form von Geometrien zu modellieren. Da-                     phischer Objekte (Matching) sowie die Anpassung von
bei behielt man häufig die Aufteilung in Kartenblätter auf               Geometrien für die gemeinsame Darstellung.
Dateiebene bei, da die verarbeitbare Datenmenge für vie-
le Systeme und Datenformate beschränkt war. Heute baut               Geoprogramme, die diese Prozesse implementieren, müssen
man sogenannte Geodateninfrastrukturen auf, in denen Da-              aufgrund des beträchtlichen Umfangs von Geobasisdaten-
                                                                      sätzen in der Lage sein, den begrenzten Hauptspeicher ei-
                                                                      nes Rechners effizient zu verwalten, um Performanceproble-
                                                                      me aufgrund von Swapping oder Programmabstürze wegen
                                                                      Speichermangels zu vermeiden. Dazu würde es sich anbie-
                                                                      ten, diese Programme als Datenbankanwendungen zu im-
                                                                      plementieren, die sämtliche Datenzugriffe über SQL-Befehle
                                                                      abwickeln. Dieses Vorgehen ist jedoch mit einigen Nachtei-
                                                                      len verbunden. Zunächst ist man auf die von dem räumli-
24th GI-Workshop on Foundations of Databases (Grundlagen von Daten-
banken), 29.05.2012 - 01.06.2012, Lübbenau, Germany.                  chen Datenbanksystem angebotene Funktionalität für geo-
Copyright is held by the author/owner(s).                             metrische und geographische Berechnungen beschränkt. Die



                                                                                                                                    35
Ein Partitionierungsdienst für Geographische Daten in Räumlichen Datenbanken

freie Auswahl aus spezialisierten und optimierten Software-      Repräsentationen der Daten weitergegeben werden. Für un-
Bibliotheken entfällt. Weiterhin hängt die Performance von     seren Partitionierungsdienst sind wir hingegen an flexiblen
SQL-basierten Anwendungen entscheidend von der Quali-            Partitionierungs- bzw. Rekompositionsoperationen interes-
tät der Anfrageoptimierung ab. Aufgrund der inhärenten         siert, die für die Entwicklung der Geoprogramme keine ein-
Schwierigkeit der Kostenschätzung für geometrische Opera-      schränkenden Vorgaben machen.
tionen stellt dies insbesondere bei räumlichen Datenbanken         Aufgrund seiner Wichtigkeit bei der Berechnung räum-
ein Problem dar. Schließlich müssten die Algorithmen für       licher Verbunde ist das Problem der Bestimmung von sich
Geoprogramme in eine relationale Formulierung umgewan-           überschneidenden achsenparallelen Rechtecken besonders in-
delt werden, was aufgrund von deren Komplexität i.A. auf-       tensiv untersucht worden. Während für interne Algorithmen
wändig und fehleranfällig ist. Hinzu kommt noch, dass die      das Plane-Sweep-Paradigma [1] favorisiert wird, verwenden
Entwickler geographischer Anwendungen oftmals keine Da-          externe oder parallele Algorithmen häufig Partitionierung,
tenbankspezialisten sind.                                        wie z.B. Patel und DeWitt [5]. Der Einfluss von Redundanz
   Wir stellen in diesem Beitrag einen Ansatz vor, der die-      auf die Laufzeit von partitionierungsbasierten Algorithmen
se Probleme durch Partitionierung der Geobasisdaten um-          für dieses Problem wird beispielsweise von Zhou et.al. [8] un-
geht. Statt ein Geoprogramm auf den gesamten Datensatz           tersucht. In einer ähnlichen Untersuchung [2] kommen Dit-
anzuwenden, wird jede Datenpartition für sich allein bear-      trich und Seeger u.a. zu dem auf den ersten Blick überra-
beitet, wobei diese so klein gewählt wird, dass der verfüg-    schenden Ergebnis, dass man durch mehr Redundanz in den
bare Hauptspeicher nicht überfüllt wird. Die für die ein-     Berechnungen sogar die Laufzeit verbessern kann.
zelnen Partitionen berechneten Ergebnisdatensätze müssen
anschließend wieder zu einem Gesamtdatensatz zusammen-           3.    ENTWURF DES PARTITIONIERUNGS-
gesetzt werden, was wir als Rekomposition bezeichnen. Da
unterschiedliche Prozesse auch unterschiedliche Strategien             DIENSTES
für die Partitionierung und Rekomposition erfordern, bieten
wir eine Sammlung solcher Operationen als Dienst auf einem       3.1    Architektur
räumlichen Datenbanksystem an. Die Entwickler von Geo-            Wir implementieren Partitionierungs- und Rekompositi-
programmen können diesen über eine einfache Schnittstelle      onsoperationen als Stored Procedures auf einem räumlichen
ansprechen, wodurch die Notwendigkeit entfällt, innerhalb       Datenbanksystem. Diese können über eine Datenbankschnitt-
der Programme selbst den Austausch der Daten zwischen            stelle von einem Steuerprogramm außerhalb der Datenbank
Haupt- und sekundärem Speicher zu berücksichtigen.             aufgerufen werden, um in der Datenbank gespeicherte Da-
   Für geographische Daten bietet es sich an, zur Partitio-     ten für ein Geoprogramm aufzuteilen und wieder zusammen-
nierung die räumliche Lage zu verwenden und Datenobjek-         zusetzen (Abbildung 1). Das Steuerprogramm liest jeweils
te aus einem zusammenhängenden Gebiet in eine Partition
einzuteilen. Dieser Ansatz ist allgemein für Geoprogramme
anwendbar, die sich lokal verhalten. Dies bedeutet, dass für
die Berechnung von Ergebnissen an einer Position nur Da-
ten aus einer begrenzten Umgebung benötigt werden und
diese Umgebung klein gegenüber einer Partition ist. In die-
sem Fall lassen sich Fehler, die insbesondere am Rand einer
Partition entstehen, weil dem Geoprogramm nicht alle Da-
ten zur Verfügung stehen, reduzieren oder ganz vermeiden,
indem man sich überlappende Partitionen erzeugt [6].
   Der Rest des Beitrags ist wie folgt strukturiert: In Ab-
schnitt 2 nennen wir Arbeiten, die mit unserem Ansatz ver-
wandt sind. Abschnitt 3 beschreibt die Architektur und das
Funktionsprinzip des Partitionierungsdienstes. In Abschnitt
4 verwenden wir die Liniensegmentierung als konkretes An-
wendungsbeispiel und geben für diesen Prozess alternative
Partitionierungs- und Rekompositionsoperationen an. Ab-
schnitt 5 beschreibt die Ergebnisse von Experimenten mit
diesen Operationen auf realen geographischen Daten. Schließ-
lich liefert Abschnitt 6 ein Fazit über den in diesem Beitrag   Abb. 1: Geoprogramm (Ablauf ) mit Partitionierung
vorgestellten Ansatz und einen Ausblick auf Folgearbeiten.
                                                                 einen Eintrag aus dem Partitionierungsschema (Abschnitt
2. VERWANDTE ARBEITEN                                            3.2), das die Geometrien der Partitionen enthält. Damit wird
  Das Prinzip, Datensätze zuerst aufzuteilen, Teilergebnis-     eine geeignete Partitionierungsoperation aufgerufen und ei-
se zu berechnen und später aus den Teilergebnissen ein Ge-      ne Partition der Ausgangsdaten berechnet. Diese muss in ein
samtergebnis zu generieren, ist in der Informatik unter dem      von dem Geoprogramm verwendetes Dateiformat exportiert
Namen Divide-and-Conquer bekannt. Auch für geometrische         werden, bevor dieses vom Steuerprogramm aufgerufen wird,
Probleme gibt es eine Reihe von Vorschlägen, beispielsweise     um für die Datenpartition ein Ergebnis zu berechnen, das
von Güting und Schilling [3], die externe Algorithmen nach      zunächst ebenfalls im Dateisystem abgelegt wird. Nachdem
diesem Prinzip entwickeln. Um eine optimale asymptotische        dieses Ergebnis wieder in die Datenbank importiert worden
Laufzeit zu erreichen, werden die drei Teilschritte stark auf-   ist, ruft das Steuerprogramm eine geeignete Rekompositi-
einander abgestimmt, indem z.B. Sortierungen oder spezielle      onsoperation auf, die die Daten mit den bereits rekompo-



36
                                      Ein Partitionierungsdienst für Geographische Daten in Räumlichen Datenbanken

nierten Daten aus anderen Partitionen zusammensetzt und
Konflikte auflöst. Anschließend kann das Steuerprogramm                     Pufferpolygon

mit der nächsten Partition aus dem Partitionierungsschema
fortfahren bis der komplette Datensatz bearbeitet ist.
  Für Zugriffe auf die möglicherweise großen Datensätze in-                      Kontext         Datenobjekt
nerhalb der Partitionierungs- und Rekompositionsoperatio-
                                                                                                Partitionspolygon
nen verwenden wir konsequent SQL-Anweisungen. Dadurch
machen wir implizit von den im räumlichen Datenbanksys-
tem implementierten externen Algorithmen Gebrauch, so
dass innerhalb dieser Operationen eine effiziente Abfolge von      Abb. 2: Kontext, Partitions- und Pufferpolygon
I/O-Zugriffen erfolgt. Da innerhalb des Geoprogramms nur
noch auf die Daten aus einer Partition zugegriffen wird, sind
dort keine externen Algorithmen mehr nötig.                     lokale Berechnungen ausführen, und das in diesem Beitrag
                                                                 vorgestellte Konzept ist für solche Anwendungen einsetzbar.
3.2 Redundanz                                                       Redundanz führt dazu, dass für einige Datenobjekte meh-
   Um vorzugeben, wie geographische Daten bei der Parti-         rere Ergebnisse in unterschiedlichen Partitionen berechnet
tionierung aufgeteilt werden, verwenden wir ein sogenanntes      werden. Wir bezeichnen solche Situationen als Rekomposi-
Partitionierungsschema. Dieses besteht aus einer schnittfrei-    tionskonflikte. Bei der Rekomposition müssen diese aufge-
en und lückenlosen Menge von Polygonen (Partitionspoly-         löst und die Ergebnisse wieder zu einem Gesamtdatensatz
gone), denen jeweils eine eindeutige Partitionsnummer zu-        zusammengesetzt werden, der keine Spuren der Partitionie-
geordnet ist. Es ist möglich, ein vordefiniertes Partitionie-   rung mehr enthält. Dabei sollen aus den Ergebnisdaten der
rungsschema (z.B. eine Unterteilung in Verwaltungsbezir-         Berechnung für eine Partition möglichst immer die Objekte
ke), das in der Datenbank gespeichert ist, zu verwenden,         übernommen werden, die sich innerhalb des Partitionspoly-
oder den Partitionierungsdienst ein geeignetes Schema (z.B.      gons befinden, da wir diese Ergebnisse als korrekt ansehen.
ein Gitter aus gleich großen Rechtecken) erzeugen zu lassen.     Die aufgrund von fehlendem Kontext möglicherweise fehler-
   Berechnungen in Geoprogrammen weisen oft eine mehr            behafteten Ergebnisdaten außerhalb des Polygons sind zu
oder weniger starke Abhängigkeit vom räumlichen Kontext        verwerfen und aus dem Ergebnis der Partition zu überneh-
der Datenobjekte auf. Dies bedeutet, dass nur dann korrekte      men, die diese Daten im Inneren enthält. Unterschiedliche
Ergebnisse in einem bestimmten Gebiet erzeugt werden kön-       Rekompositionsoperationen werden insbesondere benötigt,
nen, wenn auch die Objekte aus einer lokalen Umgebung die-       um verschiedene Konflikte zwischen ausgedehnten Objekten
ses Gebiets in der Partition enthalten sind. Bei einer streng    aufzulösen, die die Grenze zwischen benachbarten Partitio-
disjunkten Aufteilung der geographischen Daten, wie durch        nen überlappen. Beispiele passender Partitionierungs- und
das Partitionierungsschema vorgegeben, steht insbesondere        Rekompositionsoperationen für eine geographische Anwen-
für Objekte am Rand der Partition möglicherweise nicht ge-     dung werden wir in Abschnitt 4 vorstellen.
nug Kontext zur Verfügung, da Objekte von außerhalb des
Partitionspolygons beim Aufruf des Geoprogramms nicht in         3.3    Repräsentationsmodelle
den Daten enthalten sind. Um diesen Nachteil zu kompen-             Ein wesentliches Ziel beim Entwurf des Partitionierungs-
sieren, erlauben es die von uns entwickelten Operationen,        dienstes ist Flexibilität. Die von diesem Dienst angebotenen
dass dieselben Datenobjekte in mehreren Partitionen ent-         Operationen zur Partitionierung und Rekomposition sollen
halten sind, was wir als Redundanz bezeichnen. Das Ziel          für eine möglichst große Vielfalt von Geoprogrammen an-
dabei ist es, dass beim Aufruf des Geoprogramms für eine        wendbar sein, um Berechnungen auf großen Datensätzen zu
Partition genug Daten in dieser enthalten sind, um korrek-       ermöglichen. Geographische Daten können jedoch auf viele
te Ergebnisse zumindest für alle Positionen innerhalb des       verschiedene Arten strukturiert sein. Das Datenbankschema
Partitionspolygons zu berechnen.                                 für einen geographischen Datensatz bezeichnen wir im Fol-
   Die Erzeugung von Redundanz in den partitionierten Da-        genden als Repräsentationsmodell dieser Daten. Um trotz
ten lässt sich auf verschiedene Arten erreichen. Eine Mög-     der Heterogenität unterschiedlicher Repräsentationsmodelle
lichkeit ist, die Partitionspolygone um einen festen Abstand     nicht für jede Anwendung eigene Operationen anbieten zu
zu vergrößern, so dass sich benachbarte Polygone am Rand        müssen, identifizieren wir typische Strukturen bzw. Teilsche-
überlappen. Diese Operation, die auch in Abbildung 2 dar-       mata, die in vielen Modellen auftreten. Sind die für eine An-
gestellt ist, bezeichnet man als Pufferbildung. In Abschnitt     wendung relevanten Informationen in einer solchen Struktur
4 geben wir weitere Möglichkeiten an, bei denen redundant       modelliert oder lassen sich in diese transformieren, können
zu repräsentierende Daten über die Beziehungen zwischen        wir Operationen zur Partitionierung und Rekomposition ein-
den Objekten bestimmt werden. Zu beachten ist dabei, dass        setzen, die für ein solches Teilschema implementiert sind.
sich in Abhängigkeit davon, wieviel Redundanz man für eine        Der zentrale Teil des Schemas für einen geographischen
bestimmte Anwendung benötigt, das Datenvolumen für ein-        Datensatz bildet häufig die in Abbildung 3 dargestellte Struk-
zelne Partitionen vergrößert. Im schlimmsten Fall kann eine     tur. Die zu beschreibenden Merkmale der Erdoberfläche sind
Partition dann mit dem zur Verfügung stehenden Hauptspei-       in den Daten durch Objekte dargestellt, die neben der räum-
cher nicht mehr bearbeitet werden, wodurch das eigentliche       lichen Beschreibung durch eine Geometrie noch einen inner-
Ziel der Partitionierung verfehlt wird. Häufig kann man für    halb des Datensatzes eindeutigen Identifikator und eine Ob-
Geoprogramme nachweisen oder experimentell belegen, dass         jektart besitzen. Letztere legt fest, um was für einen Typ
die Abhängigkeit vom Kontext auf Umgebungen mit kleiner         (z.B. Straße oder Ackerfläche) von Objekt es sich handelt.
räumlicher Ausdehnung beschränkt bleibt (siehe z.B. [6]).      Zur feineren Charakterisierung der Objekte können weitere
In diesen Fällen sprechen wir davon, dass diese Programme       Attribute verwendet werden, wobei die erlaubten Typen von



                                                                                                                            37
Ein Partitionierungsdienst für Geographische Daten in Räumlichen Datenbanken

                                                                  folglich im Gegensatz zum Spaghetti-Modell nur einmal ab-
                                                                  gespeichert werden muss. Ein weiterer Unterschied besteht
                                                                  darin, dass im TDM die topologischen Beziehungen der Ele-
                                                                  mente zueinander explizit gespeichert werden. Dadurch kön-
                                                                  nen z.B. benachbarte Flächen bestimmt werden, ohne dass
     Abb. 3: Objekte, Attribute und Beziehungen                   man geometrische Berechnungen durchführen muss.
                                                                     Weitere typische Schemata werden bei der Integration von
                                                                  Daten verwendet, um Zuordnungen von Objekten aus unter-
Attributen häufig von der Objektart abhängen (z.B. Brei-        schiedlichen Datensätzen zu modellieren [7]. Wir verzichten
te der Fahrbahn für Straßen). Weiterhin benötigt man Be-        aus Platzgründen auf eine detaillierte Beschreibung.
ziehungen zwischen den Objekten, die ebenfalls von unter-
schiedlichem Typ sein können, um z.B. Über- und Unterfüh-
rungen an Straßenkreuzungen zu modellieren.                       4.    ANWENDUNGSBEISPIEL
   Durch ein Repräsentationsmodell können für die Geome-          Als anschauliches Beispiel für die Verwendung unterschied-
trien der Objekte verschiedene Einschränkungen festgelegt        licher Partitionierungs- und Rekompositionsoperationen be-
sein, die es beim Partitionieren und Rekomponieren zu be-         trachten wir in diesem Abschnitt das geometrische Problem
rücksichtigen gilt. Eine häufige Einschränkung betrifft z.B.   der Liniensegmentierung. Dieses besteht darin, eine Men-
den Geometrietyp, wenn nur Punkte, Linien oder Flächen in        ge von Linienobjekten, die sich beliebig überschneiden dür-
einem Datensatz enthalten sind. Weitere gebräuchliche Ein-       fen, in eine schnittfreie Menge von Linien zu transformie-
schränkungen sind die Forderung der Schnittfreiheit, d.h.        ren. Es gibt eine Reihe von nützlichen Anwendungen, wie
Geometrien verschiedener Objekte dürfen sich nur an den          z.B. zur Erzeugung der Menge von Kanten bei der Trans-
Rändern überschneiden, oder das Verbot von Lücken, so          formation von Spaghetti-Daten in ein topologisches Daten-
dass der komplette Datenraum durch Flächenobjekte über-         modell. Die hier verwendete Implementierung besteht aus
deckt sein muss. Ein Beispiel für Repräsentationsmodelle        zwei Schritten. Zuerst werden mit Hilfe eines Plane-Sweep-
mit solchen Einschränkungen sind Landbedeckungsdaten [6].        Verfahrens [1] alle Paare sich schneidender Linien bestimmt.
Diese bestehen aus einer schnittfreien und lückenlosen Men-      Anschließend wird jede Linie an allen Schnittpunkten unter-
ge von Flächenobjekten, denen als Objektart jeweils eine         teilt, so dass diese im Ergebnis durch mehrere Linien darge-
Landbedeckungsklasse (z.B. Nadelwald) zugeordnet ist.             stellt wird, die sich mit anderen Linien nur noch an den End-
   Repräsentationsmodelle mit linien- oder flächenhaften Geo-   punkten überschneiden. Liegen dabei zwei Linien auf einem
metrien, die nicht schnittfrei sind, werden ein wenig abwer-      längeren Abschnitt übereinander, wird für diesen Abschnitt
tend auch als Spaghetti-Datenmodelle bezeichnet [4]. Wäh-        nur eine einzelne Linie ins Ergebnis übernommen.
rend sie für die Herstellung von Karten gut geeignet sind,          Im Folgenden stellen wir für die Liniensegmentierung drei
bevorzugt man für raumbezogene Analysen sogenannte to-           Strategien zur Partitionierung und Rekomposition aus dem
pologische Datenmodelle (TDM). Die grundlegende Struktur          in Abschnitt 3 beschriebenen Partitionierungsdienst vor. Es
eines topologischen Datenmodells ist in Abbildung 4 darge-        sei angemerkt, dass die für diese Strategien angebotenen Da-
stellt. Knoten bilden punktförmige Objekte in einem TDM          tenbankprozeduren in der Anwendbarkeit nicht auf dieses
                                                                  eine Problem eingeschränkt sind, sondern sich auch für viele
                                                                  weitere Geoprogramme einsetzen lassen. Beispielsweise wur-
                                                                  de Variante 1 bereits in [6] erfolgreich für die Generalisierung
                                                                  von Flächendaten angewendet.

                                                                  4.1    Clipping & Vereinigung
                                                                     Wir wählen in dieser Variante für eine Partition alle Ob-
                                                                  jekte aus, deren Geometrien sich mit dem Partitionspolygon
                                                                  überschneiden. Zusätzlich schneiden wir bei Objekten am
                                                                  Rand der Partition den Teil der Geometrie ab, der über das
                                                                  Partitionspolygon herausragt. Folglich verbleibt nur der in-
                                                                  nerhalb des Partitionspolygons liegende Anteil als geometri-
                                                                  sche Repräsentation des Objekts in der Partition. Dies wird
                                                                  allgemein auch als Clipping bezeichnet. Durch diese Art von
         Abb. 4: Datenstruktur eines TDMs                         Aufteilung kann ein Linienobjekt ggf. in mehreren Partitio-
                                                                  nen auftreten, allerdings jeweils mit einem unterschiedlichen
ab und können außerdem die Endpunkte von Kanten dar-             Teil seiner Geometrie, weshalb wir die Partitionierung als
stellen. Kanten wiederum repräsentieren linienhafte Objek-       disjunkt bezeichnen können. Bei der Liniensegmentierung
te und bilden die Ränder von Maschen. Und solche Ma-             für eine Partition werden alle Schnitte von Objekten gefun-
schen entsprechen Teilen von flächenhaften Objekten. Die         den, die innerhalb des Partitionspolygons liegen, und die
drei Mengen verschiedenartiger TDM-Elemente sind jeweils          Geometrien entsprechend aufgeteilt.
schnittfrei, allerdings können ein Knoten oder eine Kante in        Betrachtet man die Ergebnisse der Liniensegmentierung
einer Masche enthalten sein. Ein geographisches Objekt ist        für die einzelnen Partitionen gemeinsam, fällt auf, dass ne-
durch die TDM-Elemente repräsentiert, durch deren Aggre-         ben den korrekten Unterteilungen an den Linienschnittpunk-
gation man die Geometrie des Objekts rekonstruieren kann.         ten zusätzlich Unterteilungen an den Schnittpunkten mit
Dabei kann dasselbe Element (z.B. eine Kante) zu mehre-           den Rändern der Partitionen auftreten, was auf das Clip-
ren Objekten gehören und repräsentiert in diesem Fall einen     ping zurückzuführen ist. Man betrachte z.B. die Situation
gemeinsamen Bestandteil der Geometrien der Objekte, der           in Abbildung 5, in der aus drei Linienobjekten a, b und c



38
                                      Ein Partitionierungsdienst für Geographische Daten in Räumlichen Datenbanken


                                             c1                                                                       c1
                  b1                                                                    b1
                       a2                         a4                                                a2                       a4
            a1                       a3                                           a1                       a3

                 b2                               c2                                   b2                                   c2




         Abb. 5: Überflüssige Segmentierung                                      Abb. 6: Überlappende Linien


insgesamt acht segmentierte Linien erzeugt wurden. Bei der        weder bereits im Ergebnis enthalten oder werden beim Re-
Unterteilung zwischen a2 und a3 liegt allerdings kein echter      komponieren einer der nächsten Partitionen eingefügt. Für
Schnitt vor. Da derartige Situationen ohne Partitionierung        Situationen wie in Abbildung 6 bestimmen wir für die sich
nicht auftreten würden, liegen hier Rekompositionskonflik-       überlappenden Linien den gemeinsamen Teil durch eine geo-
te vor und müssen durch eine geeignete Operation bereinigt       metrische Durchschnittsoperation. Z.B. fügen wir anstelle
werden. Dazu bestimmen wir, welche Linien aus dem bereits         der zu langen Linien a2 und a3 nur deren Durchschnitt ins
zusammengesetzten Ergebnis welche anderen Linien aus der          Gesamtergebnis ein.
aktuellen Partition an der Partitionsgrenze berühren und fü-
gen diese durch eine Vereinigung zu einer Linie zusammen.         4.3    Objektüberschneidung & Duplikate
  Wir müssen allerdings auch berücksichtigen, dass ein Li-          Im Vergleich zur vorigen Variante können wir die Elimi-
nienobjekt aus dem Ausgangsdatensatz mehrmals den Rand            nierung der Duplikate bei der Rekomposition weiter verein-
der Partition schneiden kann, weshalb wir ggf. auch Grup-         fachen, wenn wir bei der Partitionierung noch mehr Red-
pen von mehr als zwei Linien zu einem Objekt vereinigen           undanz hinzufügen. Wir bezeichnen dazu die Linienobjekte,
müssen. Ein weiterer Sonderfall liegt vor, wenn sich zwei        die das Polygon der Partition p schneiden, als p-Objekte.
Linien aus dem Ausgangsdatensatz genau auf dem Rand               Um alle p-Objekte bei der Berechnung für diese Partition
eines Partitionspolygons überschneiden, weil es sich dann        korrekt zu segmentieren, müssen wir bei der Partitionierung
bei dem nach obiger Vorschrift ermittelten Berührungspunkt       noch Linien von außerhalb der Partition hinzunehmen, die
um einen echten Schnittpunkt handelt und somit keine Ver-         sich mit einem p-Objekt überschneiden.
einigung stattfinden darf. Wir können diese Situationen da-          Dadurch, dass bei der Partitionierung mehr Objekte re-
durch erkennen, dass sich zwei segmentierte Linien aus der-       dundant für mehrere Partitionen ausgewählt werden, ent-
selben Partition an einem solchen Punkt berühren.                stehen auch mehr Duplikate, die bei der Rekomposition ent-
                                                                  fernt werden müssen (siehe Abbildung 7). Die meisten dieser
4.2 Partitionsüberschneidung & Durchschnitt                       Duplikate werden wir wieder los, indem wir (wie bei Variante
   Wie in der ersten Variante wählen wir alle Objekte aus, die   2) Linien außerhalb des Partitionspolygons verwerfen (z.B.
das Partitionspolygon schneiden, verzichten aber auf Clip-        a′1 /a′4 ). Bei allen Linien im Ergebnis einer Partition, die den
ping. Die Intention dabei ist es, aufwändige Berechnungen        Rand des Partitionspolygons schneiden, können allerdings in
zum Abschneiden und Vereinigen der Geometrien einzuspa-           dieser Variante nur echt übereinstimmende Duplikate auftre-
ren. Dafür nehmen wir etwas Redundanz in Kauf, denn Lini-        ten, denn diese Linien wurden vollständig segmentiert. An-
en aus dem Ausgangsdatensatz, die über den Rand der Par-         statt Durchschnitte zu berechnen, reicht es somit aus, von
tition hinausragen, werden in mehreren Partitionen mit ih-        den am Rand der Partition auftretenden Duplikaten (hier
rer vollständigen Geometrie repräsentiert, so dass eine nicht   a2 /a3 ) jeweils ein Objekt ins Ergebnis zu übernehmen.
disjunkte Partitionierung vorliegt. Schnitte zwischen solchen
Objekten werden demnach bei der Segmentierung mehrfach
in unterschiedlichen Partitionen berechnet.
   Beim Rekomponieren einer Partition müssen Duplikate                                                               c1
                                                                                                                c'1          a'4
                                                                                        b1
aus den Ergebnissen entfernt werden, da die aus den mehr-                                     b'1   a2                       a4
fach repräsentierten Objekten gebildeten Linien auch mehr-                 a1                             a3
fach in den Ergebnissen auftreten. Allerdings stimmen diese                 a'1                                       c'2   c2
Duplikate in Bezug auf die Segmentierung nicht zwingend                            b2
                                                                                             b'2
überein, denn der Schnitt einer über den Rand der Partiti-
on hinausragenden Linie mit einer Linie, die komplett außer-
halb der Partition liegt, wird bei der Berechnung in dieser
Partition nicht gefunden. Man betrachte z.B. die Situation                                  Abb. 7: Doppelte Linien
in Abbildung 6. Während im Ergebnis der linken Partition
(cyan) die Linie a am Schnittpunkt mit b in a1 und a2 unter-
teilt wurde, fehlt die Unterteilung am Schnittpunkt mit c.
Für das Ergebnis der rechten Partition (magenta) hingegen        5.    ERGEBNISSE
ist die Situation genau umgekehrt.                                  Um die Anwendbarkeit der in Abschnitt 4 vorgestellten
   Um Duplikate zu entfernen, verwerfen wir beim Rekom-           Partitionierungs- und Rekompositionsoperationen zu demon-
ponieren einer Partition zunächst alle Linien, die komplett      strieren und die Varianten miteinander zu vergleichen, füh-
außerhalb des Partitionspolygons liegen, denn diese sind ent-     ren wir Tests mit einem ca. 7,2GB großen kommerziell pro-



                                                                                                                                   39
Ein Partitionierungsdienst für Geographische Daten in Räumlichen Datenbanken

duzierten Datensatz durch, der das gesamte Bundesland Hes-        kale Algorithmen gelöst werden können, so dass die benötig-
sen umfasst. Diese Daten enthalten Informationen über Stra-      te Redundanz bei der Partitionierung nicht zu groß wird.
ßen und weitere für den Kraftfahrzeugverkehr relevante geo-         Während für die in diesem Beitrag vorgestellten Expe-
graphische Objekte in Form von Liniengeometrien, die für         rimente die Größe der Partitionen fest vorgegeben wurde,
die kartographische Darstellung optimiert und insbesonde-         ist es für einen Anwender des Partitionierungsdienstes wün-
re nicht schnittfrei sind. Partitionierung und Rekomposition      schenswert, stattdessen die Größe des verfügbaren Speichers
sind in einer Datenbank (Oracle 11g) mit räumlicher Er-          angeben zu können, für die der Dienst dann ein geeignetes
weiterung (Oracle Spatial) implementiert. Zur Segmentie-          Partitionierungsschema berechnet. Daher arbeiten wir dar-
rung verwenden wir ein Programm aus einer Java-Bibliothek         an, Modelle aus der Literatur zum Schätzen der Partitions-
für geometrische Berechnungen (JTS Topology Suite), das          größe für räumliche Verbunde zu verallgemeinern, um diese
durch zahlreiche Optimierungen auf Kosten eines hohen Spei-       auch auf andere Geoprogramme anwenden zu können. Da-
cherverbrauchs sehr effizient arbeitet.                           bei muss auch berücksichtigt werden, dass reale geographi-
   Wir führen für diesen Datensatz mit jeder der drei Va-       sche Daten nicht gleichmäßig verteilt sind, und somit auch
rianten eine Segmentierung durch, wobei wir ein Partitio-         die Partitionsgröße innerhalb eines Partitionierungsschemas
nierungsschema aus 129 Quadraten mit jeweils 25km Kan-            abhängig von der Datendichte variieren sollte.
tenlänge verwenden. Wir messen und summieren dabei je-              Um das Spektrum von möglichen Anwendungen für den
weils separat die Laufzeiten, die bei der Partitionierung, Seg-   Partitionierungsdienst zu vergrößern, muss dieser um weite-
mentierung und Rekomposition für alle Partitionen benötigt      re Operationen und insbesondere weitere Repräsentations-
werden. Diese Laufzeiten sind in Abbildung 8 dargestellt.         modelle erweitert werden. Außerdem werden wir genauer
Die Laufzeit für die Segmentierung ist erwartungsgemäß in       untersuchen, wie sich dieser Dienst möglichst gewinnbrin-
                                                                  gend für die Fortführung von abgeleiteten Datensätzen ein-
                                                                  setzen lässt. Dieser Ansatz basiert auf der Idee, bei Updates
                                                                  für Geobasisdaten zunächst möglichst kleine, aber räumlich
                                                                  zusammenhängende Gebiete zu identifizieren, in denen Än-
                                                                  derungen stattgefunden haben. Für die Aktualisierung von
                                                                  abgeleiteten Datensätzen müssen dann unter Verwendung
                                                                  von Partitionierung und Rekomposition nur diese Gebiete
                                                                  an Stelle des kompletten Datensatzes neu berechnet werden.

                                                                  7.   DANKSAGUNG
                                                                     Diese Arbeit wurde vom Bundesamt für Kartographie und
                                                                  Geodäsie im Rahmen des Projekts Wissensbasierter Photo-
                                                                  grammetrisch-Kartographischer Arbeitsplatz (WiPKA) ge-
                                                                  fördert.


     Abb. 8: Laufzeiten (in Sek.) der Prozessphasen
                                                                  8.   LITERATUR
                                                                  [1] Berg, M. de ; Cheong, O. ; Kreveld, M. van ;
                                                                      Overmars, M. : Computational Geometry: Algorithms
der ersten Variante am geringsten und steigt durch das Hin-
                                                                      and Applications. 3.Aufl. Springer-Verlag, 2008
zufügen von mehr Redundanz in Variante 2 und 3 jeweils
leicht an. Am meisten Zeit benötigt in allen Varianten die       [2] Dittrich, J.-P. ; Seeger, B. : Data Redundancy and
Rekomposition. Während diese in Variante 3 die geringste             Duplicate Detection in Spatial Join Processing. In:
Laufzeit benötigt, ist dabei jedoch eine vergleichsweise auf-        Proc. ICDE 2000, San Diego, S. 535–546
wändige Partitionierung nötig. Die beste Gesamtlaufzeit hat     [3] Güting, R. H. ; Schilling, W. : A Practical
somit Variante 2, bei der die Partitionierung am schnellsten          Divide-and-Conquer Algorithm for the Rectangle
geht und die Zeiten für Segmentierung und Rekomposition              Intersection Problem. In: Information Sciences 42
jeweils in der Mitte liegen.                                          (1987), Nr. 2, S. 95–112
                                                                  [4] Hake, G. ; Grünreich, D. ; Meng, L. : Kartographie.
6. FAZIT                                                              8.Aufl. Walter de Gruyter & Co., 2002
                                                                  [5] Patel, J. M. ; DeWitt, D. J.: Partition Based
   Der in diesem Beitrag vorgestellte Partitionierungsdienst
                                                                      Spatial-Merge Join. In: Proc. SIGMOD 1996, Montreal,
für geographische Daten in räumlichen Datenbanken besteht
                                                                      S. 259–270
im Wesentlichen aus einer Sammlung von flexibel anwendba-
ren Partitionierungs- und Rekompositionsoperationen. Die-         [6] Thiemann, F. ; Warneke, H. ; Sester, M. ; Lipeck,
se erlauben es, Geoprogramme mit sehr geringem Entwick-               U. : A Scalable Approach for Generalization of Land
lungsaufwand fit für die Bearbeitung großer Datenmengen              Cover Data. In: Proc. 14th AGILE Intl.Conf. on Geo-
zu machen. Dabei bleibt die Freiheit der Wahl einer Pro-              graphic Information Systems. Utrecht, 2011, S. 399–420
grammiersprache und von Software-Bibliotheken sowie die           [7] Warneke, H. ; Schäfers, M. ; Lipeck, U. ; Bobrich,
gute Wartbarkeit der Geoprogramme erhalten, da Zugriffe               J. : Matching-Based Map Generalization by
auf extern gespeicherte Daten nur während der Partitionie-           Transferring Geometric Representations. In: Proc.
rung und Rekomposition erfolgen müssen. Neben dem an                 Geoinformatik 2011, Münster, S. 71–77
dieser Stelle vorgestellten Anwendungsbeispiel eignet sich        [8] Zhou, X. ; Abel, D. J. ; Truffet, D. : Data
diese Vorgehensweise für eine Vielzahl weiterer geographi-           Partitioning for Parallel Spatial Join Processing. In:
scher Problemstellungen, sofern diese durch hinreichend lo-           GeoInformatica 2 (1998), Nr. 2, S. 175–204




40
             Cloud Data Management: A Short Overview and
                  Comparison of Current Approaches

                Siba Mohammad                             Sebastian Breß                      Eike Schallehn
           Otto-von-Guericke University             Otto-von-Guericke University        Otto-von-Guericke University
                   Magdeburg                                Magdeburg                            Magdeburg
            siba.mohammad@iti.uni-                  sebastian.bress@st.ovgu.de         eike@iti.cs.uni-magdeburg.de
                  magdeburg.de

ABSTRACT
           Users / Applications                                                           Users / Applications
To meet the storage needs of current cloud applications,
new data management systems were developed. Design de-
cisions were made by analyzing the applications workloads
                    Query Language                                                 Relational Cloud Storage Service
and technical environment.     It was realized that traditional
Relational Database Management Systems (RDBMSs) with
their centralized architecture, strong consistency, and rela-
tional model do not fit the elasticity and scalability require-                             Relational DBMS
ments of the Distributed   Processing
                cloud. Different      System with a variety
                                  architectures
of data partitioning schemes and replica placement strate-
gies were developed. As for the data model, the key-value
pairs with its variations were adopted for cloud storage. The                     Figure 1: RDBMS as a service
        Structured  Data System
contribution of this paper is to provide a comprehensible
overview of key-characteristics of current solutions and out-
line the problems they do and do not address. This paper              across heterogeneous hardware and software platforms. It
should serve   as an Storage
                      entry point for orientation of future re-       will store tera bytes of data, thus parameters of I/O opera-
        Distributed          System
search regarding new applications in cloud computing and              tions and block sizes must be adapted to large sizes. Based
advanced requirements for data management.                            on these assumptions the requirements for a cloud DBMS
                                                                      are: elasticity, scalability, fault tolerance and self manage-
                                                                      ability [11]. The rest of the paper is organized as follows.
1.   INTRODUCTION                                                     First, we provide an overview of the architecture and the
   Data management used within the cloud or offered as a              family tree of the cloud storage systems. Then, we discuss
service from the cloud is an important current research field.        how different systems deal with the trade-off in the Con-
However, there are only few publications that provide a sur-          sistency, Availability, Partition tolerance (CAP) theorem.
vey and compare the different approaches. The contribution            After that, we discuss different schemes used for data parti-
of this paper is to provide a starting point for researchers and      tioning and replication. Then, we provide a list of the cloud
developers who want to work on cloud data management.                 data models.
Cloud computing is a new technology that provides resources
as an elastic pool of services in a pay-as-you-go model [5].
Whether it is storage space, computational power, or soft-
                                                                      2.   ARCHITECTURE OVERVIEW
ware, customers can get it over the internet from one of the             There are two main approaches to provide data manage-
cloud service providers. Big players in the market, such as           ment systems for the cloud. In the first approach, each
Google [8], Amazon [13], Yahoo! [9], and Hadoop [7], defined          customer gets an own instance of a Database Management
the assumptions for cloud storage systems based on analyz-            System (DBMS), which runs on virtual machines of the ser-
ing the technical environment and applications workload.              vice provider [10] as illustrated in Figure 1. The DBMS
First, a data management system will work on a cluster of             supports full ACID requirements with the disadvantage of
storage nodes where components failure is the normal situ-            loosing scalability. If an application requires more comput-
ation rather than the exception. Thus, fault tolerance and            ing or storage resources than the maximum allocated for an
recovery must be built in. The system must be portable                instance, the customer must implement partitioning on the
                                                                      application level using a different database instance for each
                                                                      partition [1]. Another solution is on demand assignment of
                                                                      resources to instances. Amazon RDS is an example of rela-
                                                                      tional database services, that supports MySQL, Oracle, and
                                                                      SQL Server.
                                                                         In the second approach, data management is not provided
                                                                      as a conventional DBMS on a virtualized platform, but as
                                                                      a combination of interconnected systems and services that
24th GI-Workshop on Foundations of Databases (Grundlagen von Daten-
banken), 29.05.2012 - 01.06.2012, Lübbenau, Germany.                  can be combined according to application needs. Figure 2
Copyright is held by the author/owner(s).                             illustrates this architecture. The essential part is the dis-



                                                                                                                                 41
Cloud Data Management: A Short Overview and Comparison of Current Approaches


                     Users / Applications                          2010                                Users / Applications
                                                                                                                     RDS
                                                                                                                       HadoopDB
                                                                                                                       Hive
                             Query Language                                                     Relational Cloud Storage Service
                                                                   2009                                         Cassandra

                                                                                                         Relational DBMS
                        Distributed Processing System              2008
                                                                                    Hadoop MR                       HBase

                                                                          HDFS Dynamo                SimpleDB
                  Structured Data System                           2007
                                                                                   S3

                                                                   2006
                  Distributed Storage System

                                                                   2005                  Google MR

  Figure 2: Cloud data management architecture
                                                                                                     Bigtable
                                                                   2004
tributed storage system. It is usually internally used by the
cloud services provider and not provided as a public service.              GFS
                                                                                                                     use the system
It is responsible for providing availability, scalability, fault   2003
                                                                                                                     use concepts
tolerance, and performance for data access. Systems in this
layer are divided in three categories:                                     File system                                        DBMS
     • Distributed File Systems (DFS), such as Google’s File
       System (GFS).                                               Figure 3: Family tree of cloud data management
     • Cloud based file services, such as Amazon’s Simple          systems
       Storage Service (S3).
     • Peer to peer file systems, such as Amazon’s Dynamo.         tree of cloud storage systems as illustrated in Figure 3. We
                                                                   use a solid arrow to illustrate that a system uses another one
The second layer consists of structured data systems and           such as Hive using HDFS. We use a dotted arrow to illus-
provides simple data models such as key-value pairs, which         trate that a system uses some aspects of another system like
we discuss in Section 6. These systems support various APIs        the data model or the processing paradigm. An example of
for data access, such as SOAP and HTTP. Examples of sys-           this is Cassandra using the data model of Bigtable. In this
tems in this layer are Google’s Bigtable, Cassandra, and           family tree, we cover a range of commercial systems, open
SimpleDB. The third layer includes distributed processing          source projects, and academic research as well. We start
systems, which are responsible for more complex data pro-          on the left side with distributed storage systems GFS and
cessing, e.g, analytical processing, mass data transforma-         HDFS. Then, we have the structured storage systems with
tion, or DBMS-style operations like joins and aggregations.        API support such as Bigtable. Furthermore, there are sys-
MapReduce [12] is the main processing paradigm used in             tems that support a simple QL such as SimpleDB. Next, we
this layer.                                                        have structured storage systems with support of MapReduce
   The final layer includes query languages. SQL is not sup-       and simple QL such as Cassandra and HBase. Finally, we
ported. However, developers try to mimic SQL syntax for            have systems with sophisticated QL and MapReduce sup-
simplicity. Most query languages of cloud data management          port such as Hive and HadoopDB. We compare and classify
systems support access to one domain, key space, or table,         these systems based on other criteria in the coming sections.
i.e., do not support joins [4, 2]. Other functionalities, such     An overview is presented in Figure 4.
as controlling privileges and user groups, schema creation,
and meta data access are supported. Examples of query
languages for cloud data are HiveQL, JAQL, and CQL. The            3.     CONSISTENCY, AVAILABILITY, PARTI-
previous components complement each other and work to-                    TION TOLERANCE (CAP) THEOREM
gether to provide different sets of functionalities. One im-          Tightly related to key features of cloud data management
portant design decision that was made for most cloud data          systems are discussions on the CAP theorem [14]. It states
query languages is not supporting joins or aggregations. In-       that consistency, availability, and partition tolerance are sys-
stead, the MapReduce framework is used to perform these            tematic requirements for designing and deploying applica-
operations to take advantage of parallel processing on differ-     tions for distributed environments. In the cloud data man-
ent nodes within a cluster. Google pioneered this by provid-       agement context these requirements are:
ing a MapReduce framework that inspired other systems.
   For more insight into connections and dependencies be-               • Consistency: includes all modifications on data that
tween these systems and components, we provide a family                   must be visible to all clients once they are committed.



42
                                     Cloud Data Management: A Short Overview and Comparison of Current Approaches


      System
                                                                                                                                Analytical         RDBMS
                 Distributed Storage/File System                           Structured Data Systems                              Processing           as
                                                                                                                                 Systems           service



                 Amazon S3




                                                                                                                                        HadoopDB
                                                                                                        Cassandra
                                                        SimpleDB




                                                                                                                    CouchDB
                                              Dynamo




                                                                         Bigtable




                                                                                               PNUTS
                                                                                      HBase
                                      HDFS




                                                                                                                               Hive




                                                                                                                                                     RDS
                              GFS
     Property

                                                                   Consistency Model

   ACID                                                                                                                                   X          X

   BASE            X                           X          X                                                           X

   SCLA                                                                   X           X                                         X
   Tunable
                                                                                                X         X
   Consistency
                                                               Partitioning Scheme

   Hash                                                                                                                         X         X

   Range                                                                  X           X         X

   List                                                                                         X                               X
   Composite                                   X                                                          X
   Partition                                  Key
                              file    file                              table       table     table    table                           table
   Level                                     space
                                             set of                                                    set of
   Partition                 chunk   chunk                              tablet      region    tablet                          bucket   chunk
                                             items                                                     items
                                                                     Data Models

   Key Value       X                          X           X               X           X                   X           X         X
   Row
                                                          X
   Oriented
   Wide
                                                                          X           X                   X                     X
   Column
   Document
                                                                                                                      X
   Oriented
   Relational                                                                                   X                                         X          X

                                                                      Replication

   Rack aware                  X      X                                               X                   X                     X         X
   Rack
                   X                                                      X                               X
   unaware
   Datacenter
                                              X           X                                     X         X
   aware
   Replication                                                           DB          DB                                        DB
                 item        chunk   block   item      domain                                 tablet   record       DB                 chunk         DB
   Level                                                                 file        file                                      file
                                                                     Map/Reduce

   Internally                                                                                                                   X         X

   Input for       X           X      X                                   X           X         X         X           X

                                                                       Interface

   Query Lang                                             X                           X                   X                     X         X          X

   API             X                          X           X               X           X         X         X           X         X         X          X



Figure 4: Overview and classification of cloud data management systems(Gray field begins a new category of
properties. Dark gray field means that the property is not applicable on a system)                     43
Cloud Data Management: A Short Overview and Comparison of Current Approaches

       At any given point in time, all clients can read the                                   C
       same data.
     • Availability: means that all operations on data, whether
       read or write, must end with a response within a spec-
       ified time.
     • Partition tolerance: means that even in the case of                                                 HBase
                                                                       HadoopDB
       components’ failures, operations on the database must                                                Hive
                                                                          RDS
       continue.                                                                                             Bigtable
The CAP theorem also states that developers must make
trade-off decisions between the three conflicting requirements
to achieve high scalability. For example, if we want a data
storage system that is both strongly consistent and partition
tolerant, the system has to make sure that write operations                                                Tunable
return a success message only if data has been committed                                   BASE
to all nodes, which is not always possible because of net-             A                                  Consistency   P
work or node failures. This means that its availability will                               CouchDB                      Cassandra
be sacrificed.                                                                             SimpleDB                      PNUTS
  In the cloud, there are basically four approaches for DBMSs                              Dynamo
in dealing with CAP:                                                                       S3
Atomicity, Consistency, Isolation, Durability (ACID):
    With ACID, users have the same consistent view of             Figure 5: Classification of cloud data management
    data before and after transactions. A transaction is          systems based on CAP
    atomic, i.e., when one part fails, the whole transaction
    fails and the state of data is left unchanged. Once a
    transaction is committed, it is protected against crashes              high consistency or high availability and other degrees
    and errors. Data is locked while being modified by                     in between. An example of a system supporting tun-
    a transaction. When another transaction tries to ac-                   able consistency is Cassandra [15] where the user de-
    cess locked data, it has to wait until data is unlocked.               termines the number of replicas that the system should
    Systems that support ACID are used by applications                     update/read. Another example is PNUTS [9], which
    that require strong consistency and can tolerate its af-               provides per record time-line consistency. The user de-
    fects on the scalability of the application as already                 termines the version number to query at several points
    discussed in Section 2.                                                in the consistency time-line. In Figure 5, we classify
                                                                           different cloud data management systems based on the
Basically Available, Soft-state, Eventual consistency
                                                                           consistency model they provide.
(BASE):
     The system does not guarantee that all users see the
     same version of a data item, but guarantees that all         4.       PARTITIONING TECHNIQUES
     of them get a response from the systems even if it             Partitioning, also known as sharding, is used by cloud
     means getting a stale version. Soft-state refers refers      data management systems to achieve scalability. There is a
     to the fact, that the current status of a managed ob-        variety of partitioning schemes used by different systems on
     ject can be ambiguous, e.g. because there are several        different levels. Some systems partition data on the file level
     temporarily inconsistent replicas of it stored. Even-        while others horizontally partition the key space or table.
     tually consistent means that updates will propagate          Examples of systems partitioning data on the file level are
     through all replicas of a data item in a distributed         the DFSs such as GFS and HDFS which partition each file
     system, but this takes time. Eventually, all replicas        into fixed sized chunks of data. The second class of systems
     are updated. BASE is used by applications that can           which partition tables or key space uses one of the following
     tolerate weaker consistency to have higher availability.     partitioning schemes [18, 6] :
     Examples of systems supporting BASE are SimpleDB
     and CouchDB.                                                 List Partitioning A partition is assigned a list of discrete
                                                                       values. If the key of the inserted tuple has one of these
Strongly Consistent, Loosely Available (SCLA): This                    values, the specified partition is selected . An example
    approach provides stronger consistency than BASE.                  of a system using list as the partitioning scheme is
    The scalability of systems supporting SCLA in the                  Hive [20].
    cloud is higher compared to those supporting ACID.
    It is used by systems that choose higher consistency          Range Partitioning The range of values belonging to one
    and sacrifice availability to a small extent. Examples            key is divided into intervals. Each partition is assigned
    of systems supporting SCLA are HBase and Bigtable.                one interval. A partition is selected if the key value of
                                                                      the inserted tuple is inside a certain range. An example
Tunable consistency: In this approach, consistency is con-            of a system using range partitioning is HBase.
    figurable. For each read and write request, the user de-
    cides the level of consistency in balance with the level      Hash Partitioning The output of a hash function is as-
    of availability. This means that the system can work in           signed to different partitions. The hash function is



44
                                 Cloud Data Management: A Short Overview and Comparison of Current Approaches

     applied on key values to determine the partition. This      not reach all replicas or a specified number of them within
     scheme is used when data does not lend itself to list       a specific time. Example of that is the WRITE ALL opera-
     and range partitioning. An example of a system using        tion in Cassandra, where the write fails if the system could
     hash as the partitioning scheme is PNUTS.                   not reach all replicas of data. However, some systems in the
                                                                 cloud choose to be always writeable and push conflict res-
There are some systems that use a composite partitioning         olution to read operations. An example of that is Dynamo
scheme. An example is Dynamo, which uses a composite of          which is used by many Amazon services like the shopping
hash and list schemes (consistent hashing). Some systems         cart service where customer updates should not be rejected.
allow partitioning data several times using different parti-
tioning schemes each time. An example is Hive, where each
table is partitioned based on column values. Then, each par-     6.   DATA MODEL
tition can be hash partitioned into buckets, which are stored      Just as different requirements compared to conventional
in HDFS.                                                         DBMS-based applications led to the previously described
   One important design consideration to make is whether         different architectures and implementation details, they also
to choose an order-preserving partitioning technique or not.     led to different data models typically being used in cloud
Order preserving partitioning has an advantage of better         data management. The main data models used by cloud
performance when it comes to range queries. Examples of          systems are:
systems using order preserving partitioning techniques are
Bigtable and Cassandra. Since most partitioning methods          Key-value pairs It is the most common data model for
depend on random position assignment of storage nodes,               cloud storage. It has three subcategories:
the need for load balancing to avoid non uniform distribu-
tion of data and workloads is raised. Dynamo [13] focuses on             • Row oriented: Data is organized as containers
achieving a uniform distribution of keys among nodes assum-                of rows that represent objects with different at-
ing that the distribution of data access is not very skewed,               tributes. Access control lists are applied on the
whereas Cassandra [17] provides a load balancer that an-                   object (row) or container (set of rows) level [19].
alyzes load information to lighten the burden on heavily                   An example is SimpleDB.
loaded nodes.                                                            • Document Oriented: Data is organized as a col-
                                                                           lection of self described JSON documents. Docu-
5.   REPLICATION TECHNIQUES                                                ment is the primarily unit of data which is iden-
                                                                           tified by a unique ID. Documents are the unit
   Replication is used by data management systems in the
                                                                           for access control [16]. Example of a cloud data
cloud to achieve high availability. Replication means storing
                                                                           management system with document oriented data
replicas of data on more than one storage node and probably
                                                                           model is CouchDB.
more than one data center. The replica placement strategy
affects the efficiency of the system [15]. In the following we           • Wide column: In this model, attributes are grouped
describe the replication strategies used by cloud systems:                 together to form a column family. Column family
                                                                           information can be used for query optimization.
Rack Aware Strategy: Also known as the Old Network                         Some systems perform access control and both
    Topology Strategy. It places replicas in more than one                 disk and memory accounting at the column fam-
    data center on different racks within each data center.                ily level [8, 17, 3]. An example of that is Bigtable.
Data Center Aware Strategy: Also known as the New                          Systems of wide column data model should not be
    Network Topology Strategy. In this strategy, clients                   mistaken with column oriented DB systems. The
    specify in their applications how replicas are placed                  former deals with data as column families on the
    across different data centers.                                         conceptual level only. The latter is more on the
                                                                           physical level and stores data by column rather
Rack Unaware Strategy: Also known as the Simple Strat-                     than by row.
    egy. It places replicas within one data center using a
    method that does not configure replica placement on          Relational Model (RM) The most common data model
    certain racks.                                                   for traditional DBMS is less often used in the cloud.
                                                                     Nevertheless, Amazon’s RDS supports this data model
Replication improves system robustness against node fail-            and PNUTS a simplified version of it.
ures. When a node fails, the system can transparently read
data from other replicas. Another gain of replication is in-
creasing read performance using a load balancer that directs     7.   SUMMARY AND CONCLUSION
requests to a data center close to the user. Replication has a      The cloud with its elasticity and pay-as-you-go model is
disadvantage when it comes to updating data. The system          an attractive choice for outsourcing data management ap-
has to update all replicas. This leads to very important de-     plications. Cloud service providers, such as Amazon and
sign considerations that impact availability and consistency     Microsoft, provide relational DBMSs instances on virtual
of data. The first one is to decide whether to make repli-       machines. However, the cloud technical environment, work-
cas available during updates or wait until data is consistent    loads, and elasticity requirements lead to the development
across all of them. Most systems in the cloud choose avail-      of new breed of storage systems. These systems range from
ability over consistency. The second design consideration is     highly scalable and available distributed storage systems
to decide when to perform replica conflicts resolution, i.e.,    with simple interfaces for data access to fully equipped DBMSs
during writes or reads. If conflict resolution is done during    that support sophisticated interfaces, data models, and query
write operations, writes could be rejected if the system can     languages.



                                                                                                                           45
Cloud Data Management: A Short Overview and Comparison of Current Approaches

   Cloud data management systems faced with the CAP the-          [5] M. Armbrust, A. Fox, R. Griffith, A. D. Joseph, R. H.
orem trade-off provide different levels of consistency ranging        Katz, A. Konwinski, G. Lee, D. A. Patterson,
from eventual consistency to strict consistency. Some sys-            A. Rabkin, I. Stoica, and M. Zaharia. Above the
tems allow users to determine the level of consistency for            clouds: A berkeley view of cloud computing. Technical
each data input/output request by determining the number              report, EECS Department, University of California,
of replicas to work with or the version number of the data            Berkeley, 2009.
item. List, range, hash, and composite partitioning schemes       [6] S. S. Avi Silberschatz, Henry F. Korth. Database
are used to partition data to achieve scalability. With par-          System Concepts Fifth Edition. McGraw-Hill, 2010.
titioning comes the need for load balancing with two ba-          [7] D. Borthakur. The Hadoop Distributed File System:
sic methods: uniform distribution of data and workloads,              Architecture and Design. The Apache Software
and analyzing load information. With data partitioned and             Foundation, 2007.
distributed over many nodes, taking into consideration the        [8] F. Chang, J. Dean, S. Ghemawat, W. C. Hsieh, D. A.
possibility of node and network failures, comes the need for          Wallach, M. Burrows, T. Chandra, A. Fikes, and R. E.
replication to achieve availability. Replication is done on           Gruber. Bigtable: A distributed storage system for
the partition level using rack aware, data center aware, and          structured data. In In Proceedingss of the 7th
rack unaware placement strategies. Cloud data management              Conference on Usenix Symposium on Operating
systems support relational data model, and key-value pairs            Systems Design and Implementation - Volume 7,
data model. The key-value pairs is widely used with differ-           pages 205–218, 2006.
ent variations: document oriented, wide column, and row           [9] B. F. Cooper, R. Ramakrishnan, U. Srivastava,
oriented.                                                             A. Silberstein, P. Bohannon, H.-A. Jacobsen, N. Puz,
   As outlined throughout this paper, several typical proper-         D. Weaver, and R. Yerneni. Pnuts: Yahoo!’s hosted
ties of traditional DBMS, such as advanced query languages,           data serving platform. Proc VLDB Endow., 2008.
transaction processing, and complex data models, are mostly
                                                                 [10] C. Curino, E. Jones, R. A. Popa, N. Malviya, E. Wu,
not supported by cloud data management systems. Some
                                                                      S. Madden, H. Balakrishnan, and N. Zeldovich.
of them, because they are simply not required for current
                                                                      Relational Cloud: A Database Service for the Cloud.
cloud applications. Others, because their implementation
                                                                      In 5th Biennial Conference on Innovative Data
would lead to losing some of the important advantages, e.g.,
                                                                      Systems Research, 2011.
scalability and availability, of current cloud data manage-
ment approaches. On the one hand, providing features of          [11] S. Das, S. Agarwal, D. Agrawal, and A. E. Abbadi.
conventional DBMS appears to lead toward worthwhile re-               ElasTraS: An Elastic, Scalable, and Self Managing
search directions and is currently addressed in ongoing re-           Transactional Database for the Cloud. Technical
search. On the other hand, advanced requirements, which               report, 2010.
are completely different may arise from future cloud appli-      [12] J. Dean and S. Ghemawat. Mapreduce: simplified data
cations, e.g., interactive entertainment, on-line role playing        processing on large clusters. Commun. ACM, 2008.
games, and virtual realities, have interesting characteristics   [13] G. DeCandia, D. Hastorun, M. Jampani,
of continuous, collaborative, and interactive access patterns,        G. Kakulapati, A. Lakshman, A. Pilchin,
sometimes under real-time constraints. In a similar way,              S. Sivasubramanian, P. Vosshall, and W. Vogels.
new ways of human-computer interaction in real-world en-              Dynamo: Amazon’s highly available key-value store.
vironments addressed, for instance, in ubiquitous comput-             SIGOPS Oper. Syst. Rev., 2007.
ing and augmented reality are often very data-intensive and      [14] A. Fox, S. D. Gribble, Y. Chawathe, E. A. Brewer,
sometimes require expensive processing, which could be sup-           and P. Gauthier. Cluster-based scalable network
ported by cloud paradigms. Nevertheless, neither traditional          services. SIGOPS Oper. Syst. Rev., 1997.
DBMS nor cloud data management can currently sufficiently        [15] E. Hewitt. Cassandra The Definitive Guide. O Reilly
support those applications.                                           Media, Inc, 2010.
                                                                 [16] J. L. J. Chris Anderson and N. Slater. CouchDB The
8.   ACKNOWLEDGMENTS                                                  Definitive Guide. OReilly Media, Inc, 2010.
  We would like to thank the Syrian ministry of higher ed-       [17] A. Lakshman and P. Malik. Cassandra: a
ucation for partially funding this research.                          decentralized structured storage system. SIGOPS
                                                                      Oper. Syst. Rev., 2010.
                                                                 [18] S. B. e. a. Lance Ashdown, Cathy Baird. Oracle9i
9.   REFERENCES                                                       Database Concepts. Oracle Corporation., 2002.
 [1] Amazon RDS FAQ.                                             [19] R. H. Prabhakar Chaganti. Amazon SimpleDB
     http://aws.amazon.com/rds/faqs/. [online; accessed               Developer Guide Scale your application’s database on
     10-March-2012].                                                  the cloud using Amazon SimpleDB. Packt Publishing
 [2] Cassandra Query Language Documentation.                          Ltd, 2010.
     http://caqel.deadcafe.org/cql-doc. [online; accessed        [20] A. Thusoo, J. S. Sarma, N. Jain, Z. Shao, P. Chakka,
     25-July-2011].                                                   S. Anthony, H. Liu, P. Wyckoff, and R. Murthy. Hive:
 [3] HBase: Bigtable-like structured storage for Hadoop               a warehousing solution over a map-reduce framework.
     HDFS. http://wiki.apache.org/hadoop/hbase. [online;              Proc. VLDB Endow., 2009.
     accessed 01-March-2012].
 [4] Jaql Overview.
     http://www.almaden.ibm.com/cs/projects/jaql/.
     [online; accessed 31-August-2011].



46
     Cloud-Services und effiziente Anfrageverarbeitung für
                      Linked Open Data
                                                      [Work in Progress]
                                                 Heiko Betz, Kai-Uwe Sattler
                                       Department of Computer Science and Automation
                                                   TU Ilmenau, Germany
                                                  {first.last}@tu-ilmenau.de


ABSTRACT                                                              QL [2] auf. Dies ist eine graph-basierte Anfragesprache für
Der Verbreitungsgrad von Linked Open Data hat in den                  RDF-Daten. Sie definiert neben der Möglichkeit Daten abzu-
letzten Jahren massiv zugenommen. Stetig erscheinen neue              fragen, ähnlich dem SQL aus der Datenbankwelt, ein Trans-
Quellen, die RDF-Daten frei zur Verfügung stellen. Aktu-             portprotokoll zwischen verschiedenen SPARQL-Endpoints.
ell diskutiert die Bundesregierung über ein neues Gesetz,            In SPARQL selbst werden Basic Graph Patterns (BGP) für
welches zur Offenlegung von Daten der öffentlichen Hand              die Abfrage von Daten verwendet, die aus einem oder meh-
verpflichtet. Durch diese Maßnahme, steigt u. a. die Menge            reren Tripeln bestehen. Hierdurch ergeben sich joinintensive
an Linked Open Data sehr schnell an. Es werden neue Ver-              Abfragen, die eine weitere detaillierte Betrachtung benöti-
fahren benötigt, die mit sehr vielen RDF-Daten gleichzeitig          gen.
eine effiziente, skalierbare und mit Garantien versehene Ab-
frage von Daten mittels SPARQL gewährleistet. In dieser              Fallunterscheidung.
Arbeit wird ein reines In-Memory Shared-Nothing-System                  Für die Beantwortung von (komplexen) quellenübergrei-
vorgestellt, das die genannten Anforderungen in effizienter           fenden Anfragen müssen nun zwei Fälle unterschieden wer-
Weise erfüllt. Hierfür werden verschiedenste Optimierungs-          den [7]:
maßnahmen ergriffen, die das Potenzial moderner Hardware
umfassend ausnutzen.                                                    1. Verteilter Ansatz: Daten bleiben in den Quellen. An-
                                                                           fragen werden von einem Koordinator entgegengenom-
                                                                           men, in Subanfragen aufgesplittet, den entsprechenden
1.   EINFÜHRUNG                                                            Quellen zugesandt, von diesen bearbeitet und das Re-
   Die Anzahl an verfügbaren Quellen für Linked Open Data                sultat vom Koordinator entgegengenommen.
(LOD) wächst stetig an1 . Unter anderem wurde vor kurzem
von der Bundesregierung die Open Data-Initiative gestartet.             2. Data Warehouse Ansatz: Daten werden von verschie-
Es sollen Daten, die durch Steuergelder finanziert wurden,                 denen Quellen geladen, vorverarbeitet und lokal abge-
der Öffentlichkeit frei zur Verfügung stehen2 . Insgesamt geht           legt (materialisiert). Anfragen können direkt durchge-
die Anzahl an verfügbaren LOD-Quellen in diesem hochver-                  führt werden. Die Quellen bleiben gleichzeitig erhalten.
teilten System in die Hunderttausende bzw. Millionen über.
Es werden disjunkte bzw. teils überlappende Daten bereit-            Punkt 1 besitzt mehrere potenzielle Vorteile. Durch die Ver-
gestellt, die häufig untereinander verlinkt sind, jedoch nicht       teilung wird ein Single Point of Failure (SPOF) vermieden.
immer einem gemeinsamen Qualitätsstandard entsprechen.               Der Koordinator muss keine Daten speichern, da sie alle
   Die innere Struktur von LOD entspricht dem Ressource               in den Quellen vorliegen. Er muss nur einen geringen Spei-
Description Framework [1] (RDF) Aufbau. In diesem wer-                cherplatz und nur eine geringe Rechenkapazität zur Verfü-
den Daten als Tripel repräsentiert (Subjekt, Prädikat und           gung stellen. Ein wichtiger Punkt, der für eine Verteilung der
Objekt). Hierauf baut wiederum die Abfragesprache SPAR-               Quellen spricht, ist, dass die Daten nicht an andere Unter-
1
                                                                      nehmen herausgegeben werden müssen. Es können ’Firmen-
  Die LOD-Cloud, welche nur einen minimalen Ausschnitt                geheimnisse’ bewahrt werden. Als Nachteile ergeben sich je-
darstellt und unter http://www4.wiwiss.fu-berlin.de/                  doch einige Punkte. Die Zerlegung von Anfragen in Subque-
lodcloud/state/ zu finden ist, umfasst mittlerweile ca. 31
Milliarden Einträge.                                                 ries und alle daraus folgenden Schritte sind ein hoch komple-
2
  http://heise.de/-1429179                                            xes Problem (Parsing, Normalisierung, eingebettete Anfra-
                                                                      gen ’herausdrücken’, Vereinfachung, Datenlokalisation, Op-
                                                                      timierung). Zwei weiter nicht zu unterschätzende Nachtei-
                                                                      le sind die fehlenden Kontroll- und Überwachungsmechanis-
                                                                      men der Quellen. Die Antwortzeit in einem solchen Szenario
                                                                      ist nach oben unbeschränkt. Es ergibt sich, dass keinerlei Ga-
                                                                      rantien abgegeben werden können. Weiterhin ist durch die
                                                                      Verteilung das verwendete Schema dem Koordinator gänz-
                                                                      lich unbekannt. Viele Quellen sind zudem nicht in der Lage,
24th GI-Workshop on Foundations of Databases (Grundlagen von Daten-
banken), 29.05.2012 - 01.06.2012, Lübbenau, Germany.                  SPARQL-Anfragen zu verarbeiten. Sie liefern nur die Quel-
Copyright is held by the author/owner(s).                             len über einen Webserver aus. Wären SPARQL-Anfragen



                                                                                                                                  47
Cloud-Services und effiziente Anfrageverarbeitung für Linked Open Data

möglich, wären Analyseanfragen à la Data Warehouse-Anfragen     hierbei als Framework und nicht als reine Datenablage an-
auch nur bedingt möglich.                                         gesehen werden. Neben SPARQL-Anfragen soll es den Be-
   Die zentralen Nachteile des Punktes 2 sind die (i.) benötig-   nutzer im gesamten Workflow unterstützen. Unter Work-
te Zeit zum Einsammeln aller Daten, die (ii.) Durchführung        flow werden die Folgenden Operationen verstanden: Einfü-
einer Vorberechnung und das Problem, dass niemals gewähr-         gen/Löschen/Ändern von Tripeln sowie die Abfrage/Analy-
leistet werden kann, dass (iii.) alle Daten aktuell sind. Zu-      se von Daten. Unter dem Stichpunkt Analyse fallen sämtli-
dem wird (iv.) ein SPOF, sowie ein (v.) extrem hoher Spei-         che Data-Mining-Aufgaben, die in einem Data-Warehouse-
cherplatz an einer einzigen zentralen Instanz in Kauf genom-       Szenario möglich sind. Ein weiteres Ziel ist die Unterstüt-
men. Ein weiterer Nachteil beider Fälle ist das (vi.) unbe-       zung von SLAs. Neben dem Garantieren von maximalen
kannte Schema und die (vii.) geringe Datenqualität. Im zen-       Antwortzeiten sollen auch Garantien bezüglich der Verfüg-
tralisierten Fall kann jedoch auf die letzten beiden Probleme      barkeit und der Aktualität von Daten, sowie einige ande-
effizient reagiert werden, indem entsprechende Indizes ange-       re mehr beachtete werden. Letztendlich soll das System als
legt und/oder verschiedenste Optimierungen durchgeführt           ein Cloud-Service für LOD-Daten propagiert werden. Das
werden. Eine entsprechende Datenvorverarbeitung kann zu-           Ziel hierbei ist, Kosten für den Endbenutzer einzusparen.
dem davor gestartet werden, um die Datenqualität zu ver-          Er möchte nur für den von ihm selbst verursachten Aufwand
bessern. Beides wird durch die einheitliche Form der Daten         bezahlen (Service on Demand). Im alternativen Fall müsste
als reine Tripel unterstützt. Der große Vorteil, der sich aus     eine eigene Infrastruktur aufgebaut werden, was häufig zu
dem zentralisierten Ansatz ergibt, ist die Möglichkeit, An-       viel höheren Kosten führt.
fragezeiten zu einem bestimmten Prozentsatz zu gewährleis-           Diese Arbeit beschäftigt sich mit einem Teil aus dem so-
ten, da sich das gesamte System unter der Kontrolle einer          eben beschriebenen Zieles. Es soll ein erster Ansatz für einen
Instanz befindet. Weiterhin kann ein Scale-Out (Erhöhung          Datenspeicher für Linked Open Data aufgezeigt werden, der
der Speicherkapazität (v.), Verbesserung der Antwortzeiten)       mit sehr großen Datenmengen eine effiziente Anfrageverar-
und eine Replikation (Beseitigung SPOF (iv.), Verbesserung         beitung ermöglicht. Hierfür ist ein zuverlässiges Scale-Out-
der Antwortzeiten) angestrebt werden. Zur Verringerung der         Verfahren notwendig, welches vorgestellt wird. Des Weiteren
Speicherkapazität (v.) können effiziente Kompressionstech-       soll das gewählte Verfahren auf eine wechselnde Anfragelast
niken verwendet werden, die zugleich lese- und schreibopti-        reagieren können.
miert sind, was zu einer weiteren Verringerung des benötig-
ten Speicherplatzes führt. Durch die Verwendung von push          2.   STATE-OF-THE-ART
und Bulk Load-Techniken zur Datenintegration anstelle von
                                                                      Für die Verarbeitung von LOD existieren bereits viele
reinen pull-Techniken kann garantiert werden, dass die abge-
                                                                   verschiedene Systeme, die RDF-Daten entgegennehmen und
fragten Daten aktuell (iii.) sind. Das Einsammeln von Daten
                                                                   SPARQL-Queries ausführen. Einige bekanntere System sind
ist nur zu Beginn einmal nötig, wenn eine neue Datenquelle
                                                                   Virtuoso [5], MonetDB [3], Hexastore [14], Jena [15] und
erschlossen wird (i. und ii.).
                                                                   RDF-3X [11]. Virtuoso ist ein weitverbreitetes relationales
   Der Mechanismus des Scale-Outs und der Replikation be-
                                                                   Datenbanksystem, das aus allen Kombinationen des Subjek-
dingen jedoch, dass eine Zerlegung der Anfrage durchgeführt
                                                                   tes, Prädikates und Objektes Indizes erzeugt. Somit kann
werden muss. Wobei dieser eine Nachteil durch die oben ge-
                                                                   sehr schnell auf Daten zugegriffen werden. MonetDB ist ein
nannten Vorteile aufgewogen wird. Insgesamt sprechen viele
                                                                   OpenSource Column-Store, der eine Menge von Zwischen-
Faktoren für die Verwendung eines zentralisierten Ansatzes.
                                                                   ergebnissen im Speicher hält, um neue und ähnliche An-
   Garantien bezüglich den soeben erwähnten Antwortzei-
                                                                   fragen schneller bearbeiten zu können. Hexastore ist eine
ten sind äußerst komplex in ihrer Umsetzung und benötigen
                                                                   In-Memory-Lösung. Es erzeugt aus allen möglichen Kom-
im extremen Fall viele vorallokierte Kapazitäten, die wäh-
                                                                   binationen von Tripeln Indizes, die daraufhin in einer Lis-
rend normaler Nutzung brachliegen und hohe Kosten ver-
                                                                   te abgelegt werden. Für die Vermeidung von Dopplungen
ursachen. Stattdessen werden sie nur während Lastspitzen
                                                                   und zur Kompression werden Strings in einem Wörterbuch
benötigt. Folglich werden aus diesem Grund häufig prozen-
                                                                   abgelegt. Jena ein bekanntes OpenSource-Projekt kann ver-
tuale Werte angegeben. Es sollen beispielsweiße 99,99 % aller
                                                                   schiedene Datenspeicher verwenden. Einerseits können die
Anfragen in der maximal erlaubten Zeitspanne beantwortet
                                                                   Daten in einem eigenen Format abgelegt werden, anderer-
werden. Erst ein solches Vorgehen erlaubt es, dass während
                                                                   seits in einer relationalen Datenbank. Auch Jena verwendet
einer Lastspitze neue Kapazitäten hinzugenommen werden
                                                                   ein Wörterbuch zur Kompression. RDF-3X verwendet auch
können (automatisierter Scale-Out). Das Ziel hierbei ist, zu-
                                                                   mehrere Indizes, um alle möglichen Kombinationen abzu-
künftige Anfragen wieder innerhalb der gesetzten Antwort-
                                                                   speichern und legt diese in B+-Bäumen ab. Zudem enthält
zeit beantworten zu können. Am Ende der Lastspitze wer-
                                                                   es eine ausgeklügelte Anfrageoptimierung, die speziell auf
den die zusätzlich allokierten Ressourcen wieder freigege-
                                                                   die Besonderheiten von RDF abgestimmt ist.
ben. Letztendlich werden hierdurch Kosten für den Betrei-
                                                                      Werden alle vorgestellten Systeme genauer betrachtet, stellt
ber des Services eingespart. Wichtig zu erwähnen ist, dass
                                                                   man fest, dass diese einige Nachteile besitzen. Entweder sind
die Garantie bezüglich der Antwortzeit nicht für jede belie-
                                                                   diese auf bestimmte Operationen (lesen, ändern) und/oder
bige SPARQL-Anfrage garantiert werden kann. Stattdessen
                                                                   Domänen getrimmt und/oder sind nicht skalierbar im Sinne
soll dies nur für gewöhnliche“ Anfragen gelten.
                   ”                                               eines Scale-Outs und somit ungeeignet für sehr große Da-
                                                                   tenmengen. Stattdessen setzten sie auf die Leistung einer
Projektziel.                                                       einzigen Maschine, was zu einem erheblichen Performance-
  Das Ziel dieses Projektes ist es, ein hochverfügbares, -        , Speicherplatz- und Verfügbarkeitsproblem werden kann.
skalierbares und -effizientes System aufzubauen, welches meh-      Weiterhin unterstützt keines der erwähnten Systeme Garan-
rere hundert Milliarden bzw. mehrere Billionen Tripel von          tien bezüglich Antwortzeiten. Sie setzen zudem auf einen
RDF-Daten in einer materialisierten Form vorhält. Es soll         Permanentspeicher, welcher I/O-Zugriffe erfordert. Dies er-



48
                                               Cloud-Services und effiziente Anfrageverarbeitung für Linked Open Data

     Query                                                       geführt werden. Die Verwendung einer reinen In-Memory
                                                Pull             Lösung basiert auf der Grundlage, zukünftig Antwortzeiten
                                         ...                     garantieren zu können.
                                                                    Linked Open Data bestehen ausschließlich aus Tripeln, die
                                                 Datenquellen    wiederum aus Strings bestehen. Werden die darin abgespei-
                                                                 cherten Werte genauer untersucht, stellt man fest, dass die-
                                                Push             selben Stringwerte mehrmals auftreten. Hier ist eine Kom-
                                                                 pression nützlich, um Speicherplatz einzusparen. Dies fällt
             Innere Aufbau                                       umso mehr ins Gewicht, da der Data-Warehouse Ansatz an-
                                                                 gestrebt wird. Die naheliegenste Technik, ist der Einsatz ei-
                                                                 nes rein lokalen Wörterbuches. In einem solchen wird jeder
Figure 1: Aufbau des Systems mit mehreren un-                    Stringwert auf eine eindeutige ID gemappt. Hierfür ist wie-
abhängigen Knoten, die untereinander verbunden                  derum eine effiziente Anfrageverarbeitung von Nöten, die im
sind. Annahme einer Query und Weitergabe an ei-                  folgenden Abschnitt beschrieben wird.
nem beliebigen Knoten. Einspielen von neuen Da-
tenquellen durch Push und Pull.
                                                                 Kombinierte Row- und Column-Store.
                                                                    Ein Chunk besteht intern aus einer Kombination von Row-
                                                                 und Column-Store [9]. Jede logische Zeile enthält drei Spal-
höht wiederum sehr schnell die Antwortzeit. Eine Gewäh-
                                                                 ten für Subjekt, Prädikat und Objekt, wobei in einem je-
rung von Garantien wird erschwert. Einige dieser Ansätze
                                                                 den Feld nur ein einzelner Integerwerte abgelegt ist. Werden
sind zudem bereits mit wenigen Milliarden Tripeln über-
                                                                 nun alle einzelnen Integerwerte eines Tripels mittels Shift-
fordert (Jena). Andere verwenden alte Konzepte für neuere
                                                                 Operationen disjunkt zu einem Wert vereint, ergibt sich ein
Probleme (Virtuoso), was nicht immer zu einer optimalen
                                                                 Wort mit 96 Bit Breite, wenn jeweils 32 Bit für Subjekt,
Lösung beiträgt.
                                                                 Prädikat und Objekt angenommen werden. Somit wird die
   Bezüglich den Garantien von Antwortzeiten, beschreiben
                                                                 Datenzeile aus drei logischen Spalten zu einer physischen
die Autoren in [12] und [9] ein Verfahren zur Beantwortung
                                                                 Spalte vereint, die in einem theoretischen Drittel der Zeit
von Anfragen in einem konstanten Zeitintervall. Dies wird
                                                                 überprüft werden kann.
durch verschiedenste Optimierungen erreicht. Unter ande-
                                                                    Moderne CPUs besitzen interne SIMD3 -Register die ei-
rem wird beschrieben, wie ein Row- und Column-Store mit-
                                                                 ne Breite von 256-Bit besitzen. Diese wurde mit dem neu-
einander verschmolzen wird und trotzdem eine effiziente An-
                                                                 en AVX4 -Befehlsatz von Intel eingeführt. In einem solchen
frageverarbeitung ermöglicht wird.
                                                                 Register werden mehrere logisch getrennte Einheiten zu ei-
                                                                 ner physischen Einheit verbunden, die in einer Instruktion
3.    ARCHITEKTUR                                                gleichzeitig bearbeitet werden können. Hierfür müssen die
   Die Architektur des Gesamtsystems ist in Abbildung 1          einzulesenden Daten auf eine volle 2-er Potenz ergänzt und
aufgezeigt. Sie folgt dem typischen Scale-Out-Paradigma mit      die Wortgrenze bekannt sein.
verschiedenen Shared-Nothing-Systemen (Kreise in der Mit-           Werden die Fakten vereint, muss zuerst das 96 Bit Wort
te), die alle gleichberechtigt sind. Anfragen können von be-    auf 128 Bit, ergänzt werden. Mit Hilfe der verfügbaren 256-
liebigen Knoten entgegengenommen werden. Im nächsten            Bit können nun zwei logische Datenzeilen mit jeweils 128-
Schritt wird ein Queryrewriting durchgeführt und an die ent-    Bit gleichzeitig überprüft werden. Theoretisch ergibt sich
sprechenden Knoten weitergegeben. Die Empfänger nehmen          eine bis zu sechsfache Performancesteigerung. Mittels der
die umgeschriebenen Anfragen entgegen, bearbeiten diese          Vermeidung von Sprung- und sonstigen Befehlen, die Leer-
und senden letztendlich das Ergebnis zurück. Nachdem alle       lauf produzieren, ist dieses Verfahren sehr Cache freundlich.
Einzelergebnisse eingetroffen sind werden diese mittels ver-     Einmal verwendete Daten können stur linear abgearbeitet
schiedener Join-Operationen zu einem Ergebnis verknüpft.        werden. Zugriffe auf dem langsamen RAM werden damit
Dieses wird letztlich an den ursprünglich anfragenden Cli-      vermieden. Insgesamt wird die Struktur moderner Hardware
ent als Ergebnis zurück gesandt. Auf der rechten Seite der      sehr gut ausgenutzt und eine Performancesteigerung ergibt
Grafik ist ersichtlich, dass neue Daten mittels push- oder       sich.
pull-Techniken eingespielt werden können und dies während         Wie oben erwähnt, muss in diesem Fall eine Ergänzung
der Laufzeit, mit Einhaltung der Antwortzeitgarantien.           von 96-Bit auf 128-Bit durchgeführt werden. Es verbleiben
                                                                 32 ungenützte Bit. Diese können für eine weitere Spalte ver-
3.1     Lokale Verarbeitung                                      wendet werden. In dieser kann die Sprache bzw. der Daten-
  Die lokale Verarbeitungseinheit liegt auf einem Knoten         typ des (Literal)Objektes vermerkt werden [1]. Sollten ent-
und besteht aus einem Java-Programm, sowie vorwiegend            sprechende Filterbedingungen auftreten, können diese direkt
aus einer C++ In-Memory-Datenhaltung und Datenabfra-             mit übernommen werden, was zu einer weiteren Performan-
gemöglichkeit, die LODCache genannt wird. Dies ist eine         cesteigerung beiträgt. Andererseits können die 32-Bit pro
hochperformante, reine In-Memory Lösung für LOD, die den       Spalte zu gering sein und entsprechend erweitert werden. Es
L2-, wenn vorhanden L3-Cache und die RAM-Struktur mo-            ist auch eine Kombination aus beiden möglich (z. B. 40 Bit
derner Hardware effizient ausnutzt. Allokierte Datenfelder,      pro Spalte und 8 Bit für Sprache und Datentyp).
sogenannte Chunks, entsprechen genau der Größe des L2-             Durch die Verwendung von Integerwerten, die eine feste
Caches. Dies ermöglicht es sehr effizient auf Daten zuzugrei-   Bitbreite besitzen, wird auf einen expliziten und unvorher-
fen, diese zu Bearbeiten und Berechnungen auf diesen durch-
                                                                 3
zuführen. Des Weiteren können Anfragen an den LODCache             Single instruction, multiple data
                                                                 4
gestellt, sowie Änderungen und Einfügeoperationen durch-           Advanced Vector Extensions



                                                                                                                             49
Cloud-Services und effiziente Anfrageverarbeitung für Linked Open Data

sehbar langen Stringvergleich verzichtet. Dies erhöht weiter                0             1              2
die Performance und verbessert die Antwortzeit.                                           A
   Wie zu erkennen ist, wird auf eine Erzeugung von zusätz-                                              0       1     2
lichen Indixes verzichtet. Dies ergibt sich aus der Speicherre-                                 0             2
                                                                                                                  B
                                                                                                      1
striktion und dem nötigen Wartungsaufwand, der während
jeder Änderung anfällt. Hierdurch können Operationen un-
                                                                                                    AB
                                                                                                    201
vorhersehbar lange blockiert werden. Es sind keine Garan-
tien mehr möglich. Anstelle werden wie in einem gewöhn-
lichen Column-Store alle Elemente stetig geprüft. Dies ist       Figure 2: Aufbau des Baumes nach dem Einfügen
durch moderne Hardware und der ständig steigenden Paral-         von ’AB’ (Rechteck), welches über den Pfad 201 er-
lelisierung problemlos möglich. Sind c Cores gegeben, muss       reichbar ist.
jeder Core nur maximal d cC  c
                               e Elemente überprüfen, wobei
cC die Anzahl der Chunks angibt.
                                                                  gleichzeitig effizient durchgeführt werden kann. Dies könnte
Lokale Anfrageverarbeitung.                                       naiv erreicht werden, indem jeder nachfolgende Mapping-
   Der LODCache besitzt keinerlei Logik für die Optimie-         wert einige Zahlen zu seinem Vorgänger überspringt. Treten
rung von Anfragen. Aus diesem Grund ist eine vorgelagerte         nun neue Einträge auf, können diese solange eingefügt wer-
Java-Applikation vorhanden. Diese nimmt SPARQL-Anfragen           den, wie freie Plätze existieren. Ein Problem dieses Ansat-
entgegen, zerlegt diese, optimiert sie (lokale Optimierung)       zes ist jedoch, dass nicht bekannt ist, in welcher Reihenfolge
und überführt sie in die Sprache des LODCaches. Dieser          Strings auftreten und es ist gänzlich unbekannt an welcher
führt die entsprechende Operation durch und übergibt das        freien Position ein Element eingefügt werden muss/soll (in
Ergebnis dem Java-Programm mittels JNI5 , dass die ermit-         der Mitte, an der ersten oder letzten freien Position?). Eine
telten Daten an den Aufrufer sendet.                              falsche Position bedingt eine schnellere Reorganisation. Aus
   Wird eine exakt Match Anfrage mit Subjekt1 , Objekt1           diesem Grund muss ein besser geeignetes Verfahren verwen-
und einem freien Prädikat ?p an den LODCache gesandt,            det werden.
werden zuerst die Integerwerte der fest definierten Strings          Ein solches wird für XML-Daten in [8] beschrieben. Die
gesucht und in ein Wort mittels Shift und logischen OR-           Autoren zeigen ein rekursives Verfahren, um Daten in ei-
Operationen zu einer Maske (m) ergänzt. Dies wird mit-           nem Baum abzulegen und eine eindeutige ID zu generie-
tels vier CPU-Operationen durchgeführt werden (COPY,             ren. Hierfür wird auf jeder Ebene jede mögliche Verzweigung
SHIFT, OR, SHIFT). Die Operationen zum Filtern der Da-            durchnummeriert6 . Nun wird zwischen geraden und ungera-
ten aus einem Chunk beschränken sich daraufhin nur noch          den Elementen unterschieden. Die ungeraden Elemente sind
auf ein logisches AND und einen Vergleich (CMP), je Ein-          vorhanden, um darin Werte sortiert aufzunehmen (durchge-
trag und Chunk. Die genaue Berechnung ist im Folgenden            zogene Linie). Im Gegensatz zu den Ungeraden, denn die-
nochmals dargestellt. Wobei e das zu überprüfende Element       se spannen einen neuen Unterbaum auf (gestrichelte Linie).
ist, m die Maske und r das Ergebnis als boolescher Wert.          Soll ein neuer Wert eingefügt werden, wird dieser auf der
                                                                  höchsten Ebene (sortiert) hinzugefügt, die (i.) mindestens
r = (e AND m) CMP m                                               einen freien Platz besitzt und (ii.) lexikografisch den String
                                                                  korrekt einordnet. Das neue Element kann nun über die Kon-
   Werden Bereichsanfragen betrachtet, muss das Mapping           katenation aller traversierten Baumverzweigungen eindeutig
der Strings auf Integerwerte eindeutig und ordnungserhal-         identifiziert werden und wird sinnvollerweise in einem String
tend sein, da sonst immer das Wörterbuch zu Rate gezo-           überführt. In Abbildung 2 ist ein Beispiel mit den Elementen
gen werden müsste. Dies bedeutet, jeder Integerwert muss         ’A’, ’B’ und dem neuen Element ’AB’ gegeben. Durch die-
mit der lexikografischen Ordnung seines gegenüberliegenden       sen Ansatz ist gewährleistet, dass sich neue Elemente immer
Strings übereinstimmen. Nur so können die in [9] aufge-         zwischen zwei bereits bestehenden Elementen einsortieren
führten Operationen angewandt und die Performance von            lassen. Problematisch an diesem Ansatz ist jedoch, dass be-
SIMD-Befehlen ausgenutzt werden. Hierfür muss zuerst der         liebig viele Unterbäume generiert werden können, der Baum
minimale und maximale Integerwert der Bereichsanfrage er-         zu einer Liste entartet und somit die Pfadlänge zu einem
mittelt werden. Daraufhin werden zwei Masken erstellt und         Element sehr lang werden kann. Dies widerspricht jedoch
die Daten in den Chunks mit diesen, durch verschiedene lo-        der oben genannten Forderung, nach einer festen Breite für
gische Operationen, verglichen.                                   Elemente, sowie der Verwendung eines Integerwertes. Aus
                                                                  diesem Grund muss eine Modifikation dieses Ansatzes ver-
Ordnungserhaltender Baum.                                         wendet werden.
   Ein Problem tritt jedoch beim Einfügen von neuen String-         Anstelle eines Strings, um den Pfad eindeutig zu identifi-
werten auf. Diese werden meist lexikografisch zwischen zwei       zieren, werden nun beispielsweise 32 Bit Werte verwendet.
bereits bestehenden Elementen eingeordnet. Somit müssten         Im Folgenden werden weiterhin jeweils 2 Bit pro Ebene ver-
sich in einem naiven Ansatz alle IDs aller nachfolgenden          wendet. Wobei für jede neue Ebene, die neu hinzukommen-
Stringwerte ändern. Das Wörterbuch und alle bestehenden         den Bits an den bereits bestehenden Bits dahinter gehan-
Chunks müssen daraufhin überprüft und ggf. abgeändert         gen werden (von der größten zur kleinsten Wertigkeit). Es
werden.                                                           ergeben sich insgesamt maximal 16 Ebenen. Von den mög-
   Dies ist ein sehr großes und äußerst schwerwiegendes Pro-     lichen vier (2b = 22 ) Werten pro Ebene können nur drei
blem, welches sich nicht vermeiden lässt. Es kann nur ver-       verwendet werden (00, 01, 10). Dies ergibt sich daraus, da
sucht werden, dass die Reorganisation möglichst selten und       der Wert 11 ungerade ist. In einem solchen müsste nach der
5                                                                 6
    Java Native Interface                                             In den weiteren Ausführungen wird von 0 gestartet.



50
                                                Cloud-Services und effiziente Anfrageverarbeitung für Linked Open Data

         00             01                 10                      Eingabe von Daten einen Hashwert, der genau einem Knoten
                       A                 00            10
                                                                   im Chord-Ring zugeordnet ist. Eine einfache Datenlokalisa-
                                                01                 tionsfunktion ist hierdurch gegeben. Der Vorteil, der hieraus
                             00     01     10   B                  entsteht ist ein globaler und flüchtiger Index, der keinerlei
                                                                   Wartung benötigt und auf allen n Elementen gleichermaßen
                                   AB
                                                                   zur Verfügung steht.
                                  100001                              Für die Indizierung von RDF-Tripeln werden alle einstel-
                                                                   ligen Kombinationen aus Subjekt, Prädikat und Objekt er-
Figure 3: Aufbau des Baumes nach dem Einfügen                     zeugt (s→op, p→so, o→sp). Diese werden nun mittels h(x)
von ’AB’ (Rechteck), welches über den Pfad 100001                 auf den Ring verteilt, indem das zu indizierende Element in
erreichbar ist.                                                    h(x) gegeben wird und der entsprechende Knoten bestimmt
                                                                   wird. Für dasselbe Literal ergibt sich immer derselbe Hash
                                                                   und somit ist immer derselbe Knoten zuständig.
oben genannten Definition ein Element ablegt werden. Je-
doch existiert nach diesem kein weiteres gerades Element,          Globale Anfrageverarbeitung.
womit nach einem falsch einsortierten Element kein weite-            Im ersten Schritt wird eine beliebige SPARQL-Anfrage
res lexikografisch dahinter liegendes Element eingefügt wer-      einem Client an einem beliebigen Knotenelement gesandt.
den kann. Dies würde eine frühere Reorganisation erzwingen,      Der Empfänger wird zum Koordinator dieser Anfrage. Nun
was zu vermeiden ist. In Abbildung 3 ist das bereits weiter        zerlegt er die SPARQL-Anfrage und überprüft, ob er alle
oben gezeigte Beispiel nochmals auf diesen Sachverhalt ab-         Daten lokal besitzt. Ist dies der Fall, liest er die Daten aus
gebildet.                                                          und führt die gesamte Berechnung durch. Ansonsten leitet er
                                                                   die umgeschriebenen Subanfragen an die zuständigen Kno-
Bewertung.                                                         ten weiter. Hierfür wird die Hashfunktion h(x) benötigt, in
   Ein großes Problem dieses Ansatzes ist jedoch die geringe       dem der nicht variable Teil einer jeden WHERE-Bedingung
Auslastung. So werden höchstens 50 % der möglichen Werte         eingetragen wird. Während des Rewriting-Vorganges werden
verwendet und auch nur genau dann, wenn keine zusätzli-           FILTER-Statements beachtet und in die Subqueries einbe-
chen Ebenen vorhanden sind. Somit treten wiederum sehr             zogen, falls dies möglich ist (globale Optimierung). Durch
schnelle Reorganisationen auf. Auf der anderen Seite kann          diese Technik arbeiten mehrere Knoten parallel an derselben
eine Reorganisation sehr schnell durchgeführt werden. Sie         Ausgangsquery. Als Nebeneffekt wird die Datenmenge ver-
ist auf wenige logische Operationen pro Wörterbuch- und           kleinert. Nach dem Erhalt der Subqueries arbeiten die Kno-
Chunk-Eintrag beschränkt (SHIFT- und OR-Operationen).             ten diese ab (lokale Anfrageverarbeitung; siehe Kapitel 3.1)
Gleichzeitig kann durch eine Reorganisation die Ebenenan-          und senden das Ergebnis an den Koordinator zurück. Die-
zahl verringert und somit die Anzahl an Bits pro Ebene ver-        ser führt die benötigten Joins und die restlichen FILTER-,
größert werden. Die theoretisch mögliche Auslastungsgrenze       GROUP BY-, HAVING-, ORDER BY-, LIMIT-, OFFSET-
steigt automatisch an.                                             , Projektions-, usw. Operationen durch. Zum Schluss wird
                                                                   das Ergebnis an den Client gesandt.
3.2    Globale Verarbeitung
   Die globale Architektur besteht aus der Zusammenfassung         Bewertung.
aller lokalen Verarbeitungseinheiten zu einer globalen Ein-           Ein Problem dieses Ansatzes ist die mehrfache redundante
heit. Diese sind mittels der Technik eines Chord-Ringes [13]       Datenhaltung derselben Daten in maximal drei verschiede-
miteinander verbunden. Er besteht aus n unabhängigen und          nen Knoten und die dafür zweimal höhere Speicherkapazi-
gleichwertigen Elementen, die in einem geschlossenen Ring          tät. Dies ist jedoch nur bedingt ein Nachteil. Durch den au-
angeordnet sind. Wobei jedes Element einen Vorgänger und          tomatisierten Scale-Out-Mechanismus kann ein lokales Ele-
einen Nachfolger besitzt (siehe Abbildung 1; Doppeltpfeile         ment entlastet werden, indem ein neuer Knoten einen Teil-
mit durchgehender Linie). Neben diesen Verbindungen exis-          bereich der Hashwerte und die darin abgebildeten Daten für
tieren noch sogenannte Finger (siehe Abbildung 1; einfacher        sich beansprucht. Ein weiterer Vorteil ist die Möglichkeit
Pfeil mit gestrichelter Linie). Dies sind zusätzliche unidirek-   auf sehr große Anfragelasten dynamisch reagieren zu kön-
tionale Verbindungen, die mehrere Nachfolger überspringen         nen. Es können automatisch neue Knoten hinzugefügt wer-
und somit für eine schnellere Kontaktaufnahme mit einem           den, die einen Teil der Anfragelast übernehmen. Die Auftei-
beliebigen Element vorhanden sind. Wären diese nicht vor-         lung des Speicherplatzes und Anfragelast, wird jeweils durch
handen, müsste eine Anfrage von einem Element zum an-             die konsistente Hash-Funktion h(x) garantiert [10]. Durch
deren solange weitergereicht werden, bis der Empfänger er-        den beschriebenen Scale-Out, wächst die maximale Pfad-
reicht ist (O(n)). Dies wird durch die Finger auf O(log2 n)        länge nur bedingt an, da diese durch O(log2 n) definiert ist
verkürzt.                                                         (was einem Vorteil entspricht). Ein weiterer Vorteil ist, dass
                                                                   zu jeder WHERE-Bedingung maximal ein Knoten involviert
Fragmentierungsfunktion.                                           ist. Es müssen keine knotenübergreifenden Daten für bspw.
   Für die Umsetzung eines Scale-Outs wird eine Fragmen-          Bereichsanfrage gesammelt werden. Dies ist nur zwischen
tierungs- und Allokationsfunktion benötigt. Erstere definiert     verschiedenen WHERE-Bedingungen nötig, die mittels Join
wie welche Daten aufgeteilt werden, letztere auf welchen           verknüpft werden.
Knoten welches Element abgelegt wird. Beide sollten mög-
lichst einfach zu berechnen sein, da sie für jede Anfrage be-
nötigt werden (Datenlokalisation). Der Chord-Ring definiert       4.   ZUSAMMENFASSUNG
hier bereits eine Hashfunktion h(x). Diese erzeugt durch die         In dieser Arbeit wurde ein Ansatz vorgestellt, der mehre-



                                                                                                                              51
Cloud-Services und effiziente Anfrageverarbeitung für Linked Open Data

re Hundert Milliarden bzw. mehrere Billionen RDF-Tripel           ge SPARQL-Anfragen ermittelt, die sich in Äquivalenzklas-
Linked Open Data effizient verwalten kann. Es wurde eine          sen einteilen lassen. Den einfachen SPARQL-Anfragen, den
Unterscheidung in lokaler und globaler Verarbeitung durch-        Anfragen, die eine Datenmanipulation erfordern sowie den
geführt. Die lokale Verarbeitungseinheit besteht aus einem       analytischen SPARQL-Anfragen.
hochoptimierten In-Memory C++-Programm zur Datenhal-
tung und -abfrage, das die Strukturen moderner Hardware           6.   REFERENCES
effizient ausnutzt. Im selben Abschnitt wurde eine Möglich-       [1] Rdf - semantic web standards.
keit aufgezeigt, Bereichsanfragen effizient zu verarbeiten, in-        http://www.w3.org/RDF.
dem ein ordnungserhaltendes Mapping von Strings auf In-            [2] Sparql query language for rdf.
tegerwerten dargestellt wurde. Dies wird durch einen ord-              http://www.w3.org/TR/rdf-sparql-query.
nungserhaltenden und updatefreundlichen Baum garantiert.           [3] P. A. Boncz, M. L. Kersten, and S. Manegold.
   Die globale Verarbeitungseinheit besteht aus dem Zusam-             Breaking the memory wall in monetdb. Commun.
menschluss mehrerer lokaler Komponenten und verwendet                  ACM, 51(12):77–85, 2008.
hierzu die Technik des Chord-Ringes. Jedes Element ist gleich-     [4] G. DeCandia, D. Hastorun, M. Jampani,
berechtigt, es existiert somit kein zentraler Koordinator. Für        G. Kakulapati, A. Lakshman, A. Pilchin,
die Verbindung untereinander existieren Finger, die eine ma-           S. Sivasubramanian, P. Vosshall, and W. Vogels.
ximale Anzahl an Weiterleitungen garantieren. Zur Verar-               Dynamo: Amazon’s highly available key-value store.
beitung von beliebigen SPARQL-Anfragen werden diese von                SIGOPS Oper. Syst. Rev., 41(6):205–220, 2007.
einem Knoten entgegengenommen, optimiert und an den be-            [5] O. Erling and I. Mikhailov. RDF support in the
treffenden Knoten gesandt. Zur Datenlokalisation wird ei-              virtuoso DBMS. In S. Auer, C. Bizer, C. Müller, and
ne einfache Hashfunktion und kein global zu pflegender In-             A. V. Zhdanova, editors, CSSW, volume 113 of LNI,
dex benötig. Des Weiteren ist dieses Verfahren unabhän-              pages 59–68. GI, 2007.
gig gegenüber der Anzahl an Tripeln und dem benötigten
                                                                   [6] FU-Berlin. Berlin sparql benchmark.
Speicherplatz, da ein automatischer Scale-Out-Mechanismus
                                                                       http://www4.wiwiss.fu-
existiert.
                                                                       berlin.de/bizer/berlinsparqlbenchmark.
                                                                   [7] A. Harth, K. Hose, M. Karnstedt, A. Polleres, K.-U.
5.   AUSBLICK                                                          Sattler, and J. Umbrich. Data summaries for
   In der weiteren Forschung müssen einige Punkte näher be-          on-demand queries over linked data. In WWW, pages
trachtet werden, die als Motivation zu diesem Ansatz dienen.           411–420, 2010.
Hierunter fällt die Einhaltung der garantierten Antwortzeit       [8] M. P. Haustein, T. Härder, C. Mathis, and M. W.
aller Anfragen bis zu einem vorher definierten Prozentsatz.            0002. Deweyids - the key to fine-grained management
Zur Unterstützung dieser Forderung ist eine Replikation der           of xml documents. JIDM, 1(1):147–160, 2010.
Daten denkbar.                                                     [9] R. Johnson, V. Raman, R. Sidle, and G. Swart.
   Dies führt zum nächsten Problem, der effizienten Replika-         Row-wise parallel predicate evaluation. PVLDB,
tion. Bis zu diesem Zeitpunkt werden alle Daten nur auf ei-            1(1):622–634, 2008.
nem Knoten vorgehalten. Stürzt dieser ab, sind all seine Da-     [10] D. R. Karger, E. Lehman, F. T. Leighton,
ten verloren und nachfolgende Anfragen können nicht mehr              R. Panigrahy, M. S. Levine, and D. Lewin. Consistent
beantwortet werden. Als Ausweg bestünde die Möglichkeit,             hashing and random trees: Distributed caching
ein ähnliches Vorgehen umzusetzen, wie es in Amazons Dy-              protocols for relieving hot spots on the world wide
namo [4] implementiert ist.                                            web. In F. T. Leighton and P. W. Shor, editors,
   Zur weiteren Performancesteigerung ist es notwendig den             STOC, pages 654–663. ACM, 1997.
LODCache weiter zu optimieren. Es existiert zum Beispiel
                                                                  [11] T. Neumann and G. Weikum. RDF-3X: A RISC-Style
die Möglichkeit auf einer SandyBridge-CPU eine Schleife di-
                                                                       Engine for RDF. In VLDB, Auckland, New Zealand,
rekt im CPU eigenen Loop-Cache abzulegen. Eine Perfor-
                                                                       2008.
mancesteigerung von über 100 % soll möglich sein. Jedoch
                                                                  [12] V. Raman, G. Swart, L. Qiao, F. Reiss, V. Dialani,
ist die Bedingung hierfür, dass alle Instruktionen höchstens
                                                                       D. Kossmann, I. Narang, and R. Sidle. Constant-time
28 µ-Operationen lang sind.
                                                                       query processing. In G. Alonso, J. A. Blakeley, and
   Der oben beschriebene Ansatz zum Mapping von Strings
                                                                       A. L. P. Chen, editors, ICDE, pages 60–69. IEEE,
auf ordnungserhaltende Integerwerte muss weiter erforscht
                                                                       2008.
werden. Es ist u. a. notwendig, die Operationen zur Reor-
ganisation effizienter anzuordnen. Eine Möglichkeit zur Er-      [13] I. Stoica, R. Morris, D. Liben-Nowell, D. R. Karger,
höhung der Auslastung wird außerdem angestrebt. In die-               M. F. Kaashoek, F. Dabek, and H. Balakrishnan.
sem Zusammenhang soll gleichzeitig ein Verfahren entwi-                Chord: a scalable peer-to-peer lookup protocol for
ckelt werden, um Updates auf bestehende Daten möglichst               internet applications. IEEE/ACM Trans. Netw.,
effizient durchzuführen.                                              11(1):17–32, 2003.
   Für die weitere Entwicklung und Evaluierung des Systems       [14] C. Weiss, P. Karras, and A. Bernstein. Hexastore:
wird zukünftig ein Benchmark eingesetzt. Es wurde der Ber-            Sextuple Indexing for Semantic Web Data
lin SPARQL Benchmark [6] ausgewählt. Dieser erzeugt ak-               Management. In VLDB, Auckland, New Zealand,
zeptierte Resultate und ist für das Testen von beliebigen             2008.
SPARQL-Systemen entwickelt worden. Für Skalierungstests          [15] K. Wilkinson, C. Sayers, H. Kuno, and D. Reynolds.
kann ein Skalierungsfaktor angepasst werden, der die Anzahl            Efficient RDF storage and retrieval in Jena2. In Proc.
an automatisch erzeugten Tripeln vergrößert.                          First International Workshop on Semantic Web and
   Die Performanz des Systems wird durch verschiedenarti-              Databases, 2003.




52
                   SLO-basiertes Management in relationalen
                       Datenbanksystemen mit nativer
                        Multi-Tenancy-Unterstützung

                                                           Andreas Göbel
                                     Lehrstuhl für Datenbanken und Informationssysteme
                                            Fakultät für Mathematik und Informatik
                                              Friedrich-Schiller-Universität Jena
                                               Ernst-Abbe-Platz 2, 07743 Jena
                                                andreas.goebel@uni-jena.de

KURZFASSUNG                                                           1.   EINLEITUNG
Das an Bedeutung und Akzeptanz gewinnende Geschäfts-                    Software as a Service (SaaS) bezeichnet ein Geschäftsmo-
modell Software as a Service ermöglicht Unternehmen die              dell, bei dem Unternehmen von einem Drittanbieter Anwen-
Konzentration auf ihr Kerngeschäft durch das Beziehen von            dungen in Form von Services über das Internet beziehen.
Dienstleistungen über das Internet. Die Festlegung von Ser-          Der Ansatz steht dem herkömmlichen On-Premise-Modell
vice Level Agreements gewährleistet eine hohe Qualität des          gegenüber, bei dem Unternehmen die Lizenzen für Software
Dienstes. Um die operationalen Kosten des Service Providers           käuflich erwerben und die Anwendungen anschließend auf
gering zu halten, bedarf es des Einsatzes einer Multi-Tenancy-        eigener Hardware betreiben. Durch das Betreiben und War-
Architektur, die zu neuen Herausforderungen für den Einsatz          ten der Anwendung sowie der notwendigen Hardware durch
von Datenbankverwaltungssystemen führt.                              den Drittanbieter (SaaS-Anbieter) können die als Mandanten
   In diesem Beitrag werden die Problemstellungen der Rea-            bezeichneten Unternehmen auf den Erwerb und die Wartung
lisierung von Multi Tenancy in heutigen Datenbankverwal-              der Hardware verzichten. Service Level Agreements (SLAs)
tungssystemen aufgezeigt und eine native Unterstützung               legen dabei als Bestandteil der Dienstleistungsverträge durch
von Multi Tenancy in jenen Systemen motiviert. Es wird                die Definition verschiedener Service Level Objects (SLOs)
hervorgehoben, dass die Integration von mandantenspezi-               die Qualität der Services fest.
fischen Service Level Agreements zur Steigerung der Qua-                 Laut Studien renommierter Marktanalyseunternehmen
lität des Dienstes beiträgt. Hierzu wird die Verwendung             wird die Bedeutung von SaaS in den nächsten Jahren wei-
dieser bereitgestellten Daten zur Ressourcenverwaltung und            ter zunehmen. So prognostiziert Pierre Audoin Consultants
-überwachung sowie der Lastverteilung von Mandanten ver-             SaaS für das Jahr 2015 einen Umsatzanteil am Software-
deutlicht.                                                            Markt in Höhe von zehn Prozent und begründet die zu-
                                                                      nehmende Bedeutung u.a. mit entsprechenden Anpassungen
Kategorien und Themenbeschreibung                                     der Produktportfolios sowie Akquisitionen von bedeutenden
                                                                      Software-Anbietern wie Oracle, SAP und Microsoft [18].
H.2.7 [Database Management]: Database Administrati-                      SaaS-Angebote sind aktuell insbesondere in den Bereichen
on—Data dictionary/directory; H.2.1 [Database Manage-                 E-Commerce, Kundenbeziehungsmanagement und bei kolla-
ment]: Logical Design—Schema and subschema                            borativen Aufgaben wie E-Mail zu finden. Zunehmend werden
                                                                      Produkte in den Bereichen Humankapital-Management und
Allgemeine Begriffe                                                   Unternehmensressourcenplanung angeboten. Um einen mög-
                                                                      lichst großen Markt ansprechen zu können, ermöglichen SaaS-
Design, Management, Measurement
                                                                      Anbieter eine individuelle Anpassung des Services. Die Ange-
                                                                      bote richten sich auch an kleine und mittlere Unternehmen
Stichworte                                                            (KMU), denen aufgrund begrenzter finanzieller Möglichkeiten
Relational Database, Multi Tenancy, Service Level Agree-              die Mittel für den Erwerb und Support einer vergleichbaren
ment                                                                  On-Premise-Lösung fehlen. Dieser so genannte Long Tail [3]
                                                                      kann durch Preisvorteile gegenüber On-Premise-Angeboten
                                                                      und entfallende Kosten der Mandanten für die Beschaffung
                                                                      und Wartung von Hardware bedient werden [10]. Es bedarf
                                                                      hierzu einer hohen Wirtschaftlichkeit des Services durch eine
                                                                      Konsolidierung von Mandanten auf physischen Ressourcen
                                                                      in Form von Multi-Tenancy-Anwendungen.


                                                                      2.   MULTI TENANCY
                                                                        Die Architektur von SaaS-Angeboten ist in großem Ma-
24th GI-Workshop on Foundations of Databases (Grundlagen von Daten-
banken), 29.05.2012 - 01.06.2012, Lübbenau, Germany.                  ße vom Geschäftsmodell des Anbieters abhängig. Sie wird
Copyright is held by the author/owner(s).                             beispielsweise beeinflusst durch das zur Verfügung stehende



                                                                                                                                53
SLO-basiertes Management in relationalen Datenbanksystemen mit nativer Multi-Tenancy-Unterstützung




                                      Virtuelle   Betriebssys-­ Datenbank-­            Schema  /  
  Isolation             Hardware                                            Datenbank                       Zeile
                                      Maschine temnutzer         instanz              Tablespace

              niedrig        Komplexität,   Ressourcenausnutzung,  max.   Mandantenanzahl,   Skalierbarkeit             hoch
  Bewertung
                hoch                       Kosten  je  Mandant,  Sicherheit,   Wartungsaufwand                         niedrig


                 Abbildung 1: Ansätze zur Mandantenisolation im DB-Layer, angelehnt an [19]


Entwicklungskapital, den Zielmarkt sowie die Anzahl und          ten sowie mandantenspezifische Schemaänderungen bedürfen
Charakteristika der Mandanten. Zu den Charakteristika ge-        bei diesem Ansatz das Absetzen von DDL-Statements, die bei
hören u.a. die benötigte Datenmenge, die voraussichtliche      einigen DBMS zu Problemen mit dem fortlaufenden Betrieb
Workload und die Anforderungen der Mandanten bezüglich          führen können. Die hohe Anzahl an Tabellen führt zudem
Verfügbarkeit, Performance, Datenisolation und Individuali-     zu einem hohen Hauptspeicherbedarf sowie partiell gefüllten
sierung der Anwendung.                                           Seiten des Datenbankpuffers. [6, 12]
   Um die in der Einleitung motivierte hohe Wirtschaft-             Bei dem Ansatz Shared Table werden Objekte der Da-
lichkeit eines SaaS-Angebots zu erzielen, werden vermehrt        tenbank von Mandanten gemeinsam genutzt. Tabellen ent-
Multi-Tenancy-Architekturen eingesetzt. Diese erlauben allen     halten somit Tupel verschiedener Mandanten, weshalb die
Service-Nutzern die gemeinsame Verwendung von Hardware-          Verwendung einer zeilenbasierten Zugriffskontrolle nötig ist.
Ressourcen durch das Anbieten einer gemeinsamen Anwen-           Eine zusätzliche Tabellenspalte legt hierbei die Zugehörig-
dungsinstanz [9]. Sowohl auf der Applikations- als auch der      keit des Tupels zum entsprechenden Mandanten fest. Durch
Datenbankseite sind verschiedene Ansätze zur Separierung        den Verzicht auf mandantenspezifische Datenbankobjekte ist
von Mandanten denkbar.                                           die Größe des Datenbankkatalogs nahezu unabhängig von
                                                                 der Mandantenanzahl. Die maximale Anzahl unterstützter
2.1   Multi Tenancy in DBMS                                      Mandanten ist somit laut [12] lediglich durch die maxima-
   Es existiert ein breites Realisierungspektrum für Multi      le Anzahl unterstützter Tabellenzeilen beschränkt, was den
Tenancy in einem Datenbankserver. In Abbildung 1 werden          Ansatz für das Bedienen des im Abschnitt 1 angesprochenen
die wichtigsten Ansätze zusammengefasst sowie Vorteile und      Long Tails prädestiniert. Durch die hohe Ressourcenaus-
Herausforderungen aufgezeigt. Neben der Möglichkeit, auf        nutzung reduziert sich der Overhead bezüglich Fest- und
eine Mandantenkonsolidierung zu verzichten (Separate Hard-       Hauptspeicherbedarf pro Mandant auf ein Minimum. Admi-
ware), können Mandanten beispielsweise durch die Zuweisung      nistrative Operationen und Updates der Anwendung werden
separater virtueller Maschinen (Shared HW ), durch die Nut-      bei diesem Ansatz in der Regel für alle Mandanten ausge-
zerverwaltung des Betriebssystems (Shared VM ) oder durch        führt, was den Wartungsaufwand des Anbieters reduziert,
die Verwendung getrennter Datenbankinstanzen (Shared OS          die Individualität des Services jedoch einschränkt. So können
Level ) bzw. Datenbanken (Shared DB Instance) voneinander        die in [11] angesprochenen individuellen Anforderungen von
isoliert und dennoch auf einem Datenbankserver verwaltet         Mandanten in Bezug auf Aspekte der Datenbankadministra-
werden. Aufgrund des initialen Ressourcenbedarfs und der         tion und -konfiguration wie Backup-Strategien und Archi-
gesonderten Administration dedizierter Datenbanken, Daten-       vierungsintervalle, die Replikationsart und Replikatanzahl
bankinstanzen, Betriebssysteme oder virtueller Maschinen         oder Vorgaben zur Arbeitsweise des Datenbankoptimierers
führen diese Ansätze für den SasS-Anbieter zu hohen Kosten    nicht erfüllt werden. Aufgrund der Konsolidierung von vielen
je Mandant. Sie sollten daher nur bei zwingender Notwendig-      Mandantendaten innerhalb einer Tabelle liegen die größten
keit eines hohen Isolations- bzw. Sicherheitslevels oder bei     Herausforderungen dieses Ansatzes in der Gewährleistung
einer geringen Anzahl von Mandanten verwendet werden.            der Isolation der Mandantendaten und -Performance sowie
   Der Ansatz Shared Database erlaubt durch die Mandanten-       der Erarbeitung eines Datenbankschemas, welches den Man-
konsolidierung in einer Datenbank die gemeinsame Nutzung         danten die Anpassung der vom SaaS-Anbieter zur Verfügung
von Datenbankprozessen und Hauptspeicherinhalten. Die            gestellten Anwendungen erlaubt.
Zuweisung zu eigenen Datenbankobjekten wie Tabellen und
Indizes führt bei Nutzung der Datenbankzugriffskontrollen        2.2    Schemaflexibilität
zu einer logischen Isolation der Mandanten. Durch die Zuwei-       Um seinen Service einer möglichst breiten Zielgruppe an-
sung der mandantenspezifischen Objekte zu separaten Spei-        bieten zu können, sind SaaS-Anbieter bemüht, Mandanten
cherorten (Tablespaces) kann zudem eine physische Trennung       weitreichende Anpassungsmöglichkeiten zu bieten. Diese um-
erreicht werden. Das Hinzufügen und Löschen von Mandan-        fassen laut [10] unter anderem eine Anpassung der Benutzer-



54
          SLO-basiertes Management in relationalen Datenbanksystemen mit nativer Multi-Tenancy-Unterstützung

oberfläche im Sinne eines Corporate Identity, die Anpassung      paralleler Basisschema-Versionen einen verzögerten Wech-
an Geschäftsabläufe durch Modifikation von Geschäftsregeln,    sel auf eine neue Version der SaaS-Applikation und dessen
individuelle Regelungen bezüglich der Zugangskontrollen so-      Erweiterungen erlaubt.
wie die Möglichkeit zur Erweiterung des Datenbankschemas
durch zusätzliche Tabellenspalten oder komplette Tabellen.       3.    SLO-BASIERTE VERWALTUNG
Diese Anforderung stellt sich aufgrund des notwendigen Zu-
sammenführens individueller Datenbankschemata der Man-              Ein bisher kaum betrachtetes, jedoch nicht minder bedeut-
danten auf ein Gesamtschema der Datenbank insbesondere            sames Forschungsgebiet im Zusammenhang mit der nativen
beim Ansatz Shared Table als Herausforderung dar. Aulbach         Unterstützung von Multi Tenancy in Datenbanksystemen
et al. stellen in [4, 5] eine Reihe von Ansätzen vor, die in     ist die Integration von abgeleiteten Richtlinien aus den Ser-
folgende Kategorien eingeteilt werden können:                    vice Level Agreements (SLAs) der Mandanten sowie die
                                                                  Verwaltung der Mandantendaten auf Basis jener Richtlinien.
Vertikale Speicherung: Dieser Ansatz basiert auf dem              Durch die zentrale Haltung der Richtlinien als Bestandteil
     Entity-Attribute-Value-Modell [17], welches beispiels-       des Datenbankkatalogs können sie von verschiedenen DBMS-
     weise im medizinischen Bereich Anwendung findet. Je-         Komponenten und externen Werkzeugen zur Verbesserung
     der Attributwert eines mandantenspezifischen Daten-          der Dienstqualität verwendet werden.
     satzes wird auf einen Datensatz des Gesamtschemas               SLO-basiertes Management kann mittels automatisiertem
     abgebildet, der zur Identifizierung neben dem Attri-         und proaktivem Agieren den Administrationsaufwand für den
     butwert den zugehörigen Mandanten-, Tabellen- und           SaaS-Anbieter reduzieren. Zudem kann es die Lastverteilung
     Spaltenname sowie die Zeilennummer enthält. Ein man-        und Migration von Mandanten unterstützen, um Mandan-
     dantenspezifischer Datensatz muss hierbei zur Laufzeit       ten stets die Ressourcen zur Verfügung zu stellen, die ihren
     durch Verbundoperationen erzeugt werden, um die At-          Anforderungen genügen. Die Priorisierung von Mandanten
     tributwerte zu einem Datensatz zusammenzufügen.             bei der Verarbeitung ihrer Systemanfragen kann durch eine
                                                                  SLO-basierte Ressourcenverwaltung und -überwachung rea-
Horizontale Speicherung: Ein mandantenspezifischer Da-            lisiert werden. Das SLO-basierte Management ist somit ein
    tensatz wird direkt auf Datensätze des Gesamtschemas         essentielles Mittel, um auf der einen Seite die Betriebskosten
    abgebildet. Flexibilität kann beispielsweise durch die       der SaaS-Anbieter durch eine hohe Ressourcenausnutzung
    Nutzung einer universellen Tabelle geboten werden,            gering zu halten und auf der anderen Seite den Mandanten
    welche durch eine Vielzahl von generischen Spalten mit        eine möglichst hohe Service-Qualität zu bieten.
    flexiblen Datentypen die Speicherung beliebiger Daten-           Die Einsetzbarkeit in verschiedenen Aufgabenfeldern so-
    sätze erlaubt und die Verwaltung des Schemas in die          wie die damit verbundenen Vorzüge für Administratoren
    Anwendung verschiebt.                                         und Mandanten begründen intensive Forschung in folgenden
XML: Heutige Datenbankmanagementsysteme bieten zu-                Themengebieten:
   nehmend native Unterstützung des XML-Datentyps zur
                                                                       • Ableitung von geeigneten mandantenspezifischen Richt-
   Speicherung semistrukturierter Daten. Durch dessen
                                                                         linien aus Dienstleistungsverträgen,
   Verwendung können verschiedene mandantenspezifische
   Schemata innerhalb einer Tabelle verwaltet werden.                  • Repräsentation der Richtlinien im Katalog des Daten-
                                                                         bankverwaltungssystems,
Hybride Speicherung: Die vorherigen Speicherformen kön-
    nen miteinander verbunden werden, um ihre Stärken                 • Omnipräsentes Monitoring der Einhaltung von Richtli-
    zu kombinieren.                                                      nien,
2.3    Native Unterstützung durch DBMS                                 • Entwicklung und Realisierung geeigneter Algorithmen
   Die in Abschnitt 2.2 vorgestellten Ansätze zur Unterstüt-           zur Sicherstellung der Richtlinien.
zung individueller Mandantenschemata können bei heutigen
Datenbanksystemen nur mit Hilfe einer überhalb des DBMS          3.1     Service Level Objects
liegenden Schicht zur Transformation der mandantenspe-              Als Bestandteil des Dienstleistungsvertrags zwischen dem
zifischen Datenbankanfragen und vom DBMS erhaltenen               SaaS-Anbieter und den Mandanten legen Service Level Agree-
Ergebnisse realisiert werden. Diese Schicht regelt die Zugriffs-   ments die zugesicherte Qualität des SaaS-Angebots fest. Hier-
kontrolle und verwaltet die Schemata der Mandanten, sodass        zu spezifizieren sie beispielsweise Kennzahlen oder Abstufun-
die Schemainformationen vom DBMS nicht zur Optimie-               gen bezüglich der folgenden Anforderungen an den Services
rung genutzt werden können. Zudem führt sie zu erhöhten        in Form von Richtlinien, welche als Service Level Objects
Wartungsaufwand und beeinflusst unter Umständen die Ska-         (SLOs) bezeichnet werden.
lierbarkeit des Systems. [6, 20]
   Bisherige Konzepte und prototypische Implementierungen              • Verfügbarkeit: Systemzugänglichkeit, Wartungsfenster,
[6, 20] zur nativen Unterstützung von Mandanten in rela-                Wiederherstellungszeiten in Fehlerfällen
tionalen Datenbanksystemen verlagern im Wesentlichen die
                                                                       • Performance: Geschwindigkeit der Datenverarbeitung,
Transformationsschicht inklusive der benötigten Metadaten
                                                                         Reaktionszeiten der Schnittstellen
ins Datenbanksystem. Sie verfolgen hiermit das Ziel einer
effizienten Mandantenkonsolidierung sowie der Abbildung                  • Sicherheit: Datenschutz, Datensicherheit, Art der Iso-
mandantenspezifischer Schemata auf ein Gesamtschema, um                  lation von anderen Mandanten
die oben aufgezeigten Nachteile einer externen Transformati-
on anzugehen. Des Weiteren wird in [7] ein Konzept vorge-         Die SLOs sollten u.a. aussagekräftig, erreichbar, messbar und
stellt, welches Mandanten durch die Unterstützung mehrerer       verständlich sein [22]. Bestandteil der SLAs sind neben den



                                                                                                                             55
SLO-basiertes Management in relationalen Datenbanksystemen mit nativer Multi-Tenancy-Unterstützung


                                                                        DBMS
                                                                                                   DBMS  Core
                                        Tenant                             Query  
        SaaS-­Workload
                                      Assignment                       Transformation
                                                                                                Execution Engine


                                    SLO-­based Management                                          Performance  
                                                                       Data  Dictionary              Monitor
                                                                         Extension
                                        Workload Manager
                                                                          Tenants
                                                                                                Resource Manager
                                                                            SLOs
                                          Load Balancer

                                           Replication  
                                            Manager



                       Abbildung 2: Integration von SLO-basiertem Management ins DBMS


SLOs entsprechende Regelungen für den Fall, dass der SaaS-      wiederum einer Erweiterung des Katalogs um die SLOs jedes
Anbieter die zugesicherten SLOs nicht erfüllen kann. In der     Mandanten sowie seiner zugewiesenen Bedeutsamkeit bzw.
Regel erfolgt dies über gestaffelte Strafzahlungen oder ledig-   Priorität. Durch die Zuordnung eines Mandanten zu einer
lich über die Verminderung der anfallenden Grundgebühren       SLO-Kategorie wie ’Standard’, ’Premium’ oder ’Individuell’
für Mandanten.                                                  kann bei der SLO-Zuweisung der Overhead bezüglich des
                                                                 Fest- und Hauptspeicherbedarfs je Mandant reduziert werden.
3.2    SLO-Repräsentation                                        Abbildung 2 verdeutlicht diese Erweiterung und kennzeichnet,
   Nach der Einigung der SaaS-Anbieter und Mandanten über       dass Katalogerweiterungen beispielsweise für die Zuweisung
zu gewährleistende SLOs und dem Vertragsabschluss erfolgt       von Mandanten zu Anfragen (Tenant Assignment) und die
die Überführung der finalen Bestimmungen in Anforderun-        in Abschnitt 2.3 angesprochene Transformationskomponente
gen an die zugrunde liegende Technologie und Hardware des        (Query Transformation) benötigt wird.
Anbieters. SLOs werden vorrangig technologieunabhängig
definiert und gelten in der Folge für den gesamten Service,
                                                                 3.3     Workload Management
weshalb eine adäquate Ableitung von mandantenspezifischen         Einige Datenbankverwaltungssysteme bieten mittels Work-
Richtlinien für die einzelnen Systemkomponenten wie dem         load Management die Möglichkeit zur Überwachung von
Datenbanksystem eine bedeutsame und komplexe Aufgabe             Abfragen und den von ihnen benötigten Ressourcen. IBM
darstellt. Zudem verdeutlicht dieser Sachverhalt, dass die       DB2 for Linux, UNIX and Windows stellt hierfür beispiels-
Einhaltung jener Richtlinien, analog zu Multi Tenancy, in        weise den DB2 Workload Manager [1] und Oracle den Oracle
allen Schichten des Gesamtsystems von Bedeutung ist. Mit         Database Resource Manager und Oracle Scheduler [2] bereit.
zunehmender Mandantenkonsolidierung auf den zur Verfü-          Diese Anwendungen bieten ein breites Spektrum an Mitteln
gung stehenden Systemressourcen nimmt die Beeinflussung          zur Überwachung von Anfragen, welches u.a. das Aufteilen
unter Mandanten bezüglich der Performance zu, was die           von Systemressourcen zwischen Abfragen, die Priorisierung,
Erstellung passender Richtlinien weiter erschwert.               Ab- und Unterbrechung von Abfragen sowie eine Zeitplanung
   Die resultierenden Richtlinien sollten entsprechend einem     von Abfragen enthalten kann.
adäquaten Modell erstellt werden. Sie bestehen aus einer          Das DBMS muss fortwährend den Auslastungszustand der
Kombination aus Anforderungen, beispielsweise bezüglich         Ressourcen messen und für das Workload Management bereit-
der Performance, Verfügbarkeit oder Sicherheit sowie einer      stellen. Abbildung 2 verdeutlicht, mit welchen Komponenten
Priorität. Diese spiegelt die Bedeutsamkeit des Mandanten       des DBMS-Kerns der Workload Manager typischerweise kom-
für das Unternehmen wider und basiert typischerweise auf        muniziert, um die Verarbeitung von Abfragen zu steuern und
der Größenordnung der entsprechenden Vertragsstrafen eines      zu überwachen [14]:
Mandanten [14]. Unter Umständen können hierbei jedoch             • Execution Engine (Verwaltung der Ausführung von
Aspekte eine Rolle spielen, die nicht direkt aus dem Dienst-          Abfragen),
leistungsvertrag abgeleitet werden können wie die Reputation
des Mandanten oder seine Bedeutung als strategischer Part-          • Performance Monitor (Überwachung der Verarbeitung
ner des SaaS-Anbieters.                                               von Abfragen),
   Die native Unterstützung von Multi Tenancy im DBMS
                                                                    • Resource Monitor (Regelung der Ressourcenallokation
bringt in der Regel eine Katalogerweiterung [20] um Tabellen
                                                                      der Abfragen).
zur Repräsentation der Mandanten und der zugehörigen
Datenbankobjekte wie Tabellen oder Indizes mit sich. Die           Die Erweiterung des Datenbankkatalogs um Mandanten
Definition und anschließende Überwachung der SLOs bedarf        und SLOs stellt dem Datenbankverwaltungssystem die nöti-



56
          SLO-basiertes Management in relationalen Datenbanksystemen mit nativer Multi-Tenancy-Unterstützung

gen Mittel zur Verfügung, um neben der korrekten Ausfüh-        lung der Mandanten durch einen Load Balancer kann zudem
rung nebenläufiger Transaktionen eine auf SLOs basierende        gemäß Abschnitt 3.3 zur Abfederung von Lastspitzen genutzt
Parallelisierung von Mandanten zu erzielen. Verschiedene          werden. Entgegen statischer Ansätze [15] zur Berechnung
Nutzungsprofile und -zeiträume der Mandanten sowie üb-          einer optimalen Verteilung von Mandantendaten auf eine
liche Nutzungsschwankungen erlauben eine Überbuchung             Menge von Datenbankknoten sollte die Lastverteilung analog
der zur Verfügung stehenden physischen Systemressourcen          zum Workflow Management dynamisch agieren.
wie der CPU, dem Hauptspeicher oder der Bandbreite zum              Um unnötige Kommunikation zwischen Datenbankknoten
Festspeicher. Dies ermöglicht eine ausgezeichnete Auslastung     zu vermeiden, sind die Daten eines Mandanten nicht über
der Ressourcen und hält somit die operativen Kosten des          mehrere Knoten zu verteilen. Dies sollte nur möglich sein,
SaaS-Anbieters gering. Im (Ausnahme-)Fall hoher Lastspit-         wenn die Anforderungen des Mandanten die zur Verfügung
zen durch einen parallelen intensiven Zugriff einer Großzahl       stehenden Ressourcen des Rechners übersteigen.
von Mandanten, welche die Ressourcen gemeinsam nutzen,              Die Mandanten legen durch die Nutzung einer SaaS-An-
kann die Einhaltung aller offerierten SLOs nicht gewährleis-      wendung ihre Daten in die Hände des Anbieters und dessen
tet werden. Lastspitzen können aufgrund von regelmäßigen        auf Sicherheit spezialisierte IT-Abteilung [11]. Durch die Ver-
Vorgängen wie Gehaltsbuchungen oder beispielsweise auf-          teilung von Mandanten auf verschiedene Rechner ist neben
grund von unvorhergesehenen Nutzungsschwankungen unre-            dem verringerten Einfluss der Mandanten bezüglich ihrer Per-
gelmäßig auftreten [6]. Um die Häufigkeit dieser Situation zu   formance (Performance-Isolation zwischen Mandanten [8])
reduzieren und beim Auftreten adäquat zu reagieren, bedarf       ein höherer Isolationsgrad der auf dem Festspeicher abgeleg-
es geeigneter Strategien zur Ablaufplanung der Abfragen           ten Mandantendaten erreichbar bis hin zu einer physischen
sowie der Ressourcenzuteilung. Aus ökonomischer Sicht des        Isolation. Der Isolationsgrad spiegelt sich zum Teil in ent-
Anbieters gilt es hierbei, die Summe der zu zahlenden Ver-        sprechenden SLOs der Dienstverträge wider. Er kann durch
tragsstrafen zu minimieren. In [13] wird dieses Ziel durch        die in Abbildung 2 dargestellte SLO-Katalogerweiterung im
einen dynamischen Controller und der Zuhilfenahme zwei-           DBMS hinterlegt und vom Lastbalancierer bei der Verteilung
er Kostenfunktionen verfolgt, womit zudem eine dauerhafte         der Mandanten auf Rechner berücksichtigt werden.
Übererfüllung der SLOs von Mandanten mit hoher Priorität
auf Kosten von Mandanten mit geringer Priorität vermieden                                  Kosten
wird.
   Häufig wird in diesen Modellen lediglich die Minimierung                                            Mögliche
von Strafzahlen bezüglich der aktuellen Überauslastung be-                                           Zielstellung
trachtet und die Korrelation von Entscheidungen bei verschie-
denen Lastspitzen außer Acht gelassen. So ist es möglich, dass
die SLOs eines Mandant mit geringer Priorisierung bei Last-
spitzen wiederholt nicht erreicht werden können. Aus ökono-                 Performance          Verfügbarkeit
mischer Sicht ist dies für den SaaS-Anbieter augenscheinlich
eine optimale Strategie, sie kann jedoch zur Verärgerung            Abbildung 3: Zielkonflikte des SaaS-Anbieters
oder gar Kündigung des Mandanten führen. Folglich gilt es,
frühere Entscheidungen in die Priorisierung von Mandanten
                                                                     Verfügbarkeit besitzt gemäß Abschnitt 3.1 eine außeror-
und Ressourcenzuweisung bei Lastspitzen einzubeziehen. Die-
                                                                  dentliche Bedeutsamkeit bei Dienstleistungsverträgen im
ses Ziel kann nur mit Hilfe einer dynamischen Priorisierung
                                                                  SaaS-Umfeld. Ist der Dienst für die Mandanten nicht er-
erreicht werden.
                                                                  reichbar, so kann dies schwerwiegende Folgen haben, die von
   Neben der Ablaufsteuerung und Überwachung von Abfra-
                                                                  einer Verzögerung der Arbeitsprozesse bei Mandanten bis
gen sowie dem Eingreifen im Falle einer Überlastung besteht
                                                                  hin zu finanziellen Einbußen reichen. Entsprechend werden
eine wesentliche Aufgabe des SLO-basierten Managements
                                                                  in den Dienstleistungsverträgen nur geringe (geplante und
in dem Verhindern von häufigen Überlastungen eines Sys-
                                                                  ungeplante) Ausfallzeiten des Services zugelassen, bei deren
tems. Hierzu sind die Ressource sowie der Schweregrad, die
                                                                  Verletzung der SaaS-Anbieter mit erheblichen Strafzahlungen
Häufigkeit und eine gegebenenfalls existierende Regelmäßig-
                                                                  rechnen muss. Entsprechend liegt es im Interesse des An-
keit der Überlastungen zu beobachten. Durch ein proaktives
                                                                  bieters, eine hohe Verfügbarkeit des Dienstes sicherzustellen.
Vorgehen kann zukünftigen Überlastungen vorgebeugt wer-
                                                                  Abbildung 3 verdeutlicht, dass die Erreichung eines hohen
den, indem Maßnahmen autonom ergriffen werden oder der
                                                                  Verfügbarkeitsniveaus auf der einen Seite zu zusätzlichen
Administrator in Form von Hinweisen bei seiner Tätigkeit
                                                                  Kosten für den Anbieter führt und auf der anderen Seite die
unterstützt wird. Ein mögliches Vorgehen ist die Zuweisung
                                                                  Performance des Services einschränkt. Eine hohe Verfügbar-
von Mandanten zu anderen physischen Ressourcen durch
                                                                  keit fordert das Vermeiden von Single Points of Failures und
das Verschieben auf einen anderen Server mit dem Ziel einer
                                                                  kann beispielsweise durch verschiedene Formen der Replika-
Lastverteilung.
                                                                  tion erreicht werden. Der SaaS-Anbieter könnte durch einen
                                                                  Replication Manager die Art und den Umfang der Replikati-
3.4    Verteilung von Mandantendaten                              on von Mandantendaten aufgrund von verschiedenen SLOs
  Ein SaaS-Anwendung sollte die maximale Anzahl an un-            der Mandanten variieren, um individuelle Anforderungen zu
terstützten Mandanten möglichst nicht beschränken. Um          unterstützen.
auch bei vielen Mandanten eine ausreichende Performan-
ce zu erreichen, müssen die Daten der Mandanten mittels          3.5    SLA-Management in DaaS
Tabellen- und Indexpartitionierung auf verschiedene Fest-           Die Verwendung von Datenbanksystemen zur Datenver-
speicher oder gemäß eines verteilten Datenbanksystems auf        waltung einer SaaS-Anwendung stellt nur eine Möglichkeit
verschiedene Datenbankknoten verteilt werden. Die Vertei-         zur Bereitstellung von Datenbanksystemen als Dienst inner-



                                                                                                                             57
SLO-basiertes Management in relationalen Datenbanksystemen mit nativer Multi-Tenancy-Unterstützung

halb einer Cloud dar, was als Database as a Service (kurz         [3] C. Anderson. The Long Tail: Why the Future of
DaaS oder DbaaS [21]) betitelt wird. Sowohl in kommerziel-            Business Is Selling Less of More. Hyperion, 2006.
len DaaS-Angeboten als auch in der DaaS-Forschung spielt          [4] S. Aulbach, T. Grust, D. Jacobs, A. Kemper, and
Multi Tenancy eine bedeutende Rolle, um die operationalen             J. Rittinger. Multi-tenant databases for software as a
Kosten von DaaS-Anbietern zu senken. Die Bereitstellung               service: schema-mapping techniques. In SIGMOD,
von Daten für eine SaaS-Anwendung unterscheidet sich je-             pages 1195–1206. ACM, 2008.
doch im Zusammenhang mit Multi Tenancy erheblich von              [5] S. Aulbach, D. Jacobs, A. Kemper, and M. Seibold. A
anderen Dienstmodellen.                                               comparison of flexible schemas for software as a service.
                                                                      In SIGMOD, pages 881–888. ACM, 2009.
     • Mandanten in einer SaaS-Anwendung besitzen und
                                                                  [6] S. Aulbach, D. Jacobs, J. Primsch, and A. Kemper.
       erweitern ein gemeinsames Basisschema und greifen zu-
                                                                      Anforderungen an Datenbanksysteme für
       dem in der Regel lesend auf gemeinsame Anwendungs-
                                                                      Multi-Tenancy- und Software-as-a-Service-
       daten zu. Bei anderen DaaS-Dienstmodellen existieren
                                                                      Applikationen. In BTW, pages 544–555. GI, 2009.
       meist keine mandantenübergreifenden Daten und keine
       oder vernachlässigbare Ähnlichkeit der Datenbanksche-    [7] S. Aulbach, M. Seibold, D. Jacobs, and A. Kemper.
       mata von Mandanten. Dies wirkt sich auf die Kon-               Extensibility and Data Sharing in evolving multi-tenant
       solidierungsmöglichkeiten innerhalb einer Datenbank           databases. In ICDE, pages 99–110, 2011.
       aus.                                                       [8] D. Banks, J. Erickson, M. Rhodes, and J. S. Erickson.
                                                                      Multi-tenancy in Cloud-based Collaboration Services.
     • SaaS-Anwendungen bestimmen die Art der Workload                Information Systems Journal, 2009.
       für das verwendete Datenbanksystem, was sich das          [9] C.-P. Bezemer, A. Zaidman, B. Platzbeecker,
       SLO-basiertes Management zu Nutze machen kann.                 T. Hurkmans, and A. ’t Hart. Enabling multi-tenancy:
       Bei anderen DaaS-Dienstmodellen ist die Workload               An industrial experience report. In ICSM, pages 1–8,
       hingegen mandantenspezifisch und unvorhersehbar.               2010.
                                                                 [10] F. Chong and G. Carraro. Architecture Strategies for
     • SLOs sind bei SaaS-Angeboten mit der kompletten An-            Catching the Long Tail. 2006.
       wendung verknüpft, während bei anderen DaaS-Dienst-     [11] A. Göbel. Anforderungen von Cloud-Anwendungen an
       modellen meist konkrete Vorgaben für das DBMS defi-           Datenbanksysteme. In Workshop Database as a Service,
       niert sind.                                                    2010.
                                                                 [12] D. Jacobs and S. Aulbach. Ruminations on
Diese Punkte verdeutlichen, dass Ergebnisse aktueller For-            Multi-Tenant Databases. In BTW, pages 514–521, 2007.
schung im Bereich SLO-basierter Hardware-Provisionierung         [13] S. Krompass, D. Gmach, A. Scholz, S. Seltzsam, and
und Steuerung der Abfrageverarbeitung für DaaS [16] nur              A. Kemper. Quality of Service Enabled Database
sehr eingeschränkt auf Datenbankdienste für SaaS-Anwen-             Applications. In ICSOC, pages 215–226, 2006.
dungen übertragen werden können und gesonderte Forschung
                                                                 [14] S. Krompass, A. Scholz, M.-C. Albutiu, H. A. Kuno,
für jenen Bereich vonnöten ist.
                                                                      J. L. Wiener, U. Dayal, and A. Kemper. Quality of
                                                                      Service-enabled Management of Database Workloads.
4.    ZUSAMMENFASSUNG UND NÄCHSTE                                     IEEE Data Eng. Bull., 31(1):20–27, 2008.
      SCHRITTE                                                   [15] T. Kwok and A. Mohindra. Resource Calculations with
                                                                      Constraints, and Placement of Tenants and Instances
   In diesem Beitrag wurde gezeigt, dass eine Integration von
                                                                      for Multi-tenant SaaS Applications. In ICSOC, pages
Service Level Objects in ein Multi-Tenancy-Datenbanksystem
                                                                      633–648. Springer-Verlag, 2008.
in Form einer Erweiterung des Datenbankkatalogs von ver-
schiedenen DBMS-Komponenten verwendet werden kann,               [16] W. Lang, S. Shankar, J. Patel, and A. Kalhan. Towards
um die Überwachung der SLOs während des Betriebs zu                 Multi-Tenant Performance SLOs. In ICDE ’12, 2012.
gewährleisten. Als mögliche Verwendungsbeispiele wurden        [17] P. M. Nadkarni and C. Brandt. Data extraction and ad
das Workload Management, die Lastverteilung und eine in-              hoc query of an entity–attribute–value database.
dividuelle Replikationssteuerung aufgeführt.                         Journal of American Medical Informatics Association,
   In den weiteren Arbeiten soll der Entwurf der SLO-Integra-         5(6):511–527, 1998.
tion konkretisiert, verschiedene Implementierungsvarianten       [18] Pierre Audoin Consultants. Entry of the global players
verglichen und die Realisierbarkeit anhand eines Prototyps            confirms Global SaaS Trends. 2012.
gezeigt werden. Anschließende Performance-Tests sollen Auf-      [19] B. Reinwald. Database support for multi-tenant
schluss darüber geben, ob der zusätzliche Overhead durch            applications. IEEE Workshop on Information and
die mandantenspezifischen Metadaten und das SLO-basierte              Software as Services, 1:2, 2010.
Management die Skalierbarkeit und den laufenden Betrieb          [20] O. Schiller, B. Schiller, A. Brodt, and B. Mitschang.
des Datenbanksystems beeinträchtigen.                                Native support of multi-tenancy in RDBMS for
                                                                      software as a service. In EDBT/ICDT, pages 117–128.
                                                                      ACM, 2011.
5.    LITERATUR                                                  [21] M. Seibold and A. Kemper. Database as a Service.
 [1] DB2 Workload Manager for Linux, Unix, and Windows.               Datenbank-Spektrum, 12(1):59–62, 2012.
     IBM Corp., 2008.                                            [22] R. Sturm, W. Morris, and M. Jander. Foundations of
 [2] Oracle�R Database Administrator’s Guide 11g Release              Service Level Management. SAMS Publishing, Apr.
     2. Oracle, 2011.                                                 2000.




58
                   i ETL: Flexibilisierung der Datenintegration
                               in Data Warehouses

          Sebastian Schick1 , Gregor Buchholz2 , Meike Klettke3 , Andreas Heuer1 , Peter Forbrig2
                   1
                       Lehrstuhl für Datenbank- und Informationssysteme; 2 Lehrstuhl für Softwaretechnik
                                                    3
                                                      Institut für Informatik
                                             Universität Rostock, 18051 Rostock
                                           vorname.nachname@uni-rostock.de

ABSTRACT
Data Warehouses bestehen aus zwei Hauptkomponenten: ei-                   neu  identifiziert                                         OLAP-­‐Anfragen	
  f
                                                                                                        Quellen-­‐                  e	
  Anfrageergebnisse
ner flexiblen Anfrageschnittstelle zur Datenanalyse (OLAP)                                           identifikation
und einer relativ starren ETL-Komponente zum Laden der                                                                                              Data  Mart
Daten ins Data Warehouse. In diesem Artikel soll vorgestellt                                                          Anpassung
werden, wie die Datenintegration bedarfsabhängig zu flexi-
bilisieren ist, welche Vorteile sich daraus ergeben und welche          bereits  erschlossen

Herausforderungen bei der Entwicklung eines solchen inter-                                              Datenintegration
aktiven ETL (iETL)-Prozesses bestehen.                                                                  Datenbereinigung

                                                                                                                                                                 Selection

Categories and Subject Descriptors
                                                                            Datenbanken,  
D.2.2 [Software Engineering]: Design Tools and Tech-                  CSV-­‐  und  Excel-­‐Dateien                                Data  Warehouse

niques—User interfaces; H.2.7 [Database Management]:
Database Administration—data warehouse and repository;                 Abbildung 1: Interaktiver ETL-Prozess eines DW
H.3.3 [Information Storage and Retrieval]: Informati-
on Search and Retrieval—query formulation, search process
                                                                      formationsfülle spiegelt sich in der Heterogenität der vor-
General Terms                                                         zuhaltenden Lösungen, der Vielfalt der Schnittstellen zum
                                                                      Informationsaustausch sowie der Menge vorzufindender Da-
Data Warehouse
                                                                      tenbanklösungen und Datenablagen in Excel und ähnlichen
                                                                      Formaten wider. Dem gegenüber steht der zunehmende Be-
Keywords                                                              darf an zentralen Beobachtungs- und Steuerungsinstrumen-
Data Warehouse, ETL-Prozess, Szenario, Datenintegration               ten der Bereiche Business- und Geo-Intelligence. Der Ver-
                                                                      breitung fachübergreifender Systeme steht oft der sehr ho-
                                                                      he Datenbeschaffungsaufwand (sowohl initial als auch pro-
1.   MOTIVATION                                                       zessbegleitend) im Weg. Insbesondere die Erschließung neu-
  Institutionen des öffentlichen Sektors sehen sich mehr noch         er Datenquellen bei der Ausweitung von Kennzahlensyste-
als industrielle Verwaltungen einer Vielzahl von Softwarelö-         men auf neue Fachgebiete oder bei Auftreten tagesaktuel-
sungen zur Unterstützung ihrer Prozesse gegenüber. Wäh-            ler ad-hoc-Abfragen mit teils exotischen“ Fragestellungen
rend in Industrien wie dem Automobilbau oder dem Ban-                                                  ”
                                                                      geht stets mit großem manuellen Aufwand bei der Informa-
kenbereich fünf bis zehn Kernkompetenzen in der IT darge-            tionssuche und -transformation einher. Es geht also um eine
stellt werden, finden sich im Kerngeschäft öffentlicher Ver-         Lösung zur Identifizierung und Integration heterogener Da-
waltungen leicht zwischen 100 und 150 Prozesse verschiede-            tenquellen im Data Warehouse (DW)-Umfeld, die den An-
ner Dienstleistungskomplexe [11]. Diese Aufgaben- und In-             wender in verschiedensten Datenquellen enthaltene Informa-
∗Die Arbeit dieser Autoren wird durch das BMWi im ZIM-                tionen finden und in seinen Bestand übernehmen lässt. Nicht
Projekt KF2604606LF1 der GeoWare GmbH und der Uni-                    im Fokus stehen von technischem Personal eingerichtete tur-
versität Rostock gefördert.                                         nusmäßige Beladungen oder Real-Time-Data-Warehousing
                                                                      sondern die zunächst einmalige Integration aus Quellen mit
                                                                      überwiegend statischem Inhalt und geringer Komplexität
                                                                      durch den Anwender. Kapitel 2 illustriert dies anhand zwei-
                                                                      er Szenarien aus der Anforderungsanalyse. Abb. 1 zeigt in
                                                                      durchgezogenen Pfeilen bestehende Daten- und Kontrollflüs-
                                                                      se und in unterbrochenen Linien die zu entwickelnden Ver-
                                                                      bindungen. Interessant dabei ist, wie der Prozess aus Nut-
                                                                      zersicht verlaufen kann und mehr noch, mittels welcher Ar-
24th GI-Workshop on Foundations of Databases (Grundlagen von Daten-
banken), 29.05.2012 - 01.06.2012, Lübbenau, Germany.                  chitekturen und Datenstrukturen die daraus ermittelten An-
Copyright is held by the author/owner(s).                             forderungen am besten umzusetzen sind.



                                                                                                                                                                       59
iETL: Flexibilisierung der Datenintegration in Data Warehouses




       Abbildung 2: Eingabemaske Szenario 1                               Abbildung 3: Ergebnisliste Szenario 1


2.   ANWENDUNGSSZENARIEN                                          damit nicht relevant. Herr B. wählt also den zweiten Tref-
                                                                  fer und betrachtet ihn in der Voransicht. Er erkennt, dass
   In der Anforderungsanalyse dieses Projektes sind Szenari-
                                                                  die gesuchten Daten (eine Auflistung der Auszubildenen mit
en ([3], S. 52) zur Veranschaulichung der gewünschten Funk-
                                                                  Wohn- und Ausbildungsadresse) in dem Suchergebnis ent-
tionalität entstanden, die beim Entwickeln einer Lösung hel-
                                                                  halten sind und wechselt via Importieren“ zum Import-Mo-
fen sollen. Die folgende Wiedergabe dieser Beispielanwen-                                     ”
                                                                  dul für Excel-Dateien. Dort kann er einzelne Spalten und
dungen beginnt nach dem Skizzieren des technischen Kon-
                                                                  Bereiche der Excel-Tabelle als Werte der drei Dimensionen
textes jeweils mit der Beschreibung einer Bedarfssituation,
                                                                  markieren und den Import in sein DW-Systems anstoßen.
an die sich eine mögliche Lösung aus Anwendersicht an-
                                                                  Anschließend widmet er sich der Aufbereitung der Statisti-
schließt. Das folgende Kapitel 3 schlägt dann ein Konzept
                                                                  ken.
zur Umsetzung dieser Anforderung vor.
                                                                    Szenario 2 – Kontext: Die Konfiguration entspricht der
  Szenario 1 – Kontext: Die Klassifikationshierarchie des
                                                                  von Szenario 1. Hier wird jedoch die Anfrage nicht vom DW-
DW mit ihren Attributen ist dem System bekannt. Ebenso
                                                                  System vorbelegt.
wurden die möglichen Datenquellen (Web-Services, Suchpfa-
de im Dateisystem) bereits konfiguriert. Die drei Dimensio-          Situation: Vor dem Beitritt zu einem Verband zur Förde-
nen der Daten im DW sind: Zeitraum, Geo-Objekte (Hier-            rung von Solarenergieanlagen an privaten Immobilien sollen
archie geographischer Bezugselemente) und Kenngrößen.            für 2010 Anzahl, Verteilung und Höhe der Landesförderung
                                                                  von Anlagen ermittelt werden. Frau B. ist damit beauftragt
   Situation: Wenige Tage vor der Jahresversammlung des
                                                                  und stellt fest, dass zu den Förderungen bislang keine Daten
Gaststätten- und Hotelverbandes wird Herr B. im Amt für
                                                                  im DW existieren, jedoch hat sie kürzlich davon gehört, dass
Ausbildungsförderung mit dem Zusammenstellen einer Sta-
                                                                  ein Mitarbeiter einem anderen per Mail eine solche Übersicht
tistik beauftragt. Sie soll die Entwicklung der Auszubilden-
                                                                  schicken wollte.
denzahlen der vergangenen Jahre in diesem Bereich aufzei-
gen. Dazu fragt er die dafür relevanten Informationen in ei-         Lösungsausblick: Sie startet das Suchsystem und spezi-
nem DW-System an und erkennt an der grauen Einfärbung            fiziert ihre Anfrage: solaranlagen 2010 +förderung +privat
                                                                                        ”
des entsprechenden Knotens in seiner DW-Anwendung, dass           -gewerblich“ (siehe Abb. 4). Der Begriff solaranlagen“ und
                                                                                                             ”
die Daten zur Kenngröße Auszubildende in der Hauswirt-           das Jahr 2010“ sollen im Ergebnis enthalten sein. Ebenso
                             ”                                               ”
schaft“ für den Stadtteil Nordstadt“ im Jahr 2008 fehlen.          förderung“ und privat“, die ihr besonders wichtig sind und
                            ”                                     ”                 ”
Dass sie nicht wie sonst automatisch übermittelt wurden,         für die das +“ eine erhöhte Priorität der Fundstellen be-
                                                                                ”
liegt seiner Meinung nach an der Umbenennung des Stadt-           wirken soll. Kommt hingegen gewerblich“ in der Fundstelle
                                                                                                  ”
teils (früher: Neustadt“) im Vorjahr.                            vor, soll die Priorität des Ergebnisses sinken. Als Suchort
               ”
                                                                  schließt Frau B. die Datenquelle StarDepot“ aus, dann star-
   Lösungsausblick: Über einen Rechtsklick auf den ausge-                                         ”
                                                                  tet sie die Suche. In einer Ansicht ähnlich zu Abb. 3 nutzt
grauten Knoten lässt Herr B. eine Anfrage an das Suchsys-
                                                                  sie die Vorschau, um die Datei mit den gesuchten Informa-
tem generieren, was ihn zur Eingabemaske (Abb. 2) führt.
                                                                  tionen zu identifizieren. Anschließend bereitet sie die Daten
Die Suchfelder für die drei Dimensionen sind schon vorbe-
                                                                  für den Import vor und übernimmt sie in den eigenen Da-
legt; per direkter Texteingabe oder über die Schaltflächen
                                                                  tenbestand.
 Variablen auswählen“ und Objekte auswählen“ könnte Herr
”                            ”
B. die Suchkriterien verändern; die jeweiligen Dialoge stellen
die möglichen Werte der jeweiligen Dimension zur Auswahl.        3.   LÖSUNGSKONZEPT
Er tippt in das Suchfeld der Ortsbezeichnungen Neustadt“             In Abschnitt 2 wurden Anwendungsszenarien und mög-
                                                   ”
ein und bekommt nach Abschluss der Suche als Ergebnis             liche Lösungsausblicke vorgestellt, die eine Anpassung des
eine Liste von Datenquellen zu sehen (Abb. 3). Das erste          ETL-Prozesses notwendig machen. In diesem Abschnitt stel-
Ergebnis ist offenbar ein Bericht eines konkreten Hotels und       len wir dafür eine erweiterte DW-Architektur vor.



60
                                                       iETL: Flexibilisierung der Datenintegration in Data Warehouses

                                                                    • Wissensbasis: Sämtliche Komponenten sollen zur Fle-
                                                                      xibilisierung um semantische und ontologische Kon-
                                                                      zepte erweitert werden.
                                                                   Wir schlagen deshalb vor, das Referenzmodell für die Ar-
                                                                 chitektur von DW aus [2] derart zu erweitern, dass der An-
                                                                 wender bei der Identifikation passender Datenquellen un-
                                                                 terstützt, der Integrationsprozess heterogener Datenquellen
                                                                 erleichtert und die Flexibilisierung der Datenextraktion mit
                                                                 geeigneten Konzepten ermöglicht wird. Die Architektur ist
                                                                 in Abbildung 5 dargestellt. Datenflüsse zwischen den Kom-
                                                                 ponenten sind als durchgezogene Pfeile umgesetzt, der Kon-
                                                                 trollfluss wird mit unterbrochenen Linien markiert.
                                                                 3.2   Die Wissenskomponente
                                                                    Die zentrale Komponente in der vorgestellten Architektur
       Abbildung 4: Eingabemaske Szenario 2                      bildet der Data Warehouse Manager (DWM) (siehe Abb. 5).
                                                                 Der DWM steuert in einem klassischen DW nach [2] alle
                                                                 Komponenten, die zur Anfrage und Darstellung der Daten
3.1   Ausgangspunkt                                              notwendig sind: Monitore, Extraktoren, Ladekomponenten
   Der Anwender soll bei der Quellenidentifikation und Da-       und Analysekomponenten. Zusätzlich erhält der DWM in
tenintegration im ETL-Prozess in einem DW unterstützt           der hier vorgestellten Architektur Schnittstellen
werden. Dafür müssen die verfügbaren Datenquellen so auf-
                                                                    • zur zentralen Wissenskomponente, die für die Planung
bereitet werden, dass eine Recherche und eine anschließen-
                                                                      und Ausführung der Quellenidentifikation und Daten-
de Auswahl von geeigneten Datenquellen möglich ist. Die
                                                                      transformation im ETL-Prozess benötigt wird und
Heterogenität der Datenquellen erschwert die automatische
Integration in das DW. In föderierten Datenbanken gab es           • zur Search Engine zwecks Quellenidentifikation.
umfangreiche Untersuchungen zu Heterogenitäten der ein-
zelnen Datenquellen bzgl. Syntax und Semantik von Werten,
Attributen, Relationen und Modellen [6]. Die Transformati-       Konzept.
on von Daten aus heterogenen Formaten in eine einheitli-           Die Wissenskomponente (knowledge component) stellt
che Repräsentationsform stellt das Hauptproblem bei der         Informationen über Klassifikations- und Dimensionshiera-
Integration dar. Der Anwender muss deshalb bei der Daten-        chien, semantische Verknüpfungen und die Typisierung so-
integration und insbesondere bei der Datentransformation         wie Metadaten einzelner Attribute bereit (siehe Abb. 5).
unterstützt werden. Angepasste Nutzerinterfaces sollen den      Das domänenspezifische Wissen wird durch Quellenanga-
technikunerfahrenen Anwender unterstützen.                      ben, Synonyme und Muster (Format- bzw. Modell-Pattern)
   Der Prozess des Füllens eines DW mit Daten wird als          ergänzt. Die Wissenskomponente ist für die Prozesse der
ETL-Prozess bezeichnet, ETL steht hierbei für Extract, Trans-   Quellenidentifikation und Datenintegration neuer Datenquel-
form und Load. Die Basisdaten in den meisten Anwendun-           len unabdingbar.
gen sind heterogene Daten, die in ein einheitliches Format,         • Der Metadata Manager stellt eine Schnittstelle be-
das multidimensionale Modell des DW integriert werden sol-            reit, über die andere Komponenten Anfragen an die
len. Bei diesem Prozess werden die neuen oder veränderten            Wissensbasis und das Metadaten-Repository stellen und
Daten aus den Basisdatenquellen ausgewählt (Extraction),             Antworten anfordern können.
in eine einheitliche Darstellung umgewandelt (Transformati-
on), dabei vervollständigt, Duplikate bereinigt und eventuell      • Die Knowledge Base beinhaltet ein Wissensmodell
voraggregiert. Anschließend erfolgt das Laden in die Daten-           für die Speicherung und Verwaltung der semantischen
bank (Load) [5]. Im vorgestellten Ansatz soll eine Wissens-           und ontologischen Informationen.
komponente den ETL-Prozess unterstützen, indem einzelne            • Das Metadata Repository beinhaltet alle weiteren
Komponenten um semantische und ontologische Konzepte                  Metadaten, die vom DWM benötigt werden.
erweitert werden. Wir schlagen deshalb eine Erweiterung des
klassischen ETL-Prozesses in folgenden Bereichen vor:
                                                                 Herausforderungen.
   • Quellenidentifikation: Methoden des Information-              Die Umsetzung einer Wissenskomponente erfordert den
     Retrieval sollen den Anwender bei der Identifikation        Aufbau einer Wissensbasis zum Anwendungsgebiet des DW,
     und Vorauswahl von Datenquellen unterstützen.              womit je nach Anwendungsszenario ein hoher manueller Auf-
                                                                 wand verbunden ist. Ein Teil der Wissensbasis kann aus
   • Datenintegration: Die flexible Integration heteroge-        den hierarchischen Klassifikationsattributen der Dimensio-
     ner Datenquellen soll durch semiautomatische Techni-        nen des DW übernommen werden.
     ken gefördert werden.                                        Zusätzlich zu diesen hierarchischen Informationen werden
                                                                 Wörterbücher benötigt, die die Verbindung zwischen Kon-
   • Datenextraktion (als Teil der Datenintegration): Der        zepten der Wissensbasis und Suchbegriffen herstellen. Die-
     Anwender soll durch geeignete Nutzerinterfaces die Ab-      se Wörterbücher sind initial zur erstellen und sollen beim
     bildungs- und Transformationsvorschriften effizient be-       Einsatz des iETL-Tools von einer lernenden Komponente
     stimmen können.                                            erweitert und anpasst werden.



                                                                                                                          61
iETL: Flexibilisierung der Datenintegration in Data Warehouses

                  analysis

                                                                                    knowledge component

                  BI-Tool                        Metadata
                 Repository                                             Metadata               Knowledge
                                                 Manager
                                                                        Repository               Base

                    load



                   Base                                                                  Response                    Query
                                               Data Warehouse Manager
                 Repository                                                              Manager                    Manager



                    load                                                                                             “—‡”›
                                                                                                                   ’”‘ ‡••‹‰



                  Staging                –”ƒ•Ǧ                                                                   Search Engine
                                       ˆ‘”ƒ–‹‘
                   Area
                                                                                       Index
                                                            ’ƒ––‡”
                 extraction                                 ƒ– Š‹‰                                                 ”ƒ™Ž‹‰

                                        data integration                          source identification



                                                             Integration Layer
                     applications          documents                                 databases            portable disks
                                                                             control flow                            data flow


                                    Abbildung 5: Architektur für den flexiblen ETL-Prozess


3.3     Quellenidentifikation                                                        – Wann: Datumsangaben und Zeitbereiche.
  Liegt in einem klassischen DW die Auswahl der Daten-
quellen bzw. der Quelldaten vorrangig bei den zuständigen                       • Das Query Processing beschreibt eine Vorverarbei-
Administratoren, so soll in diesem Ansatz der Anwender des                         tung der Anfrage unter Verwendung der Wissensbasis.
DW in die Quellenidentifikation einbezogen und dabei un-                           Dabei soll eine Anpassung der Anfrage hinsichtlich der
terstützt werden.                                                                 Struktur (Ort, Zeit, Schlüsselwörter), die Expansion
                                                                                   der Anfrage mit Hilfe der Wissensbasis sowie ein Vo-
                                                                                   kabularmapping und weitere Vorverarbeitungsschritte
Konzept.                                                                           wie eine lexikografische Analyse oder Stoppwortelemi-
   Eine Suchkomponente soll bei der Quellenidentifikation im
                                                                                   nierung stattfinden.
ETL-Prozess dem Anwender die Auswahl weiterer Daten-
quellen erleichtern. Dafür soll ein Index über alle verfügba-                 • Die Search Engine soll die Indizierung von Daten-
ren Datenquelle aufgebaut werden, die über den Integra-                           quellen, eine Anfrageverarbeitung und die Bereitstel-
tion Layer verfügbar sind. Der Prozess der Quelleniden-                           lung von Ergebnislisten übernehmen. Die Indizierung
tifikation (source identification) ist in Abbildung 5 rechts                       (mit gleichen Methoden wie bei der Anfrageverarbei-
dargestellt. Die Komponenten sind an die Architektur ei-                           tung) soll durch eine Strukturanalyse auf Basis von
ner Web-Suchmaschine angelehnt, wie sie beispielsweise in                          Mapping-Mustern (die während der Datenintegration
[1] (Seite 460) vorgeschlagen wird. Sie werden im Folgenden                        erzeugt werden) umgesetzt werden. Neben dem Bereit-
vorgestellt.                                                                       stellen von Anfrageergebnissen aus heterogenen Daten-
     • Der Query Manager stellt über eine Schnittstelle                           quellen sollen Suchergebnisse mit Informationen über
       einfache oder erweiterte Suchmasken bereit. Für die                        den Fundort innerhalb der Datenquellen angereichert
       Suche werden vorerst die existierenden Dimensionen                          werden, wofür domänenspezifische Informationen und
       aus dem DW als Suchparameter verwendet:                                     Musteranalysen aus der Wissensbasis zum Einsatz kom-
                                                                                   men sollen.
         – Was: Kenngrößen, die in einer Datenquelle ent-
           halten sein müssen.                                                  • Das Crawling beschreibt den Schritt, in dem verfüg-
         – Wo: Geo-Objekte, die durch die Werte beschrie-                          bare Datenquellen durchsucht und für die Indizierung
           ben werden.                                                             bereitgestellt werden. In diesem Schritt ist die Nut-



62
                                                       iETL: Flexibilisierung der Datenintegration in Data Warehouses

      zung vorhandener Mapping-Muster zu Strukturanaly-         Konzept.
      sen und semantischen Auswertungen geplant.
                                                                   • Mit extraction wird die Übertragung von Daten aus
   • Der Response Manager wird für die Präsentation                externen Quellen in den Arbeitsbereich (staging area)
     der Anfrageergebnisse genutzt. Dem Nutzer soll eine             beschrieben. Die Auswahl der Datenquellen wurde im
     Vorauswahl von Datenquellen durch eine vereinfachte             Vorfeld durch den Anwender (Quellenidentifikation)
     Datenvorschau ermöglicht werden, eine semiautomati-            durchgeführt. Der Prozess muss um semiautomatische
     sche Identifizierung möglicher Indikatoren, Variablen          Methoden des Schema Matchings und Mappings erwei-
     und Zeiträume in den Anfrageergebnissen soll dabei             tert werden (pattern matching).
     erfolgen (siehe Abb. 3). Die ausgewählten Quellen wer-         Die bei der Datenextraktion und -transformation er-
     den hier an den DWM übergeben, der in einem nächs-            zeugten Mapping-Mustern sollen für eine spätere Wie-
     ten Schritt die Datenintegration anstoßen kann.                 derverwendung in der Wissensbasis vorgehalten wer-
                                                                     den und bei jeder Datenintegration auf ihre Anwend-
Herausforderung.                                                     barkeit hin überprüft werden. Passende Muster für die
  Eine Herausforderung ist das Design des Anfrageinterfa-            Extraktion einer Datenquellen werden dem Anwender
ces und der Ergebnisdarstellung. Hierfür müssen die Anfor-         angeboten. Die Schritte der Extraktion und Transfor-
derungen der Anwender bestimmt werden.                               mation müssen durch angepasste, graphische Tools un-
                                                                     terstützt werden.
   • Anfrageinterfaces: Wie können Suchanfragen auf Ord-
                                                                   • Mit transformation wird die Abbildung der Daten
     ner, Datenquellen oder Dateitypen eingegrenzt werden
                                                                     hinsichtlich struktureller und inhaltlicher Aspekte be-
     und welche der Anfragetypen Context (Phrase, Boo-
                                                                     schrieben. Neben der Datentransformation (z. B. Kon-
     lean, etc.), Pattern Matching oder strukturierte An-
                                                                     vertierung von Kodierungen, Vereinheitlichung von Da-
     fragen (formularbasiert) können genutzt werden. Au-
                                                                     tumsangaben, etc.) sollen hier auch eine Datenbereini-
     ßerdem ist zu klären, ob die Klassifizierung der An-
                                                                     gung, Duplikaterkennung und eine Datenfusion statt-
     frage durch vorhandene Kategorien der Wissensbasis
                                                                     finden (siehe auch [2]). Für diesen Schritt sind ebenfalls
     möglich und sinnvoll ist.
                                                                     Informationen aus der Wissensbasis notwendig. Vor-
   • Ergebnisdarstellung: Wie muss eine zielgerichtete               schläge für Transformationsvorschriften können aus der
     Präsentation der Anfrageergebnisse unter Verwendung            Wissensbasis abgeleitet werden.
     der Wissensbasis umgesetzt werden und wie ist dabei
                                                                   • Mit load wird die Übertragung der Daten aus dem
     eine semiautomatische Identifizierung potentieller In-
                                                                     Arbeitsbereich in das Base Repository beschrieben.
     dikatoren, Variablen und Zeiträume möglich. Daneben
                                                                     Die Daten stehen dann für die weitere Verarbeitung
     sollen relevante Elemente der Ergebnismenge hervor-
                                                                     durch unterschiedliche BI-Tools (Business Intelligence
     gehoben und die Identifizierung von Strukturen inner-
                                                                     Tools) zur Verfügung. Durch ein erneutes Laden wer-
     halb eines Treffers durch Anwendung von Mapping-
                                                                     den die Daten in ein externes BI-Tool Repository
     Mustern möglich sein.
                                                                     geladen (grau hinterlegt) und stehen so in DW-Anwen-
   • Query Processing (basierend auf der Wissensbasis):              dungen für weitere OLAP-Analysen zur Verfügung.
     Wie kann die Wissensbasis für die Anfrageerweiterung
     in Form einer facettierten Suche genutzt und wie kön-
     nen Methoden des Relevance Feedback zur Verbesse-          Herausforderungen.
     rung der Qualität der Ergebnisse genutzt werden.            Die Herausforderungen bei der Datenintegration liegen
                                                                bei der Tool-Unterstützung des Anwenders, sowie bei der
   • Search Engine: Wie kann die Integration externer           semantischen Unterstützung des Transformationsprozesses.
     Anwendungen (Enterprise Search, ERP, CRM, etc.)            Das Schema einer Datenquelle ist in der Regel unbekannt,
     umgesetzt werden, wenn die bereitgestellte Anfrage-        weshalb es mit Hilfe geeigneter Werkzeuge extrahiert werden
     schnittstellen nur Teilergebnisse liefern oder der Um-     muss.
     fang der Datenbasen zu groß ist. Die Integration un-
     terschiedlicher Datenformate soll ebenso unterstützt         • Transformation: Die Datentransformation aus dem
     werden, wie die Duplikaterkennung, wenn Inhalte und             Format der Basisdatenquelle ins Zielformat kann nicht
     Daten aus unterschiedlichen Quellen genutzt werden.             vollständig automatisiert werden. Herausforderung ist
     Weiterhin sollen Mapping-Muster für den Prozess der            hier die Entwicklung von Nutzerinterfaces zur Einga-
     Indizierung und Extraktion genutzt werden und Klas-             be der benötigten Informationen durch den Fachan-
     sifikation durch die Mapping-Muster unterstützt wer-           wender. Die dabei entstehenden Transformationsmus-
     den.                                                            ter sollen gespeichert werden, damit sie für andere Da-
                                                                     tenquellen verwendet werden können.
3.4    Datenintegration                                              Welche vorhandenen Ansätze der Datenintegration kön-
  Die Datenintegration muss bedarfsabhängig und flexibel            nen für die Datenbereinigung, Duplikaterkennung und
angepasst werden, wenn durch die Quellenidentifikation neue          Datenfusion angewendet werden und wie kann eine
Datenquellen zu integrieren sind. Die Flexibilisierung soll          Plausibilitätsprüfung der Daten unterstützt werden.
durch Anwendung von semantischen und ontologischen Kon-              Für eine Plausibilitätsprüfung können z. B. Regeln de-
zepten erreicht werden, wodurch domänenspezifisches Wis-            finiert werden, die die Wissensbasis einbeziehen. Ein
sen ausgenutzt wird. Die Architektur in Abbildung 5 ist da-          möglicher Ansatzpunkt ist hier die Angabe von check-
bei an die Referenzarchitektur angelehnt.                            constraints.



                                                                                                                            63
iETL: Flexibilisierung der Datenintegration in Data Warehouses

3.5    Einsatz des Verfahrens                                      Wissensbasis gebildet werden, die um Wörterbücher ergänzt
  Das im Projekt zu entwickelnde Verfahren wird sich nicht         wird.
auf alle DW anwenden lassen. Voraussetzung ist, dass es ei-
ne Wissensbasis zu dem Anwendungsgebiet des DW gibt. Da
diese Wissensbasis eine zentrale Rolle beim Finden der rele-       5.   ZUSAMMENFASSUNG, AUSBLICK
vanten Datenquellen und bei der Transformation der Daten              Die flexible, durch situativ entstandenen Datenbedarf in-
ins DW spielt, muss eine solche Wissensbasis für einen fle-       itiierte Integration bislang unerschlossener Datenquellen in
xiblen ETL-Prozess vorhanden sein. Teile der Wissensbasis          ein Data Warehouse erfordert eine Anreicherung des ETL-
lassen sich aus den Klassifikationsattributen der Dimensio-        Prozesses um interaktive Schritte. Um diesen Prozess für
nen des DW generieren; die Zuordnung dieser Klassifikati-          den Fachanwender handhabbar zu halten, bedarf es zusätz-
onshierarchie zu den korrespondierenden Suchbegriffen für          licher Komponenten zur Speicherung und Nutzung von do-
die Datenquellen muss für das jeweilige Anwendungsgebiet          mänenspezifischem Wissen (knowledge component), die das
ergänzt werden.                                                   Finden (source identification) und Integrieren (data integra-
                                                                   tion) neuer Daten erleichtern bzw. erst ermöglichen.
4.    RELATED WORK /                                                  Geleitet von Anwendungsszenarien wurde ein Konzept zur
                                                                   Architektur eines solchen Systems vorgestellt. Die Heraus-
      STAND DER TECHNIK                                            arbeitung technischer Herausforderungen zeigt den zu ge-
                                                                   henden Weg: Die Details der einzelnen Komponenten sind
4.1    Datenintegration                                            zu konkretisieren, bislang nicht kombinierte Techniken zu
   Jede Datenintegration bewirkt das Zusammenführen von           verbinden und eine angemessene Nutzerschnittstelle zu ent-
Daten aus heterogenen Datenbanken und Informationssys-             wickeln.
temen. Es gibt Klassifikationen, die die Heterogenitäten der
einzelnen Datenquellen systematisieren. Heterogenitäten kön-     6.   REFERENCES
nen bzgl. Syntax und Semantik von Werten, Attributen, Re-
lationen, Modellen existieren ([6]). Eine Standardarchitek-         [1] Baeza-Yates, R. und B. Ribeiro-Neto: Modern
tur, die das Zusammenführen von heterogenen Formaten in                information retrieval: the concepts and technology
heterogenen Datenbanken vornimmt, wurde bereits im Jahr                 behind search. Addison-Wesley, Pearson, Harlow [u.a.],
1990 in [10] vorgeschlagen.                                             2. Aufl., 2011.
   Eine dabei bestehende Aufgabe ist Matching und Map-              [2] Bauer, A. und H. Günzel:
ping heterogener Datenbanken. Es gibt mehrere Mapping-                  Data-Warehouse-Systeme: Architektur, Entwicklung,
Tools, die eine intuitiv bedienbare Oberfläche anbieten, um            Anwendung. dpunkt-Verl., Heidelberg, 2. überarb. und
dem Benutzer das Entwickeln von Datentransformations-                   aktualisierte Aufl., 2004. Literatur- und URL-Verz. S.
komponenten zu erleichtern (wie Altova MapForce1 , oder                 545–576.
IBM Data Integrator), dieser Prozess ist jedoch nicht au-           [3] Courage, C. und K. Baxter: Understanding Your
tomatisierbar. Einen Überblick über Forschungsansätze in             Users: A Practical Guide to User Requirements
dieser Richtung findet man in [9]. Dabei spielen vor allem              Methods, Tools, and Techniques. Morgan Kaufmann,
Ontologie-basierte Ansätze eine große Rolle (vgl. [7] und [4]).        1. Aufl., 2005.
                                                                    [4] Doan, A. und A. Y. Halevy: Semantic Integration
4.2    ETL                                                              Research in the Database Community: A Brief Survey.
  Beim ETL-Prozess in einem DW werden die Basisdaten                    AI Magazine, 26(1):83–94, 2005.
(meist heterogene Daten) in ein einheitliches Format, das           [5] Inmon, W.: Building the data warehouse. Wiley, 2005.
multidimensionale Modell des DW integriert [5]. Man kann            [6] Kim, W. und J. Seo: Classifying Schematic and Data
den ETL-Prozess eines DW als Spezialfall föderierter Daten-            Heterogeneity in Multidatabase Systems. Computer,
banken sehen. Für neue Datenquellen bedeutet der ETL-                  24(12):12–18, Dez. 1991.
Prozess also manuellen Aufwand, der eine Interaktion mit            [7] Noy, N. F.: Semantic integration: a survey of
einem Benutzer erfordert; im laufenden Prozess kann das                 ontology-based approaches. SIGMOD Rec.,
Laden neuer Daten dann automatisch ausgeführt werden.                  33(4):65–70, Dez. 2004.
Es stehen Tools zur Vereinfachung dieses Prozesses für die         [8] Pardillo, J. und J.-N. Mazón: Using Ontologies for
Anwender zur Verfügung, Beispiele dafür sind Talend2 und              the Design of Data Warehouses. CoRR,
IBM Data Stage3 .                                                       abs/1106.0304, 2011.
                                                                    [9] Rahm, E. und P. A. Bernstein: A survey of
4.3    Verwendung von Ontologien                                        approaches to automatic schema matching. VLDB
       im ETL-Prozess                                                   Journal, 10(4):334–350, 2001.
  Die Idee, Ontologien zur Beschreibung von Objekten ein-          [10] Sheth, A. P. und J. A. Larson: Federated database
zusetzen, ist weit verbreitet. Im DW-Bereich gibt es einen              systems for managing distributed, heterogeneous, and
Vorschlag, Ontologien zu verwenden, um die Metadaten des                autonomous databases. ACM Comput. Surv.,
Data Warehouses daraus abzuleiten [8]. In unserem Ansatz                22(3):183–236, Sep. 1990.
soll die Kopplung dieser beiden Gebiete auf andere Weise           [11] Vitako: IT-Monitor kommunal . Vitako aktuell.
erfolgen: Aus den Klassifikationsattributen des DW soll eine            Bundesarbeitsgemeinschaft der Kommunalen
1                                                                       IT-Dienstleister e.V, 2007.
  www.altova.com/mapforce.html
2
  www.talend.com
3
  www.ibm.com/software/data/infosphere/datastage



64
         Ereignismuster für die Verwaltung von komplexen
        Tupelereignissen in Probabilistischen Datenbanken

                                                        Sebastian Lehrack
                                       Brandenburgische Technische Universität Cottbus
                                           Institut für Informatik, Postfach 10 13 44
                                                 D-03013 Cottbus, Deutschland
                                             slehrack@informatik.tu-cottbus.de

ABSTRACT                                                                                          Arte
                                                                          tid   aid        type        sond     age     ETArte
Probabilistische Datenbanken haben sich als adäquate Tech-
                                                                           t1   art1   vase fragment     3      300    (X1 = t1 )
nik zur Verwaltung und Verarbeitung von umfangreichen                      t2   art2    spear head      10      500    (X2 = t2 )
unsicheren Datenmengen etabliert. Eine der größten Her-                   t3   art3   vase fragment     4      300    (X3 = t3 )
ausforderungen für probabilistische Datenbanken ist eine ef-
fiziente Anfrageverarbeitung. Eine zentrale Rolle spielen da-                                     ArteExp
bei Ableitungsformeln, welche komplexe Tupelereignisse in                 tid   expert     aid     culture     conf     ETArteExp
Form von aussagenlogischen Formeln verkörpern. Eine di-                   t4    Peter     art1      roman      0.3     (X4 = t4 )
rekte Abspeicherung und Verarbeitung von komplexen lo-                     t5    Peter     art1       greek     0.4     (X4 = t5 )
gischen Formeln wird von relationalen Datenbanksystemen                    t6   Kathleen   art1      roman      0.4     (X5 = t6 )
jedoch nicht unterstützt. Diese Arbeit stellt Ereignismuster              t7    John      art2    egyptian     0.6     (X6 = t7 )
als geeignetes Mittel vor, um Ableitungsformeln mittels ei-                                       ArteMat
nes RBDMS verwalten zu können.                                           tid   method     aid     culture    conf     ETArteM at
                                                                           t8    XRF       art1     roman      0.3      (X7 = t8 )
                                                                           t9    XRF       art1      greek     0.3      (X7 = t9 )
                                                                          t10   ICS-MS     art2      punic     0.8     (X8 = t10 )
1.   MOTIVATION                                                           t11    XRF       art2    egyptian    0.5     (X9 = t11 )
  Probabilistische Datenbanken standen in den letzten Jah-
ren im Mittelpunkt intensiver Untersuchungen (für einen              Figure 1: Datentabellen Arte, ArteExp und ArteMat
Überblick verweisen wir auf [18]). In einer solchen Daten-           des fortlaufenden Beispielszenarios (die unterstri-
bank gehört ein Tupel lediglich mit einer gewissen Wahr-             chenen Attribute kennzeichnen den jeweiligen Er-
scheinlichkeit zu einer Datentabelle oder zu einem Anfrage-           eignisschlüssel (siehe Kap. (2)))
ergebnis. Die Wahrscheinlichkeit drückt dabei entweder eine
Unsicherheit über die Datengrundlage oder die Anfrageant-
wort aus.                                                             durch die Neuentwicklung des CISAR-Projektes1 [5], wel-
  Eine der größten Herausforderungen für probabilistische           ches als internet-basiertes Geo-Informationssystem für Ar-
Datenbanken ist eine effiziente Anfrageverarbeitung. Ein zen-         chäologie und Gebäudegeschichte entwickelt worden ist. Die
trales Konzept sind dabei Ableitungsformeln, welche kom-              hier vorgestellten Techniken werden umfassend in dem Nach-
plexe Tupelereignisse in Form von aussagenlogischen For-              folgesystem OpenInfRA eingesetzt [17].
meln darstellen [4]. Eine direkte Abspeicherung und Verar-               In dem stark vereinfachten Beispielszenario werden die de-
beitung von komplexen logischen Formeln wird von relatio-             terministische Tabelle Artefakte (Arte) und die zwei pro-
nalen Datenbanksystemen jedoch nicht unterstützt. Diese              babilistischen Tabellen Artefakte klassifiziert bei Experten 2
Arbeit stellt Ereignismuster als geeignetes Mittel vor, um            (ArteExp) und Artefakte klassifiziert bei Material (ArteMat)
Ableitungsformeln in einer strukturierten Form mittels ei-            verwendet, siehe Abb. (1). In der Datentabelle Arte werden
nes RBDMS verwalten zu können.                                       Informationen über mehrere Artefakten gespeichert, welche
  Fortlaufendes Beispiel: Die grundlegenden Ideen wer-                während einer archäologischen Ausgrabung gefunden wor-
den in den nächsten Kapiteln anhand eines fortlaufenden              den sind. Dabei wird mittels der Sondage-Nummer (Attri-
Beispielszenarios aufgezeigt. Dieses Szenario ist motiviert           but sond ) die geographische Fundstelle eines Artefaktes be-
                                                                      schrieben.
                                                                         Zusätzlich geben mehrere Spezialisten verschiedene Ex-
                                                                      pertisen über die Ursprungskultur eines Artefakts (Attribut
                                                                      culture) ab, siehe Tabelle ArteExp. Diese Einschätzungen
                                                                      werden mit einem Konfidenzwert annotiert (Attribut conf ),
                                                                      1
                                                                       http://www.dainst.org/en/project/cisar/
                                                                      2
                                                                       Die Spalten tid, conf und ET (...) gehören nicht zu den ei-
24th GI-Workshop on Foundations of Databases (Grundlagen von Daten-   gentlichen Datentabellen. Mittels der Spalte tid werden Tu-
banken), 29.05.2012 - 01.06.2012, Lübbenau, Germany.                  pel adressiert. Die Bedeutung von conf und ET(...) wird in
Copyright is held by the author/owner(s).                             den nächsten Abschnitten erläutert.



                                                                                                                                 65
Ereignismuster für die Verwaltung von komplexen Tupelereignissen in Probabilistischen Datenbanken
                                                          
              select aid, type, culture                                                          πaid,type,culture
              from    ( select aid, culture
                         from ArteExp
                       union                                                                            ./
                         select aid, culture
                         from ArteMat
                      ) origin                                                               ∪                  Arte
                   inner join
                      ( select *
                        from Arte                                             πaid,culture       πaid,culture

                                                                    
                      ) prop
                   on ( origin.aid = prop.aid )                                  ArteExp         ArteM at

               Figure 2: Beispielanfrage Qe als QSQL2-Anfrage und als abstrahierte Algebraanfrage



welche die Wahrscheinlichkeit ausdrückt, dass das entspre-         der block-independent-disjoint Datenbanken (BID) [2] be-
chende Artefakt zu der bestimmten Kultur gehört. Neben             nutzt, da Tupel- und Attributunsicherheit untersützt wer-
den subjektiven Expertenmeinungen werden auch objekti-              den soll. Eine BID ist eine probabilistische Datenbank in
ve Methoden einbezogen. Diese archäometrischen Methoden            der die gegebenen Tupel in Blöcke unterteilt werden. Da-
(z.B. XRF und ICS-MS3 ) basieren auf einer Materialanaly-           bei kann ein Block sich nicht über mehrere Relationen er-
se. In Kombinationen mit den Fundstellen und dem Artefak-           strecken. Es wird vereinbart, dass alle Tupel innerhalb ei-
talter kann die Materialzusammensetzung wichtige Hinweise           nes Blockes mit disjunkten Tupelereignissen verbunden sind.
auf die Ursprungskultur geben, welche dann ebenfalls mit-           Ein Tupelereignis beschreibt das Vorhandensein oder das
tels Konfidenzwerten quantifiziert werden.                          Nicht-Vorhandensein eines Tupel in einer beliebigen Welt.
   Basierend auf den eingeführten Datentabellen soll exem-         Wegen der Disjunktheit der Tupelereignisse kann maximal
plarisch die folgende Anfrage Qe bearbeitet werden: Bestim-         ein Tupel eines Blockes in einer bestimmten Welt vorhanden
me alle Artefakte mit ihren jeweiligen Typ und ihren mögli-        sein. Dagegen sind Tupel von verschiedenen Blöcken mit ge-
chen Ursprungskulturen. Um diese Anfrage zu beantworten             genseitig unabhängigen Tupelereignissen assoziiert.
wird sie zunächst in der Anfragesprache QSQL2 [8] formu-             Für die Definition von Blöcken werden Ereignisschlüssel in
liert, siehe Abb. (2). Anschließend wird von dem eigentlichen       Form von Attributmengen angewendet4 . So wird ein Block
SQL-Syntax abstrahiert, indem sie in Form einer Algebraan-          wird von Tupeln gebildet, welche die gleichen Werte für die
frage in den nächsten Kapiteln weiter verarbeitet wird.            Attribute des Schlüssel haben. Anschließend wird für jeden
   Die Arbeit ist wie folgt gegliedert. In Kap. (2) werden zu-      Block eine unabhängige Zufallsvariable Xk eingeführt. Das
nächst die Grundlagen für die weiteren Betrachtungen ge-          konkrete Eintreten einer Zufallsvariable (Xk = tid ) reprä-
legt. Danach steht der wesentliche Beitrag dieser Arbeit in         sentiert ein Tupelereignis und wird quantifiziert mit dem
Form der Ereignismuster in Kap. (3) im Mittelpunkt. In              Konfidenzwert des Tupels tid , siehe die Spalten conf und
den Kap. (4) und (5) wird die Arbeit mit einer Diskussion           ET (...) in der Abb. (1)5 . Die kombinierte Wahrscheinlich-
über verwandte Arbeiten und einer Zusammenfassung ab-              keitsverteilung aller Blockvariablen bilden schließlich P. Um
geschlossen. Der Beweis des Satzes (1) wird im Anhang (A)           eine Algebraanfrage auf einer probabilistischen Datenbank
geführt.                                                           auszuführen, wird folgende Anfragesemantik verwendet [18].

2.   GRUNDLAGEN                                                        Definition 2. Sei Q eine Algebraanfrage und D = (W, P)
  In einer probabilistischen Datenbanken werden mehrere             eine probabilistische Datenbank. Die Menge aller möglichen
möglichen Datenbankinstanzen, welche auch Welten genannt           Antworttupel einer Anfrage Q ist definiert als Qposs(W) =
werden, gleichzeitig verwaltet und abgefragt. Dabei wird die        {t | ∃W ∈ W : t ∈ Q(W )}. Zusätzlich werden die Eintritts-
 reale Welt“ als unbekannt angenommen. Um diese Unsi-               wahrscheinlichkeiten aller möglichen AntwortenP
                                                                                                                   in der Funk-
”
cherheit abzubilden wird ein Wahrscheinlichkeitsmaß über           tion PrQ : Qposs(W) → (0, 1] als PrQ (t) :=          P(W ).
der Menge aller möglichen Welten vereinbart. Konkret wird                                                             W ∈W:t∈Q(W )
hier auf die Definition von Suciu et al. [18] zurück gegriffen.    berechnet.

  Definition 1. Angenommen werden k Relationennamen:                  Dies bedeutet, dass die Anfrage Q konzeptionell in jeder
R1 , . . . , Rk . Eine unvollständige Datenbank ist dann eine      Welt separat ausgeführt wird. Dann wird die Ergebnisrelati-
endliche Menge von Dateninstanzen W = {W 1 , W 2 , . . . , W n },   on Qposs(W) gebildet, in dem alle möglichen Antworten der
wobei jede Dateninstanz (Welt) durch W i = (R1i , . . . , Rki )     verschiedenen Auswertungen gesammelt werden. Zusätzlich
beschrieben ist. Eine probabilistische Datenbank ist ein Wahr-      wird die Eintrittswahrscheinlichkeit einer möglichen Ant-
scheinlichkeitsraum D = (W, P) über einer unvollständigen         wort durch das Aufsummieren der Welten, in der das Ant-
Datenbanken        W. Damit ist P : W → [0, 1] eine Funktion,       worttupel in der Antwort auftritt, gebildet. Offensichtlich
                                                                    gibt die Def. (2) nur die Semantik der Anfrageauswertung
            P
sodass W ∈W P(W ) = 1 gilt. Es wird vorausgesetzt, dass
∀W ∈ W : P(W ) > 0 gilt.                                            vor. Eine einzelne Auswertung in allen Welten ist praktisch
                                                                    4
 Im Allgemeinen ist die Semantik des Wahrscheinlichkeits-             In dem Beispielszenario werden die Ereignisschlüssel von
maß P nicht vordefiniert. Konkret wird hier der Spezialfall         Arte, ArteExp und ArteMat als {aid}, {exp, aid} und
                                                                    {method, aid} vereinbart, siehe Abb. (1).
3                                                                   5
  XRF und ICP-MS stehen für die x-ray fluorescence und die           Da die Tabelle Arte deterministisch ist, wird P(X1 = t1 ) =
inductively coupled plasma mass spectrometry Methode.               . . . = P(X3 = t3 ) = 1 gesetzt.



66
                 Ereignismuster für die Verwaltung von komplexen Tupelereignissen in Probabilistischen Datenbanken

nicht umsetzbar, da die Anzahl aller Welten exponentiell in           Algorithm 1: gen(Φpa , t)
Datengröße anwachsen kann.
                                                                       Data: Klauselmustermenge Φpa , Tupel t ∈ Rev
                                                                       Result: Formel in DNF kodiert als Φt
3.      EREIGNISMUSTER                                              1 Φt := ∅;
  In diesem Kapitel wird die praktische Auswertung einer            2 foreach CP ∈ Φpa do
Algebraanfrage Q auf einer probabilistischen Datenbank dis-         3     C := (true);
kutiert. Dabei wird das Konzept der Ableitungsformeln vor-          4     foreach ETRi in CP do
gestellt und eine neue Technik zur Verwaltung von komple-           5         if t[ETRi ] 6= null then
xen Tupelereignissen eingeführt.                                   6             C := C • t[ETRi ];
                                                                    7         else
3.1      Ableitungsformeln                                          8             C := C • (false);
   Entsprechend Def. (2) muss zur Auswertung einer Anfra-           9         end
ge die Ergbeniswahrscheinlichkeit PrQ (t) für jedes Ergeb-        10     end
nistupel berechnet werden. Fuhr und Röllecke schlugen in          11     if simpl(C) 6= false then
[4] vor, diese Wahrscheinlichkeiten mittels von Ableitungs-        12         Φt := Φt ∪ {simpl(C)};
formeln φt zu berechnen. Dabei werden alle Ableitungsfor-          13     end
meln neben dem eigentlichen Datenanteil der Tupel verwal-          14 end
tet. Prinzipiell ist eine Ableitungsformel φt durch eine aus-      15 return Φt ;
sagenlogische Formel gegeben, welche mittels den Zufallsva-
riablen (Xk = tid )6 und den logischen Operatoren ∧, ∨ und
¬ gebildet wird. Fuhr und Röllecke haben geschlussfolgert,
dass PrQ (t) durch Wahrscheinlichkeit P(φt ≡ true) ermit-           3.2    Verwaltung von Ableitungsformeln mittels
telt werden kann, d.h. PrQ (t) = P(φt ≡ true). Somit kann                  Ereignismustern und Basisereignismengen
PrQ (t) durch P(φt ≡ true) berechnet werden, ohne dass                Um eine logische Formel in einer strukturierten Form zu
über alle Welten von W iteriert werden muss (siehe Def.            verwalten wird sie in die bekannte disjunktive Normalform
(2)). Im Folgenden wird P(φt ≡ true) durch P(φt ) abge-             (DNF) transformiert.
kürzt. Die Konstruktion von φt greift auf die Struktur der
betrachteten Anfrage Q zurück.                                        Definition 4. Angenommen φt ist eine Ableitungsformel.
                                                                    Ein Literal ist gegeben durch ein negiertes oder unnegiertes
  Definition 3. Angenommen Q ist eine Algebraanfrage und            Basisereignis von φt , d.h. L ≡ ¬(Xk = tid ) oder L ≡ (Xk =
D = (W, P) ist eine probabilistische Datenbank. Die Ablei-          tid ). Eine Konjunktion von Literalen wird als Klausel C be-
tungsformel φt ist dann wie folgt rekursiv definiert:               zeichnet, d.h. C = L1 ∧ . . . ∧ Lm . Eine Formel φdnf
                                                                                                                      t   in DNF
            Q ≡ R : φt := (Xk = tid ), wenn t ∈ TupBl(k)            ist eine Disjunktion von Klauseln, d.h. φdnf
                                                                                                               t  = C1 ∨ . . . ∨ Cr ,
                                                                    sodass φt ≡ φdnf
                                                                                   t .
       Q ≡ σc (Q1 ) : φt := φt1
                                _                                     Da relationale Standardoperatoren zur Manipulation von
       Q ≡ πA (Q1 ) : φt :=          φt̂                            DNF-Formeln verwendet werden sollen (siehe Def. (6) un-
                              t̂∈Q1 ,t̂[A]=t                        ten), empfiehlt es sich DNF-Formeln in Form von Tupeln
     Q ≡ Q1 ./ Q2    : φt := φt1 ∧ φt2                              und Mengen zu kodieren.
      Q ≡ Q1 ∪ Q2    : φt := φt1 ∨ φt2                                Definition 5. Um eine Formel φdnf   t    in DNF zu kodieren,
      Q ≡ Q1 \ Q2    : φt := φt1 ∧ ¬(φt2 )                          wird eine Menge von Klauseltupeln (bezeichnet als Φt ) be-
                                                                    nutzt, d.h. Φt := {C1 , . . . , Cr }, wobei Ci ein Klauseltu-
wobei Xk eine Blockvariable ist und TupBl(k) alle Tupel             pel ist. Ein Klauseltupel Ci = (L1 , . . . , Lmi ) korrespondiert
eines Blockes k zurück gibt (siehe Kap. (2)). Falls ti nicht       dann mit einer Klausel L1 ∧ . . . ∧ Lmi von φdnf  t .
in einer Eingabeanfrage existiert (d.h. ti ∈
                                           / Qi ), wird φti :=
false gesetzt (siehe Vereinigung- und Differenzoperator).              Die grundlegende Idee des hier vorgestellten Ansatzes lässt
                                                                    sich dann in folgenden vier Schritten beschreiben:
   Abb. (3) zeigt die Ableitungsformeln für die Ergebnistu-
pel der Beispielanfrage Qe . Die Wahrscheinlichkeit P(φt )             (i) das Bilden einer Menge von Klauselmustern (gekenn-
kann mit Standardalgorithmen berechnet werden (z.B. [12,                   zeichnet als Φpa ), welche direkt von der Algebraanfrage
6]). Wie man dort sieht, besitzen Ereignistupel im Allgemei-               Q abgeleitet wird (d.h. unabhängig von den aktuellen
nen unterschiedliche Ableitungsformeln. Mehrere Verfahren                  Daten in der Datenbank),
(z.B. [4, 3, 13]) müssen eine komplexe Ableitungsformel für         (ii) das Generieren einer Menge relevanter Basisereignissen
jedes einzelne Tupel, welches innerhalb der Anfrageverarbei-               für jedes Ergebnistupel während der relationalen An-
tung entsteht, verwalten. Praktische Anwendungsszenarien                   frageverarbeitung (verwaltet in einer erweiterten Er-
haben jedoch bereits gezeigt, dass Ableitungsformel mit ei-                gebnisdatenrelation Rev ),
ner Größe von 10 MB für ein Ergebnistupel auftreten können        (iii) die Konstruktion einer DNF-Formel kodiert als Φt
[14]. Dementsprechend folgt der hier entwickelte Ansatz der                für jedes Ergebnistupel mittels des Generierungsalgo-
Argumentation von Antova et al. [1] und Das Sarma et al.                   rithmus gen(Φpa , t), t ∈ Rev und
[16], dass die Verwaltung und die Verarbeitung von komple-           (iv) die Berechnung von P(φdnf   t ) mit Hilfe eines Standar-
xen Ableitungsformeln durch relationale Datenbanksysteme                   dalgorithmus (z.B. [12, 6]).
nicht zielführend sind, da solche Systeme nicht für die Ver-        Bevor der Generierungsalgorithmus gen(Φpa , t) diskutiert
arbeitung von komplexen logischen Formeln ausgelegt sind.           wird, werden zunächst die Bedeutung von Φpa und Rev nä-
6
    Ein solches Ereignis wird auch als Basisereignis bezeichnet.    her beleuchtet.



                                                                                                                                  67
Ereignismuster für die Verwaltung von komplexen Tupelereignissen in Probabilistischen Datenbanken

                          tid                  aid        type        culture                     φt                    P(φt )
                   r1   (t4 , t6 , t8 , t1 )   art1   vase fragment    roman        ([(X4 = t4 ) ∨ (X5 = t6 )]∨         0.706
                                                                                       (X7 = t8 )) ∧ (X1 = t1 )
                   r2     (t5 , t9 , t1 )      art1   vase fragment    greek         [(X4 = t5 ) ∨ (X7 = t9 )]∧         0.58
                                                                                            (X1 = t1 )
                   r3    (t7 , t11 , t2 )      art2    spear head     egyptian      [(X6 = t7 ) ∨ (X9 = t11 )]∧          0.8
                                                                                            (X2 = t2 )
                   r4      (t10 , t2 )         art2    spear head      punic          [(X8 = t10 ) ∨ (F alse)]∧          0.8
                                                                                            (X2 = t2 )

Figure 3: Die Ergebnistupel von Qe mit ihren Ableitungsformeln (φt ) und ihren Ergebniswahrscheinlichkeiten
(P(φt ))



   Mustermenge Φpa : Die Mustermenge Φpa besteht aus                     (W, P) eine probabilistischen Datenbank. Die Klauselmus-
einer Menge von Klauselmustern {CP1 , . . . , CPl }. Ein Klau-           termenge Φpa und die Ereignisdatenrelation Rev werden dann
selmuster CP = (ETRi1 , . . . , ETRim ) ist wiederum gegeben             rekursiv mittels der folgenden Regel gebildet8 :
durch ein Tupel von Basisereignismustern. Dabei symboli-
siert ein Muster ETRi genau ein Basisereignis (Xk = tid )                            Q ≡ Ri : Φpa := {(ETRi )},
der Basisrelation Ri . Falls z.B. das Klauselmuster CP =                                        Rev := {t • (Xk = tid ) | t ∈ Ri }
(ETArteExp , ETArteM at ) betrachtet wird, verkörpert CP al-                    Q ≡ σc (Q1 ) : Φpa := Φpa    ev
                                                                                                                 := σc (R1ev )
                                                                                                         1 ,R
le Klauseln in denen das erste Basisereignis aus der Relation
ArteExp stammt und das zweite Basisereignis aus ArteM at                       Q ≡ πA (Q1 ) : Φpa := Φpa
                                                                                                      1 ,

genommen wird.
                                                                                               ev
                                                                                              R := πA∪{all ETRi columns} (R1ev )
   Basisereignisse in Rev : Die Ereignisdatenrelation Rev                     Q ≡ Q1 ./ Q2    : Φpa := Φpa   pa    ev
                                                                                                                      := R1ev ./ R2ev
                                                                                                        1 × Φ2 , R
besteht aus allen Datentupeln, sowie aus jeweils einer Men-
ge von Basisereignissen für jedes Datentupel. Dabei werden                   Q ≡ Q1 ∪ Q2     : Φpa := Φpa   pa
                                                                                                        1 ∪ Φ2 ,
genau die Basisereignisse gespeichert, welche notwendig sind                                     Rev := R1ev ./full outer R2ev
um die Ableitungsformel für ein bestimmtes Datentupel zu
bilden. Zu diesem Zwecke werden die Datenrelationen durch                Um die endgültige Ableitungsformel φdnft  für ein Ergebni-
zusätzliche Spalten erweitert, welche Basisereignisse spei-             stupel t zu bilden, werden die generierten Φt -Formeln aller
chern. Alle Basisereignisse einer spezifischen Zeile gehören            Tupel in Rev mit den selben Datenwerten wie das Ergebni-
dabei zu dem jeweiligen Datentupel. Jede neue Spalte wird                stupel t disjunktiv verknüpft:
mit einer Basisrelation Ri assoziiert und entsprechend mit                                          _
einem Musternamen ETRi bezeichnet, siehe Abb. (1) und                                 φdnf
                                                                                       t   :=                gen(Φpa , t̂),
(4).                                                                                            t̂∈Rev ,t̂[datAttr]=t
   Algorithmus gen(Φpa , t): Nach der Konstruktion von
Φpa und Rev generiert der Algoritmus gen(Φpa , t) eine Ab-               wobei datAttr die Menge aller Datenattribute der Ergebnis-
leitungsformel (kodiert als Φpa ) für ein Tupel der Relation            datenrelation Rev repräsentiert, d.h. alle Attribut ohne die
Rev . Im Wesentlichen ersetzt der Algorithmus der Basiser-               jeweiligen ETRi Spalten9 .
eignismuster mit den jeweiligen zuordenbaren Basisereignis-
sen (siehe Zeilen 2 bis 11 in Algorithmus (1)). Die Vergleichs-             Satz 1. Sei Rev und φdnf
                                                                                                  t  konstruiert wie in Def. (6) an-
kriterien sind durch die Musternamen ETRi und die korre-                 gegeben, dann gilt (i) Qposs(W) = πdatAttr (Rev ) und (ii)
spondieren Bezeichnungen der Ereignisspalten von Rev ge-                 ∀t ∈ Qposs(W) : PrQ (t) = P(φdnf
                                                                                                      t ).
geben. Der Operator • konkateniert zwei Tupel. Bevor eine
erzeugte Klausel C zu der Ergebnisformel Φt hinzugenom-
men wird, werden alle Klauseln C logisch vereinfacht (siehe
Zeilen 12 und 13). Hierfür werden logische Gesetze wie Idem-            4.      VERWANDTE ARBEITEN
potenz und Kontradiktion eingesetzt.                                        Eine umfassende Monographie über probabilistische Da-
                                                                         tenbank wurde kürzlich von Suciu et al. [18] veröffentlicht.
   Die Klauselmustermenge Φpa und die Ereignisdatenrelati-               Daneben wurden in den letzten Jahren mehrere probabilis-
on Rev werden rekursiv über die Struktur der betrachteten               tische Datenbanksysteme erfolgreich umgesetzt (z.B. [15, 7,
Algebraanfrage Q definiert. Prinzipiell wird Φpa in einer Art            19]). In vorangegangenen Arbeiten [10, 11] des Autors wurde
und Weise konstruiert, dass die erzeugten Muster der grund-              ein probabilistisches Daten- und Anfargemodell entworfen,
legenden Semantik der Def. (3) genügt und alle möglichen               welches Konzepte aus dem Gebiet des Information Retrievals
Ereignisse erzeugt werden können, die nötig sind um φdnf
                                                       t   zu            mit Technologien der Datenbankwelt kombiniert. Die dabei
erzeugen. Exemplarisch wird die Ereignisdatenrelation der                8
Beispielanfrage Qe in Abb. (4) gezeigt.                                    Um die DNF-Repräsentation von Def. (5) zu bewah-
                                                                         ren werden Tupel verflacht. Wenn z.B. Φpa        1 = {(L1 , L2 )}
     Definition 6. Sei Q eine positive Algebraanfrage7 und D =           und Φpa 2     =   {(L  3 , L 4 )} gegeben sind, dann  ergibt sich
                                                                         Φpa       pa                                         pa
                                                                           1 × Φ2 = {(L1 , L2 , L3 , L4 )} anstelle von Φ1 × Φ2 =
                                                                                                                                     pa
7
 Genau wie die Systeme [15], [19] und [7] fokussiert sich                {((L1 , L2 ), (L3 , L4 ))}.
                                                                         9
der hier vorgestellte Ansatz momentan auf Anfragen ohne                    Diese Notation von datAttr wird in der restlichen Arbeit
Differenzoperationen.                                                    weiter verwendet.



68
                   Ereignismuster für die Verwaltung von komplexen Tupelereignissen in Probabilistischen Datenbanken

                                tid         aid      type       culture ETArteExp              ETArteM at           ETArte
                            (t4 , t8 , t1 ) art1 vase fragment   roman         X4 = t4          X7 = t8             X1 = t1
                            (t5 , t9 , t1 ) art1 vase fragment    greek        X4 = t5          X7 = t9             X1 = t1
                            (t6 , t8 , t1 ) art1 vase fragment   roman         X5 = t6          X7 = t8             X1 = t1
                           (t7 , t11 , t2 ) art2  spear head    egyptian       X6 = t7          X9 = t11            X2 = t2
                             (t10 , t2 )    art2  spear head      punic          null           X8 = t10            X2 = t2
                           Φpa
                             e = {(ETArteExp , ETArte ), (ETArteM at , ETArte )}


                                Figure 4: Die Ergebnisdatenrelation Reev für die Beispielanfrage Qe .



 entwickelten Techniken werden in dem erweiterten proba-              • Induktionsschritt: n → n + 1 mit der Induktionsannah-
 bilistischen Datenbanksystem ProQua 10 umgesetzt. Im Ge-               me (IA), dass für alle Anfragen mit bis zu n Operatoren gilt:
 gensatz zu anderen Systemen (z.B. [15, 7, 19]) unterstützt
 ProQua logik-basierte Ähnlichkeitsanfragen, sowie die Ge-             (i) t ∈ R1ev ⇔ t ∈ W
                                                                                           Q1 und
 wichtung von Teilanfragen innerhalb seiner Anfragesprache              (ii) ∀t ∈ Q1 :          gen(Φpa
                                                                                                     1 , t̂) ≡ φt1 .
                                                                                                 ev ,
 QSQL2 [8, 9].                                                                               t̂∈R1
                                                                                         t̂[datAttr]=t

                                                                      • Operator: Q ≡ σsc (Q1 ), d.h. zu zeigen
 5.     ZUSAMMENFASSUNG
                                                                                                                ?
    In dieser Arbeit wurde ein Konzept vorgestellt, welches             (i) t ∈ πdatAttr (σsc (R1ev )) ⇔ t ∈ σsc (Q1 ),
                                                                                                                         ?
 mit der Hilfe von Ereignismustern und Basisereignismen-                                                  gen(Φpa
                                                                                                   W
                                                                        (ii) ∀t ∈ σsc (Q1 ) :                    1 , t̂) ≡ φt1
 gen komplexe Tupelereignisse verwalten kann. Diese Tupe-                                         t̂∈σsc (R1ev ),

 lereignisse entstehen bei der Auswertung einer komplexen                                          t̂[datAttr]=t

 positiven Algebraanfrage auf einer probabilistischen BID-              Beweis:
 Datenbank. Der wesentliche Vorteil dieser Methode liegt in
 dem natürlichen Ablegen von Ableitungsformeln in einer                (i) t ∈ πdatAttr (σsc (R1ev )) ⇔ ∃t̂ ∈ R1ev ∧ t̂[datAttr] = t ∧
 strukturierten Form innerhalb einer erweiterten Datenrelati-                            IA
                                                                        sc(t) = true ⇔ t̂[datAttr] ∈ Q1 ∧ t̂[datAttr] = t ∧ sc(t) =
 on. Dadurch können die Tupelereignisse direkt mittels eines           true ⇔ t ∈ σsc (Q1 ) X
 RDBMS verarbeitet werden.
                                                                        (Bed. sc(t) ist nur über Attribute von datAttr definiert)
 Danksagung: Sebastian Lehrack wurde innerhalb der Pro-
 jekte SCHM 1208/11-1 und SCHM 1208/11-2 von der Deut-                  (ii) ∀t ∈ σsc (Q1 ) ⇒ sc(t) = true ∧(t̂[datAttr] = t ⇒ sc(t̂) =
 schen Forschungsgesellschaft unterstützt.                             true) ⇒
                                                                                                    gen(Φpa
                                                                                             W
                                                                        ∀t ∈ σsc (Q1 ) :                  1 , t̂) =
                                                                                             t̂∈σsc (R1ev ),
 APPENDIX                                                                                     t̂[datAttr]=t
                                                                                                                                IA
                                                                                                                    1 , t̂) ≡ φt1 X
                                                                                                               gen(Φpa
                                                                                                  W
 A.      BEWEIS FüR SATZ (1)                                                                         ev ,
                                                                                                 t̂∈R1
   Es wird angenommen, dass PrQ (t) = P(φt ), falls φt gebil-                                t̂[datAttr]=t

 det wurde wie in Def. (3) spezifiziert (siehe [4]). Somit muss         (Bed. t̂[datAttr] = t ist strenger als sc(t))
 gezeigt werden, dass (i) Qposs(W) = πdatAttr (Rev ) und (ii)
 ∀t ∈ Qposs(W) : φt ≡ φdnf
                       t .

                                                                      • Operator: Q ≡ πA (Q1 ), d.h. zu zeigen
  Induktion über die Anzahl der Operatoren n von Q
                                                                                                                            ?
                                                                        (i) t ∈ πdatAttr (πA∪{all ETs} (R1ev )) ⇔ t ∈ πA (Q1 ),
• Induktionsanfang: n = 1 : Q = Ri , d.h. zu zeigen                                                                     ?
                                                                                                         gen(Φpa
                                                                                                   W                      W
                                                 ?                      (ii) ∀t ∈ πA (Q1 ) :                    1 , t̂) ≡      φt̂ ,
  (i) t ∈ πdatAttr ({t • (Xk = tid ) | t ∈ Ri }) ⇔ t ∈ Ri ,                                                     ev ),
                                                                                              t̂∈πA∪{all ETs} (R1                    t̂∈Q1 ,
                       W                    ?                                                                                        t̂[A]=t
  (ii) ∀t ∈ Ri :            gen(ETRi , t̂) ≡ (Xk = tid ),                                           t̂[datAttr]=t

              t̂∈{t•(Xk =tid )|t∈Ri },
                                                                        Beweis:
                    t̂[datAttr]=t

  Beweis:                                                               (i) t ∈ πdatAttr (πA∪{all ETs} (R1ev )) ⇔ t ∈ πA (R1ev ) ⇔ ∃t̂ :
                                                                                                 IA
  (i) πdatAttr ({t • (Xk = tid ) | t ∈ Ri }) = Ri X                     t̂[A] = t∧ t̂ ∈ R1ev ⇔ ∃t̂ : t̂[A] = t ∧ t̂ ∈ Q1 ⇔ t ∈ πA (Q1 )X
  (ii) ∀t̂ ∈ {t • (Xk = tid ) | t ∈ Ri } : nach Konstruktion gibt
  es eineindeutiges t ∈ Ri , sodass t̂ = t • (Xk = tid )                (A besteht nur aus Datenattributen, d.h. A = datAttr)

                                                                                                                    gen(Φpa
                                                                                                          W
  ⇒ ∀t ∈ Ri :
                            W
                                  gen(ETRi , t̂) ≡                      (ii) ∀t ∈ πA (Q1 ) :                             1 , t̂) =
                                                                                                                ev ),
                                                                                              t̂∈πA∪{all ETs} (R1
                 t̂∈{t•(Xk =tid )|t∈Ri },
                                                                                                    t̂[datAttr]=t
                       t̂[datAttr]=t                                                                0                                 1
               gen(ETRi , t • (Xk = tid )) ≡ (Xk = tid ) X                                                                             C IA
                                                                                                                           gen(Φpa
                                                                                     W                          W
                                                                                                                                1 , ṫ)A =
                                                                                                    B
                                                                                                    @
                                                                                             ev ),
                                                                           t̂∈πA∪{all ETs} (R1                  ev ,
                                                                                                            ṫ∈R1
10
     http://dbis.informatik.tu-cottbus.de/ProQua/                                  t̂[A]=t              ṫ[datAttr1 ]=t̂




                                                                                                                                               69
 Ereignismuster für die Verwaltung von komplexen Tupelereignissen in Probabilistischen Datenbanken

                                                      φt̂ X              B.    REFERENCES
                  W                           W
                                   φt̂ =
                        ev ),
      t̂∈πA∪{all ETs} (R1                  t̂∈Q1 ,
               t̂[A]=t                     t̂[A]=t                        [1] L. Antova, T. Jansen, C. Koch, and D. Olteanu. Fast
                                                                              and simple relational processing of uncertain data. In
  (da A ⊆ datAttr1 und Idempotenz gilt)                                       ICDE, pages 983–992, 2008.
                                                                          [2] D. Barbará, H. Garcia-Molina, and D. Porter. The
                                                                              management of probabilistic data. IEEE Trans. on
• Operator: Q ≡ Q1 ./ Q2 , d.h. zu zeigen
                                                                              Knowl. and Data Eng., 4:487–502, October 1992.
                                              ?                           [3] R. Fink, D. Olteanu, and S. Rath. Providing support
  (i) t ∈ πdatAttr (R1ev ./ R2ev ) ⇔ t ∈ Q1 ./ Q2 ,
                                                   ?                          for full relational algebra in probabilistic databases. In
                               gen(Φpa      pa
                           W
  (ii) ∀t ∈ Q1 ./ Q2 :               1 × Φ2 , t̂) ≡ φt1 ∧ φt2                 ICDE, pages 315–326, 2011.
                          t̂∈R1 ev ./Rev ,
                                      2
                           t̂[datAttr]=t
                                                                          [4] N. Fuhr and T. Roelleke. A probabilistic relational
                                                                              algebra for the integration of information retrieval and
  Beweis:
                                                                              database systems. ACM Trans. IS, 15(1):32–66, 1997.
                                                                          [5] F. Henze, H. Lehmann, and W. Langer. CISAR - A
  (i) t ∈ πdatAttr (R1ev ./jc R2ev ) ⇔ ∃t1 , t2 : t = t1 [datAttr1 ] •
                                                                              Modular Database System as a Basis for Analysis and
  t2 [datAttr2 ] ∧ jc(t1 , t2 ) = true ⇔ t1 ∈ πdatAttr1 (R1ev ) ∧ t2 ∈
                         IA                                                   Documentation of Spatial Information. In CAA, pages
  πdatAttr2 (R2ev ) ⇔ t1 ∈ Q1 ∧ t2 ∈ Q2 ∧ jc(t1 , t2 ) = true ⇔               228–233, 2007.
  t1 • t2 ∈ Q1 ./jc Q2 ⇔ t ∈ Q1 ./ Q2 X                                   [6] R. M. Karp, M. Luby, and N. Madras. Monte-carlo
                                                                              approximation algorithms for enumeration problems.
  (Verbundbed. jc(t1 , t2 ) (nat. Verbund) bezieht sich nur auf               Journal of Algorithms, 10(3):429–448, 1989.
  Datenattributen, da durch Konstruktion stets gilt
                                                                          [7] C. Koch. MayBMS: A System for Managing Large
  evAttr1 ∩ evAttr2 = ∅)
                                                                              Uncertain and Probabilistic Databases. In Managing
                                                                              and Mining Uncertain Data, ch. 6. Springer-Verlag,
                                        gen(Φpa   pa
                                   W
  (ii) ∀t ∈ Q1 ./ Q2 :                       1 × Φ2 , t̂) =
                          t̂∈R1 ev ./Rev ,                                    2008.
                                      2
                           t̂[datAttr]=t                                  [8] S. Lehrack, S. Saretz, and I. Schmitt. QSQL2: Query
                     gen(Φpa   pa
           W
                          1 × Φ2 , t 1 • t 2 ) =                              Language Support for Logic-Based Similarity
   t1 ∈R1ev ,t ∈Rev ,
              2   2
  (t1 •t2 )[datAttr]=t
                                                                              Conditions on Probabilistic Databases. In RCIS, 2012
           W
                     gen(Φpa              pa                                  (to appear).
                          1 , t1 ) ∧ gen(Φ2 , t2 ) =
   t1 ∈R1ev ,t ∈Rev ,
              2   2                                                       [9] S. Lehrack and I. Schmitt. QSQL: Incorporating
  (t1 •t2 )[datAttr]=t
                                                                              Logic-Based Retrieval Conditions into SQL. In
                                                              IA
               gen(Φpa                          2 , t2 ) = φt1 ∧ φt2 X
                                           gen(Φpa
         W                   W
                    1 , t1 )∧                                                 DASFAA, pages 429–443, 2010.
           ev ,
      t1 ∈R1                           ev ,
                                  t2 ∈R2
  t1 [datAttr1 ]=t            t2 [datAttr2 ]=t
                                                                         [10] S. Lehrack and I. Schmitt. A Probabilistic
                                                                              Interpretation for a Geometric Similarity Measure. In
  (da (t1 • t2 )[datAttr] = t ⇒ jc(t1 • t2 ) = true; konkate-                 ECSQARU, pages 749–760, 2011.
  nierte Muster (erzeugt durch ×) drücken Konjunktion aus
                                                                         [11] S. Lehrack and I. Schmitt. A Unifying Probability
  und Φpai enthält nur Basisereignismuster von ti )
                                                                              Measure for Logic-Based Similarity Conditions on
                                                                              Uncertain Relational Data. In NTSS, pages 14–19,
• Operator: Q ≡ Q1 ∪ Q2 , d.h. zu zeigen
                                                                              2011.
                                                  ?
  (i) t ∈ πdatAttr (R1ev ./f o R2ev ) ⇔ t ∈ Q1 ∪ Q2 ,                    [12] D. Olteanu, J. Huang, and C. Koch. Approximate
                                                    ?                         confidence computation in probabilistic databases. In
                                gen(Φpa      pa
                           W
  (ii) ∀t ∈ Q1 ∪ Q2 :                  1 ∪ Φ2 , t̂) ≡ φt1 ∨ φt2               ICDE, pages 145–156, 2010.
                             ev ./f o Rev ,
                         t̂∈R1         2
                              t̂[datAttr]=t
                                                                         [13] D. Olteanu and H. Wen. Ranking Query Answers in
                                                                              Probabilistic Databases: Complexity and Efficient
  Beweis:
                                                                              Algorithms. In ICDE, 2012 (to appear).
                                                                         [14] C. Ré and D. Suciu. Approximate lineage for
  (i) t ∈ πdatAttr (R1ev ./f o R2ev ) ⇒ t ∈ πdatAttr1 (R1ev ) ∨ t ∈
                         IA                                                   probabilistic databases. PVLDB, 1(1):797–808, 2008.
  πdatAttr2 (R2ev ) ⇔ t ∈ Q1 ∨ t2 ∈ Q2 ⇔ t ∈ Q1 ∪ Q2                     [15] C. Ré and D. Suciu. Managing Probabilistic Data with
                                                                              MystiQ: The Can-Do, the Could-Do, and the
  (wegen der Def. eines vollen äußeren Verbundes und datAttr =               Can’t-Do. In SUM, pages 5–18, 2008.
  datAttr1 = datAttr2 )
                                                                         [16] A. D. Sarma, O. Benjelloun, A. Y. Halevy, and
                                                                              J. Widom. Working models for uncertain data. In
                                         gen(Φpa   pa
                                   W
  (ii) ∀t ∈ Q1 ∪ Q2 :                         1 ∪ Φ2 , t̂) =
                             ev ./f o Rev ,
                         t̂∈R1
                                                                              ICDE, page 7, 2006.
                                       2
                  t̂[datAttr]=t                                          [17] F. Schaefer and A. Schulze. OpenInfRA – Storing and
            gen(Φpa             pa
                                                                              retrieving information in a heterogenous
         W `                           ´
                 1 , t̂) ∨ gen(Φ2 , t̂) =
      ev ∨t̂∈Rev ,
  t̂∈R1       2                                                               documentation system. In CAA, 2012 (to appear).
   t̂[datAttr]=t
                                                         IA
                                                                         [18] D. Suciu, D. Olteanu, C. Ré, and C. Koch.
           gen(Φpa                          2 , t̂) = φt1 ∨ φt2 X
                                       gen(Φpa
       W                           W
                1 , t̂) ∨                                                     Probabilistic Databases. Synthesis Lectures on Data
          ev ,
      t̂∈R1                           ev ,
                                  t̂∈R2
  t̂[datAttr]=t               t̂[datAttr]=t
                                                                              Management. Morgan & Claypool Publishers, 2011.
                                                                         [19] J. Widom. Trio: A system for data, uncertainty, and
  (wegen der Def. eines vollen äußeren Verbundes und da Φpa
                                                                              lineage. In Managing and Mining Uncertain Data,
  eine disjunktiv verknüpfte Klauselkombination beschreibt)
                                                                              pages 113–148. Springer, 2008.




 70
                Flexible Indexierung für Ähnlichkeitssuche mit
                    logikbasierten Multi-Feature-Anfragen

                                                        Marcel Zierenberg
                                      Brandenburgische Technische Universität Cottbus
                                    Institut für Informatik, Informations- und Medientechnik
                                        Lehrstuhl Datenbank- und Informationssysteme
                                        Postfach 10 13 44, 03013 Cottbus, Deutschland
                                                    zieremar@tu-cottbus.de

KURZFASSUNG                                                           sich dabei um eine Menge von Werten, die bestimmte Eigenschaf-
Ähnlichkeitssuche beschäftigt sich mit dem Auffinden ähnlicher        ten eines Objekts charakterisieren. Die Nutzung von Features, wel-
Objekte zu einem vorgegebenen Anfrageobjekt. Die logische Kom-        che die gewünschte Semantik geeignet beschreiben, ist dabei ent-
bination verschiedener Features des Anfrageobjekts erhöht dabei       scheidend für eine effektive Ähnlichkeitssuche.
die Ausdruckskraft von Anfragen und führt zu besseren Anfra-             Die Verwendung mehrerer Features und einer geeigneten Kom-
geergebnissen. Um eine effiziente Suche zu ermöglichen ist eine       bination dieser, erhöht die Ausdruckskraft von Anfragen und führt
Indexierung der Datenbankobjekte nötig. Neben einer möglichst         somit zu besseren Anfrageergebnissen [20]. Multi-Feature-Anfra-
hohen Sucheffizienz spielt die Flexibilität des Indexierungsverfah-   gen nutzen daher eine Vielzahl von Features für die Anfrageformu-
rens eine entscheidende Rolle. Das in dieser Arbeit vorgestell-       lierung.
te Indexierungsverfahren ermöglicht eine effiziente Verarbeitung         Logikbasierte Anfragemodelle, wie die Commuting Quantum
von Multi-Feature-Anfragen mit beliebigen logischen Kombinatio-       Query Language (CQQL [14]) oder die Fuzzy-Logik [18], erlau-
nen und Gewichtungen anhand eines einzigen Index. Die Verwen-         ben die Kombination mehrerer Features mithilfe boolescher Junk-
dung metrischer Indexierungsmethoden garantiert die Anwendbar-        toren. Neben der verbesserten Ausdruckskraft von Anfragen wird
keit des Konzepts für ein großes Spektrum von Features und Di-        hierdurch eine Verbindung von (unscharfen) Ähnlichkeitsbedin-
stanzfunktionen.                                                      gungen und (scharfen) relationalen Datenbankbedingungen ermög-
                                                                      licht [13]. Eine Gewichtung der einzelnen Anfrageatome erlaubt
                                                                      weiterhin eine dynamische Anpassung der Anfragen. Das Lernen
Kategorien und Themenbeschreibung                                     dieser Gewichte anhand von Nutzerpräferenzen [19] ermöglicht ei-
H.3.1 [Information Storage and Retrieval]: Content Analysis and       ne schrittweise Verfeinerung von Anfragen in Form von Relevance
Indexing — Indexing methods                                           Feedback.
                                                                         Der naive Ansatz zur Umsetzung einer Ähnlichkeitssuche ist der
                                                                      lineare Scan der Datenbank, bei dem alle Distanzen zwischen An-
Allgemeine Begriffe                                                   frageobjekt und Datenbankobjekten ermittelt werden. Für Multi-
Algorithms, Performance                                               Feature-Anfragen bedeutet dies, dass für jedes einzelne Feature die
                                                                      Distanz zwischen Anfrage- und jedem Datenbankobjekt ermittelt
                                                                      wird. Anschließend werden diese Teildistanzen für jedes Objekt
Schlüsselwörter                                                       zu einer Gesamtdistanz aggregiert. Da die Evaluierung von Di-
similarity search, retrieval, nearest neighbor search, metric inde-   stanzfunktionen mitunter hohe CPU- und das Lesen der zugehö-
xing, complex query                                                   rigen Features hohe I/O-Kosten verursachen, ist der lineare Scan
                                                                      für große Datenbanken mit einer Vielzahl von Objekten und Fea-
                                                                      tures nicht praktikabel. Stattdessen sollten Indexierungsverfahren
1.      EINLEITUNG                                                    genutzt werden, um eine effizientere Suche zu realisieren. Sie er-
Ähnlichkeitssuche [13] verfolgt das Ziel, in einer Menge von Ob-      möglichen einen frühzeitigen Ausschluss von Objekten, die nicht
jekten genau die Objekte zu finden, die einem Anfrageobjekt am        zur Ergebnismenge gehören können, und verringern somit die An-
ähnlichsten sind. Die (Un-)Ähnlichkeit der Objekte wird mithilfe      zahl der nötigen Distanzberechnungen und I/O-Operationen.
von Distanz- oder Ähnlichkeitsmaßen1 anhand der aus den Objek-           Eine besondere Anforderung an die logikbasierte Indexierung
ten extrahierten Features bestimmt. Bei einem Feature handelt es      stellt die Flexibilität dar. Die logische Kombination der Anfrage
1
                                                                      und auch die Anfragegewichte können sich im Rahmen von Re-
    Im Folgenden gehen wir von Distanzmaßen aus.                      levance Feedback dynamisch verändern, dennoch sollte nur ein
                                                                      einziger Index zur Verarbeitung beliebiger Anfragen benötigt wer-
                                                                      den. Weiterhin sollte das Indexierungsverfahren unabhängig von
                                                                      Art und Struktur der verwendeten Features und Distanzfunktionen
                                                                      sein.
                                                                         Hauptbeitrag dieser Arbeit ist die Entwicklung eines effizien-
                                                                      ten Indexierungsverfahrens zur Verarbeitung logikbasierter Multi-
                                                                      Feature-Anfragen am Beispiel von CQQL. Dazu werden spezifi-
24th GI-Workshop on Foundations of Databases (Grundlagen von Daten-   sche Anforderungen an die logikbasierte Indexierung definiert und
banken), 29.05.2012 - 01.06.2012, Lübbenau, Germany.                  anhand dieser ein Indexierungsverfahren entworfen, das eine effizi-
Copyright is held by the author/owner(s).




                                                                                                                                     71
Flexible Indexierung für Ähnlichkeitssuche mit logikbasierten Multi-Feature-Anfragen


Tabelle 1: Umwandlung boolescher Ausdrücke in arithmetische                           Tabelle 2: Einbettung von Gewichten in die Logik
Formeln in CQQL                                                                              Ausdruck          Einbettung
               Ausdruck       arithmetische Formel                                           a ∧θ1 ,θ2 b (a ∨ ¬θ1 ) ∧ (b ∨ ¬θ2 )
                   ¬a                1−a                                                     a ∨θ1 ,θ2 b   (a ∧ θ1 ) ∨ (b ∧ θ2 )
                 a∧b                  a∗b
                 a∨b               a+b−a∗b
                                                                                      aggregierter
           (c ∧ a) ∨ (¬c ∧ b)        a+b                                            Ähnlichkeitswert                            sagg
                                                                                                                                 i

                                                                                agg(s1i , s2i , . . . , sm
                                                                                                         i )
ente und gleichzeitig flexible Verarbeitung beliebiger logikbasierter
Multi-Feature-Anfragen und eine dynamische Gewichtung dieser                                                                                 ...
                                                                                 Ähnlichkeitswerte                   s1i         s2i                     sm
ermöglicht.                                                                                                                                               i

  Die Arbeit ist wie folgt aufgebaut. Abschnitt 2 definiert die
                                                                                          t(dji )
grundlegenden Begriffe und die Notationen dieser Arbeit. In Ab-
schnitt 3 wird ein theoretisches Anwendungsbeispiel aus dem                                                                                  ...         dm
                                                                                       Distanzen                     d1i        d2i                       i
Bereich der Bildähnlichkeitssuche mithilfe logikbasierter Multi-
Feature-Anfragen präsentiert. Auf die speziellen Anforderungen an
                                                                                       δ j (q j , oji )
Indexierungsverfahren für derartige Anfragen wird in Abschnitt 4
detailliert eingegangen. Abschnitt 5 beschäftigt sich mit dem Stand                                                                                ...           qm         om
                                                                                        Features          q1   o1i         q2          o2i                                   i
der Technik zur Indexierung. Abschnitt 6 zeigt das Konzept eines
Indexierungsverfahrens und Kriterien zur Indexauswahl. Abschlie-
ßend wird in Abschnitt 7 eine Zusammenfassung der Arbeit gege-                       Featureextraktion
                                                                                                                                                 dynamisch
ben.
                                                                                                                                                                 statisch
                                                                                        Objekte                            q           oi
2.    GRUNDLAGEN
Der folgende Abschnitt definiert die grundlegenden Begriffe und
                                                                              Abbildung 1: Ablauf einer logikbasierten Multi-Feature-
die Notationen, die in dieser Arbeit verwendet werden.                        Anfrage
2.1     Nächste-Nachbarn-Suche
Ähnlichkeitsanfragen anhand von Distanzmaßen werden auch als                  [0,1] beschränkt ist: agg : [0, 1]m 7→ [0, 1]. Hierbei steht ein Ähn-
k-Nächste-Nachbarn-Suche (kNN) bezeichnet und geben die k Ob-                 lichkeitswert von 1 für die maximale Ähnlichkeit (Identität), wäh-
jekte aus einer Datenbank zurück, deren Distanz zum Anfrageob-                rend ein Wert von 0 die größtmögliche Unähnlichkeit darstellt.
jekt am geringsten ist.                                                          Um eine Nächste-Nachbarn-Suche anhand logikbasierter Anfra-
    Eine Ähnlichkeitsanfrage kNN(q) besteht aus einem Anfrage-                gen zu realisieren, müssen alle Teildistanzen dji vor ihrer Aggre-
objekt q aus dem Universum U und bezieht sich auf eine Daten-                 gation in Ähnlichkeitswerte sji umgewandelt werden. Die nächs-
bank D = {o1 , o2 , . . . , on } ⊆ U von Objekten oi . Die Distanz            ten Nachbarn sind nach der Aggregation dieser Ähnlichkeitswerte
(Unähnlichkeit) von Objekten wird mithilfe einer Distanzfunktion              dann genau die Objekte, deren aggregierte Ähnlichkeitswerte sagg  i
δ : U × U 7→ R≥0 anhand der aus den Objekten extrahierten Featu-              bezüglich dem Anfrageobjekt am größten sind. Abbildung 1 ver-
res q 0 und o0i bestimmt. Das Ergebnis der Anfrage kNN(q) ist dann            deutlicht den Suchablauf.
eine (nichtdeterministische) Menge K ⊆ D, für die gilt: |K| = k                  Beispiele für geeignete Funktionen zur Umwandlung von Di-
und ∀oi ∈ K, oj ∈ D \ K : δ(q, oi ) ≤ δ(q, oj ).                              stanzen in Ähnlichkeitswerte sind t(x) = e−x oder t(x) = 1 −
    Bei einer kNN-Anfrage bestehend aus m Features werden die
                                                                                x
                                                                              δmax
                                                                                   , wobei δmax der maximale Distanzwert der genutzen Distanz-
Features eines Objekts mit q 0 = (q 1 , q 2 , . . . , q m ) beziehungsweise   funktion darstellt [13].
o0i = (o1i , o2i , . . . , om
                            i ) bezeichnet. Jedem Feature wird eine eigene
Distanzfunktion δ j zugeordnet. Die Teildistanzen dji aller Features          2.4      Monotonie
werden durch eine Aggregationsfunktion agg : Rm            ≥0 7→ R≥0 zu ei-   Eine Aggregationsfunktion ist monoton steigend im i-ten Argu-
ner Gesamtdistanz dagg       i   vereinigt. Die k nächsten Nachbarn werden    ment2 , wenn gilt:
dann anhand dieser Gesamtdistanz bestimmt.
                                                                                    xi ≤ y i =⇒                                                                                  (1)
2.2     CQQL                                                                                     1         i         m                       1
                                                                                       agg(x , . . . , x , . . . , x ) ≤ agg(x , . . . , y , . . . , x )     i              m

Für die Evaluation einer auf CQQL basierenden Anfrage werden
boolesche Ausdrücke nach ihrer DNF-Normalisierung anhand von                     Das bedeutet, dass wenn alle Parameter außer xi festgelegt sind
festgelegten Transformationsregeln in arithmetische Formeln um-               und xi vergrößert wird, kann das Ergebnis der Aggregationfunktion
gewandelt [14]. Tabelle 1 zeigt die in CQQL verwendeten Trans-                nicht kleiner werden. Eine Aggregationsfunktion ist global mono-
formationsregeln. Ebenso ist eine Umsetzung der Gewichtung in                 ton steigend, wenn sie in allen m Argumenten monoton steigend
CQQL direkt innerhalb der booleschen Logik möglich. Dazu wer-                 ist. Ein Beispiel ist agg(x1 , x2 ) = x1 + x2 .
den Gewichte anhand der in Tabelle 2 gezeigten Transformations-                  Eine Aggregationsfunktion ist lokal monoton, wenn sie in einem
regeln in die Logik eingebettet.                                              Teil ihrer m Argumente monoton steigend und in allen anderen
                                                                              Argumenten monoton fallend ist. Ein Beispiel ist agg(x1 , x2 ) =
2.3     Logikbasierte kNN                                                     x1 − x2 .
Im Folgenden werden die in Abschnitt 2.2 beschriebenen arith-
metischen Formeln als Aggregationsfunktionen betrachtet, deren                2
                                                                                Monoton fallend im i-ten Argument ist analog anhand des ≥-
Definitions- und Wertebereich auf Ähnlichkeitswerte im Intervall              Operators definiert.



72
                                   Flexible Indexierung für Ähnlichkeitssuche mit logikbasierten Multi-Feature-Anfragen

3.   ANWENDUNGSBEISPIEL                                               für die Bewertung der Sucheffizienz bildet der Vergleich mit dem
Das folgende Anwendungsbeispiel illustriert eine logikbasierte        Suchaufwand des linearen Scans der Datenbank. Ein effizientes In-
Ähnlichkeitsanfrage anhand mehrerer Features.                         dexierungsverfahren sollte diesen linearen Aufwand stets unterbie-
   Gegeben sei eine Datenbank mit Bildern verschiedener Pilze und     ten. Es existieren zwar Verfahren, welche eine sehr hohe Suchef-
Informationen über deren Art und Giftigkeit. Ziel sei es nun anhand   fizienz bieten, dabei aber einen nicht realisierbar hohen Speicher-
eines Anfragebildes eines gesammelten Pilzes, die Art des Pilzes      verbrauch verursachen (vgl. [16]). Ein geeignetes Indexierungsver-
zu ermitteln und so zu bestimmen, ob der Pilz essbar ist. Die aus     fahren sollte daher einen möglichst geringen Speicherverbrauch bei
den Bildern extrahierten Features umfassen dabei aus den Pixelda-     gleichzeitig möglichst hoher Sucheffizienz aufweisen.
ten erzeugte Farb- (color ) und Formfeatures (shape) sowie aus den       Skalierbarkeit: Ein inhärentes Problem der Ähnlichkeitssuche
Metadaten stammende Informationen, wie das Datum der Bildauf-         ist der Fluch der hohen Dimensionen (FdhD [13, 5]). Dieser be-
nahme (date) oder die GPS-Koordinaten des Aufnahmeortes (gps).        wirkt, dass die Performanz von Indexierungsverfahren mit steigen-
Zur Ermittlung der (Un-)Ähnlichkeit von Objekten werden jeweils       der (intrinsischer) Dimensionalität3 eines Features abnimmt. In-
für das Feature geeignete Distanzfunktionen genutzt, beispielswei-    dexierungsverfahren können den Suchaufwand des linearen Scans
se die Earth Mover’s Distanzfunktion [11] für Farbsignaturen oder     dann nicht mehr signifikant unterbieten oder übersteigen ihn so-
verschiedene Minkowski-Distanzfunktion (Lp -Distanzfunktion).         gar. Analog zur Erhöhung der Dimensionsanzahl bei einem Feature
   Eine Anfrage, bestehend aus nur einem Feature, genügt nicht,       lässt sich der FdhD auch bei Multi-Feature-Anfragen beobachten.
um eine korrekte Zuordnung der Pilzarten vorzunehmen. So kann         Die Kombination von Features bewirkt hier ebenfalls eine Erhö-
zum Beispiel allein anhand der Farbfeatures eines Pilzes nicht        hung der (intrinsischen) Dimensionalität. Ein geeignetes Indexie-
immer ein Rückschluss auf dessen Art gezogen werden, wenn             rungsverfahren für Multi-Feature-Anfragen muss daher Möglich-
sich etwa die Form stark von der des Anfragebildes unterschei-        keiten bieten, mit dem FdhD umzugehen und möglichst ohne Ef-
det. In diesem Fall ist eine UND-Verknüpfung der Features nötig:      fizienzeinbußen skalierbar bezüglich der (intrinsischen) Dimensio-
shape ≈ ∧ color ≈ . Für den Fall, dass der Pilz des Anfragebildes     nalität einzelner Features und der Kombination mehrerer Features
eine für seine Art sehr untypische Form aufweist (¬shape ≈ ) und      sein.
daher anhand dieser nicht zugeordnet werden kann, soll stattdessen
allein anhand der GPS-Koordinaten des Bildes (gps ≈ ) auf dessen      5.    STAND DER TECHNIK
Art geschlossen werden. Als zusätzliche relationale (scharfe) Be-     Der folgende Abschnitt geht auf den Stand der Technik auf dem
dingung sollen nur Pilze betrachtet werden, die im selben Monat       Gebiet der effizienten Verarbeitung von Multi-Feature-Anfragen
gesammelt wurden, wie der Pilz des Anfragebildes (date = ). Eine      ein. Die existierenden Verfahren werden kurz vorgestellt und aus-
logische Verknüpfung der Features eines Anfragebildes sieht dann      schnittsweise hinsichtlich der in Abschnitt 4 definierten Anforde-
wie folgt aus, wobei θ1 , θ2 für Parameter stehen, die eine unter-    rungen bewertet. Wir beschränken uns dabei auf Verfahren für die
schiedliche Gewichtung der Teilbedingungen ermöglichen.               exakte Suche der nächsten Nachbarn und gehen nicht auf Spezi-
  date = ∧ ((shape ≈ ∧ color ≈ ) ∨θ1 ,θ2 (¬shape ≈ ∧ gps ≈ )) (2)     alfälle wie die approximative Suche oder zusätzliche Anfragearten
                                                                      wie getNext (Ranking-Anfrage) ein.
   Nach einer DNF-Normalisierung und Transformation anhand
der in Abschnitt 2.2 beschriebenen Transformationsregeln, ergibt      5.1    Combiner-Algorithmen
sich aus dem booleschen Ausdruck (2) folgende arithmetische For-      Combiner-Algorithmen [8] kombinieren die Ergebnisse mehrerer
mel:                                                                  Ähnlichkeitsanfragen zu einem aggregierten Ergebnis. Für Multi-
                                                                      Feature-Anfragen existiert dazu je Feature eine nach Distanz4 zum
              (θ1 ∗ date = ∗ shape ≈ ∗ color ≈ ) +              (3)
                                                                      Anfrageobjekt sortierte Liste der Datenbankobjekte.
              (θ2 ∗ date = ∗ (1 − shape ≈ ) ∗ gps ≈ )                    Combiner-Algorithmen sind keine Indexierungsverfahren, son-
                                                                      dern arbeiten auf einer darüber liegenden Ebene. Sie legen nicht
4.   ANFORDERUNGEN                                                    fest, wie die sortierten Listen bereitgestellt werden. Um eine effi-
In [13] werden allgemeine Anforderungen an Indexierungsverfah-        ziente Suche zu ermöglichen, sollte der Zugriff über Indexierungs-
ren im Bereich des Multimedia Retrievals definiert. Auf Grundlage     verfahren mit Unterstützung von getNext-Anfragen umgesetzt wer-
dieser werden im Folgenden die spezifischen Anforderungen für In-     den.
dexierungsverfahren zur effizienten Verarbeitung von logikbasier-        Combiner-Algorithmen erlauben eine dynamische Auswahl der
ten Multi-Feature-Anfragen vorgestellt.                               verwendeten Features sowie unterschiedliche Aggregationsfunk-
   Flexibilität: Multi-Feature-Anfragen setzen sich aus unter-        tionen und Gewichtungen. Aufgrund der Forderung nach globaler
schiedlichen Features und Distanzfunktionen zusammen, das Inde-       Monotonie kommen sie jedoch nicht für alle logikbasierten Multi-
xierungsverfahren muss daher unabhängig von Art und Struktur der      Feature-Anfragen in Frage. Formel 3 ist beispielsweise nicht glo-
Features sein und ein breites Spektrum an Distanzfunktionen unter-    bal monoton steigend, da eine Erhöhung des Ähnlichkeitswerts
stützen. Die Anzahl der unterschiedlichen zur Verfügung stehenden     shape ≈ nicht in jedem Fall zu einer Erhöhung des aggregierten
Features ist potentiell hoch. Das Indexierungsverfahren muss da-      Ähnlichkeitswerts führt. Ein weiterer Nachteil ist die geforderte
her mit einer großen Menge von Features umgehen können, auch          Bereitstellung der sortierten Listen, da Indexstrukturen mit effizien-
wenn nur eine Teilmenge dieser für eine Anfrage genutzt wird. Je      ten getNext-Anfragen nicht immer zur Verfügung stehen und sich
nach Anfrage können sich die genutzten Features unterscheiden.        durch die getrennte Verwaltung jedes einzelnen Index ein Mehrauf-
Ebenso sind unterschiedliche logische Kombinationen und unter-        wand ergibt.
schiedliche Gewichtungen der selben Features möglich. Das Inde-       3
                                                                        Die Dimensionalität eines Features ergibt sich aus der Anzahl
xierungsverfahren darf daher nicht nur auf eine logische Kombina-     seiner Featurewerte. Die intrisische Dimensionalität lässt sich bei-
tion zugeschnitten werden, sondern muss mit beliebigen logischen      spielsweise anhand der paarweisen Distanzen zwischen den Fea-
Kombinationen und Gewichtungen umgehen können.                        turewerten der Datenbankobjekte abschätzen und ist dann definiert
   Sucheffizienz: Die Anzahl der nötigen Berechnungen der Di-         als ρ = µ2 /2 ∗ σ 2 [1].
                                                                      4
stanzfunktion und die Anzahl von I/O-Operationen (Seitenzugriffe)       Combiner-Algorithmen sind ohne größere Anpassungen auch für
dienen als Effizienzmaß für Indexierungsverfahren. Die Grundlage      Ähnlichkeitswerte nutzbar.



                                                                                                                                        73
Flexible Indexierung für Ähnlichkeitssuche mit logikbasierten Multi-Feature-Anfragen

5.2     Räumliche Indexierung                                           textuelle Daten) oder die nicht die euklidsche Distanzfunktion ver-
Räumliche Indexierungsverfahren gehen davon aus, dass die Fea-          wenden. Sie erfordern lediglich das Vorliegen einer Metrik.
tures in Form von Vektoren vorliegen und die euklidsche Distanz-           Eine Metrik δ ist eine Distanzfunktion, für die folgenden Eigen-
funktion (L2 -Distanzfunktion) zur Berechnung der Unähnlichkeit         schaften für alle oi , oj , ok ∈ U gelten: δ(oi , oj ) > 0 für oi 6= oj
zwischen den Featurevektoren verwendet wird. Da diese Beschrän-         (Positivität), δ(oi , oi ) = 0 (Selbstidentität), δ(oi , oj ) = δ(oj , oi )
kung im Widerspruch zur Flexibilität steht, scheidet die Verwen-        (Symmetrie) und δ(oi , ok ) ≤ δ(oi , oj ) + δ(oj , ok ) (Dreiecksun-
dung räumlicher Indexierungsverfahren aus. Dennoch soll im Fol-         gleichung).
genden auf sie eingegangen werden, da ihre Konzepte teilweise              Der Ausschluss von Objekten wird mithilfe der Dreiecksunglei-
übertragbar sind.                                                       chung erreicht, die es ermöglicht, untere und obere Grenzen be-
   Hierarchische Verfahren, wie zum Beispiel der R-Baum [9], be-        züglich der Distanz von Anfrageobjekt und Datenbankobjekten zu
schreiben Mengen von Objekten durch geometrische Regionen               bestimmen. Die Grenzen können effizient anhand von vorberechne-
(Cluster). Aufgrund des Fluchs der hohen Dimensionen sinkt die          ten Distanzen zu einem oder mehreren Referenzobjekten5 ermittelt
Sucheffizienz dieser Verfahren jedoch bereits ab einer Dimensi-         werden. Die untere und die obere Grenze für die Distanz δ(q, oi )
onsanzahl der Featurevektoren von 10-20 unter die des linearen          und ein Referenzobjekt p sind wie folgt definiert:
Scans [13]. Im Folgenden stellen wir daher lediglich den nicht-                 |δ(q, p) − δ(p, oi )| ≤ δ(q, oi ) ≤ δ(q, p) + δ(p, oi )        (4)
hierarchischen Ansatz der VA-Datei vor.                                         |        {z         }               |       {z       }
                                                                                       δlb (q,oi )                          δub (q,oi )
5.2.1     VA-Datei                                                         Analog zu räumlichen Indexierungsverfahren lässt sich zwischen
Die Vektor-Approximations-Datei (VA-Datei) [17] ist ein nicht-          hierarchischen (M-Baum [7]) und nicht-hierarchischen (AESA [16])
hierarchisches Verfahren und akzeptiert den FdhD in dem Sinne,          metrischen Indexierungsverfahren unterscheiden. Eine umfassen-
dass sie statt Cluster zu bilden, direkt einen linearen Scan der Da-    de Übersicht metrischer Indexierungsverfahren bietet zum Beispiel
tenbank durchführt. Sie setzt dazu einen Filter-Refinement-Ansatz       das Lehrbuch von Samet [12].
auf Basis kompakter Bitsignaturen ein. Ziel dieses Ansatzes ist es         Der Großteil der existierenden metrischen Indexierungsverfah-
in der Filterphase, anhand der durch Bitsignaturen approximierten       ren ist auf die Indexierung anhand einer einzigen Distanzfunk-
Objekte, Distanzgrenzen zu ermitteln und mithilfe dieser möglichst      tion ausgelegt. Die Forderung nach der Unterstützung beliebiger
viele Objekte von der weiteren Suche auszuschließen. Die exakte         logischer Kombinationen kann daher nicht erfüllt werden. Multi-
Distanz muss in der Verfeinerungsphase dann lediglich für die Ob-       Metrische Indexierungsverfahren [4] ermöglichen die Indexierung
jekte berechnet werden, die in der Filterphase nicht ausgeschlossen     auf Grundlage einer dynamischen Kombination mehrerer Distanz-
werden konnten.                                                         funktionen zu einer Aggregationsfunktion. Sie unterstützen da-
   Die Sucheffizienz des Verfahrens ergibt sich daraus, dass die Bit-   durch mit einem einzigen Index unterschiedliche Gewichtungen
signaturen in der Filterphase sequentiell aus Signaturdateien ge-       der gleichen Aggregationsfunktion. Da es sich bei der Aggregati-
lesen werden und durch den Ausschluss von Objekten die An-              onsfunktion jedoch um eine Metrik handeln muss, ist diese auf die
zahl teurer, wahlfreier Zugriffe in der Verfeinerungsphase verrin-      gewichtete Summe metrischer Distanzfunktion beschränkt. Für lo-
gert wird. Für Multi-Feature-Anfragen ist eine Anpassung der VA-        gikbasierte Multi-Feature-Anfragen sind diese Verfahren daher nur
Datei nötig.                                                            eingeschränkt anwendbar.
5.2.2     GeVAS                                                         5.3.1      M2 -Baum
GeVAS [2] ist eine Erweiterung der VA-Datei für Multi-Feature-          Der M2 -Baum [6] ist eine Erweiterung des M-Baums für Multi-
Anfragen und erlaubt eine dynamische Auswahl der in der An-             Feature-Anfragen. Statt die Distanzen bezüglich aller Features be-
frage verwendeten Features aus einer großen Menge vorhandener           reits bei der Indexierung zu aggregierten Distanzen zusammen-
Features. Für jedes Feature wird dazu eine separate VA-Datei er-        zufassen, werden die Distanzgrenzen bei der Anfrage dynamisch
zeugt, wobei die Reihenfolge der Objekte in allen Signaturdateien       für jedes einzelne Feature abgeschätzt. Diese Grenzen werden an-
gleich ist. Bei einer Multi-Feature-Anfrage werden nun nur die Si-      schließend in Ähnlichkeitswerte umgewandelt und zu aggregierten
gnaturdateien der Features parallel abgearbeitet, die tatsächlich in    Ähnlichkeitsgrenzen kombiniert (vergleiche aggregierte Distanz-
der Anfrage eingesetzt werden. Für jedes einzelne Feature eines         grenzen bei GeVAS). Der Vorteil bei diesem Vorgehen ist, dass die
Objekts werden Distanzgrenzen ermittelt und dynamisch zu ag-            metrischen Eigenschaften in diesem Fall nicht für die Aggregati-
gregierten Distanzgrenzen zusammengefasst. Der Ausschluss von           onsfunktion gelten müssen, sondern nur für jede zugrundeliegende
Objekten geschieht in der Filterphase anhand dieser aggregierten        Distanzfunktionen.
Distanzgrenzen. Voraussetzung für die korrekte Aggregation von             Der M2 -Baum verlangt die lokale Monotonie der Aggregati-
Distanzgrenzen ist, dass die Aggregationsfunktion global mono-          onsfunktion. Die arithmetische Formel 3 erfüllt jedoch auch die-
ton steigend ist. Diese Forderung lässt sich jedoch so abschwä-         se Eigenschaft nicht. Analog zu GeVAS lässt sich die Monotonie-
chen, dass beliebige, logikbasierte Multi-Feature-Anfragen ermög-       Eigenschaft aber auch hier so abschwächen, dass beliebige, lo-
licht werden (siehe Abschnitt 6.1).                                     gikbasierte Multi-Feature-Anfragen möglich werden (siehe Ab-
   Liegen die einzelnen VA-Dateien auf der gleichen Festplatte          schnitt 6.1). Der M2 -Baum erlaubt somit beliebige, logische Kom-
(HDD) ergeben sich für GeVAS Effizienzprobleme beim Lesen der           binationen und eine dynamische Auswahl der tatsächlich genutzten
Daten vom Sekundärspeicher, da statt jede VA-Datei einzeln se-          Features. Da es sich beim M2 -Baum um ein hierarchisches Verfah-
quentiell zu lesen, der Lesekopf der Festplatte zwischen den ver-       ren handelt, nimmt die Sucheffizienz jedoch aufgrund des Fluchs
schiedenen VA-Dateien hin und her springen muss [13].                   der hohen Dimensionen mit steigender intrinsischer Dimensionali-
                                                                        tät der Features stärker ab, als bei nicht-hierarchischen Verfahren
5.3     Metrische Indexierung                                           [13].
Metrische Indexierungsverfahren stellen keine Anforderungen an
die Art der Featuredaten. Im Gegensatz zu räumlichen Indexie-           5
                                                                         Für Referenzobjekte existieren unterschiedliche Benennungen in
rungsverfahren erlauben sie daher auch die Indexierung von Fea-         der Literatur, wie zum Beispiel Routing-, Focus-, Vantage- oder
tures bei denen es sich nicht um Vektoren handelt (zum Beispiel         Pivot-Objekt, die das gleiche Konzept widerspiegeln.



74
                                   Flexible Indexierung für Ähnlichkeitssuche mit logikbasierten Multi-Feature-Anfragen

6.    KONZEPT                                                            Für die Auswahl geeigneter Referenzobjekte stehen verschiede-
Dieser Abschnitt beschreibt das Konzept eines Indexierungsver-        ne Verfahren zur Verfügung, darunter die zufällige Auswahl oder
fahrens zur effizienten Verarbeitung logikbasierter Multi-Feature-    die inkrementelle Auswahl entfernter Objekte [3]. Um möglichst
Anfragen. Dazu wird zuerst auf die Berechnung aggregierter Di-        enge Grenzen zu garantieren, nutzt jedes Datenbankobjekt eine dy-
stanzgrenzen eingegangen. Die Übertragung des GeVAS-Ansatzes          namisch ausgewählte Teilmenge seiner nächsten Referenzobjekte.
auf den metrischen Raum stellt den Kern des Konzepts dar. Wir            Bei der Indexerzeugung werden für einen repräsentativen Aus-
wählen GeVAS aufgrund seiner Flexibilität im Bezug auf Featu-         schnitt der Datenbank die paarweisen Distanzen je Feature be-
reanzahl und -auswahl sowie aufgrund seiner besseren Skalierbar-      stimmt. Ein Equi-Height-Histogramm [10] dieser Distanzen wird
keit im Bezug auf die Dimensionalität als hierarchische Verfahren.    genutzt um Distanzintervalle für jedes Feature zu berechnen. Die-
Zusätzliche Anpassungen, wie die direkte Berechnung exakter Di-       se Distanzintervalle dienen dann der Quantisierung der Distanzen
stanzen für eine Teilmenge der Features, dienen dazu, die Sucheffi-   zwischen Referenzobjekten und Datenbankobjekten. Statt also zur
zienz des entworfenen Verfahrens bei steigender Featureanzahl zu      Indexierung exakte Distanzen zu speichern, werden die exakten
verbessern.                                                           Distanzen durch nummerierte Distanzintervalle repräsentiert (vgl.
                                                                      [4]). Die kompakte Darstellung dieser Nummern durch Bitsigna-
6.1    Aggregierte Distanzgrenzen                                     turen verringert den Speicherverbrauch und erhöht gleichzeitig die
                                                                      Sucheffizienz in der Filterphase, da weniger Daten von der Fest-
Die korrekte Berechnung aggregierter Distanzgrenzen6 hängt von
                                                                      platte gelesen werden müssen. Der Approximationsfehler der Di-
der Monotonie der Aggregationsfunktion ab. Zur Berechnung der
                                                                      stanzgrenzen steigt jedoch durch die Verwendung von Distanzinter-
oberen Distanzgrenze einer global monoton steigenden Aggregati-
                                                                      vallen. Die Festlegung der Anzahl an Bits pro Signatur entspricht
onsfunktion müssen die oberen Grenzen aller Teildistanzen in die
                                                                      daher der Steuerung der Genauigkeit der Distanzintervalle.
Aggregationsfunktion eingesetzt werden [2].
   Für die obere Distanzgrenze lokal monotoner Aggregationsfunk-
tionen kommt es auf die Monotonie der einzelnen Argumente an.
                                                                      6.3    Lesefenster
Bei monoton steigenden Argumenten muss die obere Distanzgren-         Dem in Abschnitt 5.2.2 erläuterten GeVAS-Problem der sinkenden
ze und bei monoton fallenden Argumenten die untere Distanzgren-       Sucheffizienz bei der Ablage aller Signaturedateien auf einer Fest-
ze eingesetzt werden [6].                                             platte begegnen wir mit der Einführung eines Lesefensters. Statt für
   Die arithmetische Formel (3) ist nicht lokal monoton. Jedoch       jedes Objekt parallel auf alle genutzten Signaturdateien zuzugrei-
liegt eine Monotonie vor, für die wir den Begriff fixe Monotonie      fen, wird jede Signaturdatei einzeln in Größe des Lesefensters aus-
einführen. Hierbei hängt die Monotonie eines Arguments der Ag-        gelesen. Der Vorteil dabei ist, dass längere sequentielle Lesephasen
gregationsfunktion von den Wertebelegungen der anderen Argu-          entstehen und weniger Sprünge zwischen den Signaturdateien statt-
mente ab. Eine fix monotone Funktion kann also in einem Argu-         finden. Allerdings müssen die gelesenen Daten jeweils solange im
ment für bestimmte Wertebelegungen monoton fallend und für alle       Hauptspeicher gehalten werden, bis alle genutzten Signaturdateien
andere Wertebelegungen monoton steigend sein. In Formel (3) er-       in Größe des Lesefensters abgearbeitet wurden.
gibt sich die fixe Monotonie daraus, dass das Argument shape≈
in einem Teil der Formel negiert und in einem anderen Teil nicht-     6.4    Begrenzter Hauptspeicher
negiert auftritt.                                                     Ein Problem des Filter-Refinements ist, dass alle Objekte, die in der
   Die aggregierte obere Distanzgrenze für fix monotone Funktio-      Filterphase nicht ausgeschlossen werden können, bis zur Verfeine-
nen ergibt sich durch das Einsetzen aller möglichen Kombinationen     rungsphase in einer nach unterer Distanzgrenze sortierten Kandida-
von oberen und unteren Grenzen in die Aggregationsfunktion und        tenliste gehalten werden müssen. Für große Datenbanken kann es
einer Auswahl des maximalen Ergebnisses.                              jedoch vorkommen, dass der vorhandene Hauptspeicher dazu nicht
                                                                     ausreicht. Ein weiteres Lesefenster ermöglicht daher die Einhal-
                  C = d1lb , d1ub × · · · × {dm     m
                                              lb , dub }       (5)    tung von festen Grenzen für die Hauptspeichernutzung.
              dagg
               ub = max agg(c)                                  (6)      Nach einem in [15] vorgeschlagenen Prinzip werden Filter- und
                      c∈C
                                                                      Verfeinerungsphase verschränkt. Die Filterphase wird gestoppt, so-
Wie zuvor erwähnt, lässt sich die Berechnung der aggregierten         bald eine festgelegte Speichergrenze erreicht ist. In der nun folgen-
Grenzen in GeVAS und M2 -Baum entsprechend anpassen.                  den Verfeinerungsphase wird die Kandidatenliste abgearbeitet, bis
   Es kann gezeigt werden, dass alle mithilfe von CQQL erzeugten      k vorläufige nächste Nachbarn ermittelt wurden. Damit diese k Ob-
arithmetischen Formeln eine der beschriebenen Monotonien erfül-       jekte nicht verloren gehen, werden sie abschließend in die zuvor
len. Die Monotonie kann dabei allein anhand der Syntax der An-        geleerte Kandidatenliste eingefügt, bevor die Filterphase wieder an
frage bestimmt werden. Auf die Darstellung der Beweise dieser Ei-     der abgebrochenen Stelle fortgesetzt wird. Der Effizienznachteil
genschaften wird an dieser Stelle aus Platzgründen verzichtet.        dieses Vorgehens ist, dass das sequentielle Lesen der Filterphase
                                                                      regelmäßig unterbrochen wird und durch einen wahlfreien Zugriff
6.2    Metrisches Filter-Refinement                                   wieder fortgesetzt werden muss.
Im Gegensatz zu GeVAS werden die Signaturen beim metrischen
Filter-Refinement nicht anhand der Featuredaten der Datenbankob-      6.5    Steigende Featureanzahl
jekte ermittelt, sondern ergeben sich aus den Distanzen der Daten-    Steigt die Anzahl der in der Anfrage genutzten Features, steigt der
bankobjekte zu Referenzobjekten. Jede Signaturdatei besteht daher     Approximationsfehler bei der Abschätzung der aggregierten Ähn-
aus den Bitsignaturen der Distanzen jedes Datenbankobjekts zu ei-     lichkeitsgrenzen, da alle Teildistanzen in Form von Distanzgrenzen
ner Menge von Referenzobjekten. Die Reihenfolge der Datenban-         eingehen. Für Anfragen mit vielen Features bedeutet dies, dass sich
kobjekte ist dabei in allen Signaturdateien gleich. Die kNN-Suche     die Anzahl der Objekte, die anhand dieser Grenzen ausgeschlossen
verläuft analog zu GeVAS, wobei der Ausschluss von Objekten je-       werden können, verringert und die Sucheffizienz des Verfahrens
doch anhand aggregierter Ähnlichkeitsgrenzen stattfindet.             sinkt.
                                                                         Um diesem Problem zu begegnen, werden bei steigender Featu-
6
  Die Beschreibungen lassen sich analog auf Ähnlichkeitsgrenzen       reanzahl, statt Distanzgrenzen für jedes einzelne Feature zu nut-
anwenden.                                                             zen, nur noch für eine Teilmenge der verwendeten Features Di-



                                                                                                                                       75
Flexible Indexierung für Ähnlichkeitssuche mit logikbasierten Multi-Feature-Anfragen

stanzgrenzen abgeschätzt. Für alle anderen Features werden direkt      Unterstützung von Multi-Objekt-Anfragen sowie von Distanzfunk-
die exakten Distanzen berechnet. Aus der exakten Berechnung von        tionen die keine Metriken sind, stellen weitere Herausforderungen
Teildistanzen ergibt sich ein Mehraufwand gegenüber der Nutzung        dar.
von Distanzgrenzen. Dieser Mehraufwand kann jedoch ausgegli-
chen werden, wenn durch diese exakte Berechnung genügend zu-           Literatur
sätzliche Objekte ausgeschlossen werden können.                         [1]   Stanislav Barton u. a. “Estimating the indexability of multimedia de-
   Dieses Prinzip lässt sich in der Filterphase anwenden um mehr              scriptors for similarity searching”. In: Adaptivity, Personalization
Objekte auszuschließen. Analog zum sequentiellen Lesen der Si-                and Fusion of Heterogeneous Information. RIAO ’10. 2010, S. 84–
gnaturdateien müssen die Features in diesem Fall ebenfalls sequen-            87.
tiell gelesen werden, um die Sucheffizienz in der Filterphase zu ga-    [2]   Klemens Böhm u. a. “Fast Evaluation Techniques for Complex Simi-
                                                                              larity Queries”. In: Proceedings of the 27th International Conference
rantieren.                                                                    on Very Large Data Bases. VLDB ’01. 2001, S. 211–220.
   Das gleiche Prinzip kann in der Verfeinerungsphase genutzt wer-      [3]   Benjamin Bustos, Gonzalo Navarro und Edgar Chávez. “Pivot selec-
den, um die Suche früher und mit weniger exakten Distanzberech-               tion techniques for proximity searching in metric spaces”. In: Pattern
nungen abbrechen zu können. Statt für ein Objekt in der Verfei-               Recogn. Lett. 24 (14 2003), S. 2357–2366.
nerungsphase direkt alle Teildistanzen auf einmal exakt zu berech-      [4]   Benjamin Bustos und Tomáš Skopal. “Dynamic similarity search in
nen und zu aggregieren, wird schrittweise vorgegangen. Jedes Mal,             multi-metric spaces”. In: Proceedings of the 8th ACM internatio-
wenn ein Objekt in der Verfeinerungsphase am Anfang der Kan-                  nal workshop on Multimedia information retrieval. MIR ’06. 2006,
                                                                              S. 137–146.
didatenliste steht, für das noch nicht alle Teildistanzen berechnet
                                                                        [5]   Edgar Chávez u. a. “Searching in metric spaces”. In: ACM Comput.
wurden, wird eine Teildistanz berechnet und das Objekt anhand                 Surv. 33 (3 2001), S. 273–321.
der neuen (genaueren) aggregierten Ähnlichkeitsgrenze wieder in
                                                                        [6]   Paolo Ciaccia und Marco Patella. “The M2 -tree: Processing Com-
die Kandidatenliste einsortiert. Ein Vorteil ergibt sich dann, wenn           plex Multi-Feature Queries with Just One Index”. In: DELOS Work-
der Ausschluss eines Objekts von nur wenigen Teildistanzen ab-                shop: Information Seeking, Searching and Querying in Digital Li-
hängt. Bei einer geeigneten Reihenfolge der berechneten Teildi-               braries. 2000.
stanzen müssen dann nur diese diskriminierenden Distanzen ex-           [7]   Paolo Ciaccia, Marco Patella und Pavel Zezula. “M-tree: An Effi-
                                                                              cient Access Method for Similarity Search in Metric Spaces”. In:
akt berechnet werden, die Berechnung aller weiteren Teildistanzen             VLDB’97, Proceedings of 23rd International Conference on Very
kann gespart werden.                                                          Large Data Bases, August 25-29, 1997, Athens, Greece. Hrsg. von
   Die Auswahl der Features, für die exakte Distanzen berechnet               Matthias Jarke u. a. 1997, S. 426–435.
werden, erfolgt statisch (zur Indexierungszeit) oder dynamisch (zur     [8]   Ronald Fagin, Amnon Lotem und Moni Naor. “Optimal aggrega-
Anfragezeit) nach unterschiedlichen Kriterien, wie der (intrinsi-             tion algorithms for middleware”. In: Proceedings of the twentieth
schen) Dimensionalität der Features oder der Berechnungsdauer                 ACM SIGMOD-SIGACT-SIGART symposium on Principles of data-
                                                                              base systems. PODS ’01. 2001, S. 102–113.
der zugehörigen Distanzfunktion.
                                                                        [9]   Antonin Guttman. “R-trees: a dynamic index structure for spatial
                                                                              searching”. In: Proceedings of the 1984 ACM SIGMOD internatio-
6.6    Indexauswahl                                                           nal conference on Management of data. SIGMOD ’84. 1984, S. 47–
Die Sucheffizienz des beschriebenen Verfahrens hängt besonders                57.
von der Anzahl der verwendeten Features und der daraus resul-          [10]   Yannis Ioannidis. “The history of histograms (abridged)”. In: Pro-
tierenden (intrinsischen) Dimensionalität ab. Hierarchische Verfah-           ceedings of the 29th international conference on Very large data ba-
                                                                              ses - Volume 29. VLDB ’03. 2003, S. 19–30.
ren können bei niedriger (intrinsischer) Dimensionalität, aufgrund
                                                                       [11]   Yossi Rubner, Carlo Tomasi und Leonidas J. Guibas. “The Earth Mo-
der hohen Lokalität der Daten, größere Mengen von Objekten auf                ver’s Distance as a Metric for Image Retrieval”. In: Int. J. Comput.
einmal ausschließen und dadurch effizienter als nicht-hierarchische           Vision 40 (2 2000), S. 99–121.
Verfahren sein. Ein Vergleich des entworfenen Konzepts mit dem         [12]   Hanan Samet. Foundations of Multidimensional and Metric Data
angepassten M2 -Baum dient daher zur Bestimmung der Schnitt-                  Structures (The Morgan Kaufmann Series in Computer Graphics and
punkte bezüglich der Sucheffizienz beider Ansätze. Eine Selektion             Geometric Modeling). 2005.
des effizienteren Index kann dann entweder bereits bei der Index-      [13]   Ingo Schmitt. Ähnlichkeitssuche in Multimedia-Datenbanken - Re-
erzeugung oder erst zur Anfragezeit anhand der in der Anfrage ge-             trieval, Suchalgorithmen und Anfragebehandlung. 2005.
nutzten Features und ihrer (intrinsischen) Dimensionalität stattfin-   [14]   Ingo Schmitt. “QQL: A DB&IR Query Language”. In: The VLDB
den. Überschreitet die (intrinsische) Dimensionalität eine bestimm-           Journal 17 (1 2008), S. 39–56.
te Grenze, ist unter Umständen ein Rückfall auf den linearen Scan      [15]   Ingo Schmitt und Sören Balko. “Filter ranking in high-dimensional
                                                                              space”. In: Data Knowl. Eng. 56 (3 2006), S. 245–286.
sinnvoll.
                                                                       [16]   Enrique Vidal. “An algorithm for finding nearest neighbours in (ap-
                                                                              proximately) constant average time”. In: Pattern Recognition Letters
7.    ZUSAMMENFASSUNG                                                         4.3 (1986), S. 145 –157.
In dieser Arbeit wurde ein Konzept zur flexiblen Indexierung für       [17]   Roger Weber, Hans-Jörg Schek und Stephen Blott. “A Quantitative
                                                                              Analysis and Performance Study for Similarity-Search Methods in
Ähnlichkeitssuche mit logikbasierten Multi-Feature-Anfragen vor-              High-Dimensional Spaces”. In: Proceedings of the 24rd Internatio-
gestellt. Dazu wurden die spezifischen Anforderungen an geeignete             nal Conference on Very Large Data Bases. VLDB ’98. 1998, S. 194–
Indexierungsverfahren definiert und der Stand der Technik im Be-              205.
zug auf diese Anforderungen analysiert. Das entwickelte Konzept        [18]   Lofti A. Zadeh. “Fuzzy Logic”. In: Computer 21 (1988), S. 83–93.
zur Indexierung basiert auf einer Übertragung und Anpassung des        [19]   David Zellhöfer und Ingo Schmitt. “A preference-based approach
GeVAS-Ansatzes auf den metrischen Raum. Der Index ist dadurch                 for interactive weight learning: learning weights within a logic-
unabhängig von der genutzten logischen Kombination, der Art und               based query language”. In: Distributed and Parallel Databases 27
                                                                              (1 2010), S. 31–51.
Struktur der verwendeten Features und unterstützt eine Vielzahl
                                                                       [20]   David Zellhöfer und Ingo Schmitt. “Approaching Multimedia Retrie-
unterschiedlicher Features und Distanzfunktionen zur Berechnung               val from a Polyrepresentative Perspective”. In: Adaptive Multimedia
der Unähnlichkeit.                                                            Retrieval. Context, Exploration, and Fusion. Hrsg. von Marcin De-
   Als zukünftige Arbeiten verbleiben Teile der Implementierung,              tyniecki u. a. Bd. 6817. Lecture Notes in Computer Science. 2011,
die Bestimmung der optimalen Indexparameter und die Evaluati-                 S. 46–60.
on des Konzeptes anhand von synthetischen und realen Daten. Die



76
     Challenges in Finding an Appropriate Multi-Dimensional
       Index Structure with Respect to Specific Use Cases

              Alexander Grebhahn                          David Broneske                      Martin Schäler
             Institute of Technical and              Institute of Technical and          Institute of Technical and
           Business Information Systems            Business Information Systems        Business Information Systems
             University of Magdeburg                 University of Magdeburg             University of Magdeburg
             grebhahn@st.ovgu.de                      dbronesk@st.ovgu.de                  schaeler@ovgu.de
                Reimar Schröter                           Veit Köppen                        Gunter Saake
             Institute of Technical and             Center for Digital Engineering       Institute of Technical and
           Business Information Systems               University of Magdeburg          Business Information Systems
             University of Magdeburg                   vkoeppen@ovgu.de                  University of Magdeburg
              rschroet@st.ovgu.de                                                            saake@ovgu.de

ABSTRACT                                                              It is possible to extract feature vectors from an item to man-
In recent years, index structures for managing multi-dimen-           age the data in a compressed and meaningful way. For man-
sional data became increasingly important. Due to hetero-             aging these feature vectors, multi-dimensional index struc-
geneous systems and specific use cases, it is a complex chal-         tures can be used. In general, the question arises, which
lenge to find an appropriate index structure for specific prob-       index structure supports managing data best. Throughout
lems, such as finding similar fingerprints or micro traces in a       this paper, index structure performance describes suitability
database. One aspect that should be considered in general is          with respect to a specific use case. However, we analyze core
the dimensionality and the related curse of dimensionality.           aspects that have to be considered, if trying to answer this
   However, dimensionality of data is just one component              for a specific use case. In order to achieve a reconstructible
that have to be considered. To address the challenges of              and valid comparison, we present the idea of a framework
finding the appropriate index, we motivate the necessity of           that allows the comparison of different index structures in a
a framework to evaluate indexes for specific use cases. Fur-          homogeneous test environment.
thermore, we discuss core components of a framework that                 This paper is organized as follows: In Section 2, we give
supports users in finding the most appropriate index struc-           a short overview of basic components that have to be con-
ture for their use case.                                              sidered for evaluating the performance of index structures.
                                                                      Within Section 3, we give an overview of additional chal-
                                                                      lenges, which have to be handled by using index structures
Keywords                                                              in a specific use case. Finally, in Section 4, we present core
index structures, evaluation, multi-dimensional data                  components that a framework needs for quantitatively eval-
                                                                      uation of multi-dimensional index structures with respect to
                                                                      different use cases.
1.     INTRODUCTION
   In the last years, data storage and management in com-             2.    BASIC CHALLENGES
puter-aided systems became more advanced, because of an
increasing amount of unstructured data being stored. For                 Querying multi-dimensional data in an efficient way is
example, in multimedia databases images or videos are stored          a complex challenge. Within the last decades, new index
and analyzed to find similar data items. A special use case           structures are proposed and existing once are improved to
is the Digi-Dak Database Project1 , where multi-dimensional           solve this challenge. Regarding a specific use case, it is not
feature vectors of fingerprints and micro traces are stored in        suitable to consider an index structure in isolation. Addi-
a database. To manage these data items, methods are re-               tionally data properties, used query types, and underlying
quired to handle unstructured data in an appropriate way.             distance metrics have to be taken into account. In this sec-
                                                                      tion, we give a short overview of these four basic challenges.
1
    https://omen.cs.uni-magdeburg.de/digi-dak
                                                                      2.1   Data Properties
                                                                         Characteristics of data cause main challenges of querying
                                                                      data within a database system. For instance, data dimen-
                                                                      sionality has to be considered, because existing index struc-
                                                                      tures are generally effected by the curse of dimensionality
                                                                      [7, 23]. As a result, index structures, that are suitable for
                                                                      a small number of dimensions are not necessarily suitable
                                                                      for a larger amount of dimensions. An additional important
24th GI-Workshop on Foundations of Databases (Grundlagen von Daten-
banken), 29.05.2012 - 01.06.2012, Lübbenau, Germany.                  property is the data distribution, because some index struc-
Copyright is held by the author/owner(s).                             tures are more practicable for clustered data than others.



                                                                                                                                 77
Challenges in Finding an Appropriate Multi-Dimensional Index Structure with Respect to Specific Use Cases

Furthermore, value domain and the type of the data has to                         R1              R4
be considered.                                                                                                                    R7


2.2    Query Types                                                                R5         R6

                                                                                                                   R2
   Based on the work of Böhm et al. [8], query types can be                                                                 R8

categorized into two groups: -similarity queries and Nearest-                         R3
Neighbor-similarity (NN-similarity) queries. The former de-                                                  R10
                                                                                                                   A    R9   B
scribes a query, resulting in a set of data points being situ-                         R11
                                                                                                                                  C
ated in a defined -distance to the query point, whereas the
latter results in a data point being the nearest item to the                                           R12
query point. Describing these two groups, the -similarity
and NN-similarity has to be defined.
                                                                        Figure 1: R-Tree with overlapping MBRs.
Definition: -similarity Query.
   Two data points p1 and p2 are -similar if and only if
d(p1 , p2 ) ≤ . The function d defines a similarity measure
                                                                  2.4     Index Structures
for two points. In literature, similarity measures are of-           Since we aim at providing a comprehensive set of indexes,
ten replaced by distance metrics, which we review in Sec-         we want to consider different types of index structures. Thus,
tion 2.3. For finding all points in the data base being -        we use the classification of Weber et al. [23] to address a
similar, an -similarity query is executed. A special case of     broad variety of different approaches. Thus, index struc-
the -similarity is represented for  = 0, because this implies   tures are classified by partitioning of the data space. Index
two identical points and an exact match is executed [8].          structures that partition the whole space are called space
                                                                  partitioning methods, whereas data partitioning methods
Definition: NN-similarity Query.                                  partition the necessary space according to the location of
  The data point p1 is NN-similar to p2 with respect to a         data points [8, 23]. Consequently, there are regions that
data base of points DB if and only if ∀p ∈ DB, p 6= p1 :          are not taken into account by performing a query on data
d(p2 , p1 ) ≤ d(p2 , p). For NN-similarity queries, all points    partitioning methods.
in a database are retrieved that are NN-similar to the query         Alternatively, Andoni and Indyk [2] classify index struc-
point. An extension to the NN-similarity query is presented,      tures by query results. There are exact index structures that
when instead of a nearest neighbor, k nearest neighbors have      guarantee to retrieve the exact result of a query. Although,
to be retrieved. In this paper, we call the resulting query       this behavior is usually preferred, there are approximation-
k-NN query.                                                       based index structures, guaranteeing to retrieve points that
                                                                  are similar to the correct result of a query. For instance for k-
   Apart from the mentioned similarity range query, window        NN queries, approximation-based index structures provide k
queries are common queries and often called range queries in      near neighbors to the query point instead of all exact nearest
literature [24]. These window queries are defined by intervals    neighbors. Hereby, the quality of the retrieved results, called
for every queried dimension.                                      precision, can differ significantly, because approximate in-
2.3    Distance Metrics                                           dex structures aim at improving the query performance by
                                                                  decreasing the precision. Nevertheless, an approximation-
   To execute similarity queries, we require a function com-
                                                                  based index should hold a threshold, because resulting data
puting the similarity of two data items. To this end, similar-
                                                                  would not be useful. In the following sections, we present
ity for equal points is 1 whereas the maximum dissimilarity
                                                                  some representatives of index structures. First, exact index
is expressed by 0. Equivalent information is delivered from
                                                                  structures, such as R-Tree [11], Pyramid Technique [5], and
distance metrics, whereupon two data items are more simi-
                                                                  VA-File [22] are introduced. Subsequently, p-stable Local-
lar, the smaller their distance is.
                                                                  ity Sensitive Hashing [12] as an approximation-based index
   The most common distance metrics are Minkowsky class
                                                                  structure is presented.
metrics, also called Lp distance metrics. The distance of two
data items x and y is computed by:                                2.4.1     Exact Index Structures
                            X
                             d                  1/p                Giving an overview of existing index structures, we intro-
              Lp (x, y) =         (xi − yi )p          .          duce promising exact index structures in this section. Fur-
                            i=1                                   thermore, the difference between space partitioning and data
By choosing different values for p, different representatives     partitioning methods is stated by presenting at least one in-
of this class are produced. For p = 2, the Euclidean distance     dex structure for each category.
metric is generated, which dominates common database sys-
tems according to Bugatti et al. [9].                             R-Tree.
   Beneath these distance metrics, there are many other met-        One of the most important multi-dimensional index struc-
rics, such as Canberra [9] or Dynamical-Partial [16] dis-         tures is the R-Tree [11], introduced by Guttmann in 1984.
tance function. In contrast to Minkowsky distance func-           Since this time, many new index structures are proposed
tions, Dynamical-Partial distance metric dm uses only the         based on the ideas used in the R-Tree. For instance R+ -
m smallest distances for the computation of the distance of       Tree [21], R∗ -Tree [4], X-Tree [6], A-Tree [19], and SR-
data items [16]. As a result, in some specific use cases, it      Tree [13]. Beside these structures, there are many more
can be a great benefit using the Dynamical-Partial distance       index structures which are not mentioned here. For fur-
metric, because the influence of particular dimensions can        ther informations, see Samet [20], giving a comprehensive
deteriorate the distance of data items.                           overview of existing index structures.



78
            Challenges in Finding an Appropriate Multi-Dimensional Index Structure with Respect to Specific Use Cases

   (0; 1)                               (0; 1)                                                                                                     Approximation File

                                                                                                                                               A   00 11      N    11 01
                                                                                        A                    D
                                                                                            B                                                  B   01 11      O    11 01
                                                                       11                                                 J
                                                 (0,5; 0,5)                                     C                                              C   01 11      P    11 00
                                                                                                                                           K
                  (0,5; 0,5)                                                                                                                   D   10 11      Q    10 01
                                                                                                     E                        L
                                                                                    H                                                          E   01 10      R    11 00
                                                                                            F                                     M
                                                                       10
                                                                                                G                                              F   01 10      S    10 00
                                                                                I
                                                                                                             W                                 G   01 10      T    01 00

                                                                                                                                          N    H   00 10      U    10 00
                                                                       01               X                                                      I   00 10      V    10 01
                                                                                                Y                V        Q           O
                                                                                                                                               J   10 11      W    10 10
                                                                                    Z                            U                         P   K   11 11      X    00 01
                                                                       00                                                                      L   11 10      Y    01 01
   (0; 0)                      (1; 0)   (0; 0)                (1; 0)                                     T            S
                                                                                                                              R
                                                                                                                                               M   11 10      Z    00 00
                    (a)                            (b)                         00               01               10                   11



Figure 2: Space partition of a 2-d space by Berchtold                          Figure 3: Partitioning of the VA-File.
et al. [5] (a) and Lee and Kim [15] (b).

   However, the basic idea of these index structures is to ad-         degeneration of most index structures to a sequential scan, if
ministrate points hierarchically in a tree. The R-Tree par-            the dimensionality of data points exceeds a certain limit [23].
titions the data space using minimum bounding rectangles               Hence, the authors propose to accelerate the sequential scan
(MBR). A minimum bounding rectangle can be described                   by using vector approximation.
by two points, being the end of the diagonal of the rectan-               The VA-File divides each dimension of the space into 2b
gle. Stepwise, the space is partitioned by MBRs, so that the           equally filled cells, where b is an user defined amount of bits
superordinate MBR encloses all of its subordinate MBRs, as             per dimension. Each cell is labeled with a unique bit string,
we visualize in Figure 1.                                              being the concatenation of the corresponding bit strings for
   With increasing dimensionality, R-Trees face the challenge          every dimension. For every point, the bit string of the cell is
of overlapping MBRs. A query rectangle, situated in a re-              stored, which the point is inserted into. Thus, the VA-File
gion, where two or more MBRs overlap (like the MBR R2                  uses two lists: an approximation file that stores the bit string
and R3 in Figure 1), forces the R-Tree to follow up two or             of the cells for every point and a vector file with the vector
more different routes in the tree. Thus, the query perfor-             data for each point. An exemplary space partitioning and
mance decreases [6]. To overcome this disadvantage other               the corresponding approximation file can be seen in Figure 3.
index structures that we mentioned before, are developed.                 Generally, the query algorithm of the VA-File traverses
                                                                       the whole approximation file to collect suitable candidates
                                                                       for the query result at first. After that, exact comparisons
Pyramid Technique.                                                     between the vector data of the candidates and the query are
   An example for an exact space partitioning index struc-
                                                                       performed.
ture is the Pyramid Technique, which was introduced by
                                                                          The approximation technique of the VA-File helps to re-
Berchtold et al. [5]. The Pyramid Technique divides an n-
                                                                       duce hard-disk accesses, because small bit strings can be
dimensional space into 2d pyramids [5]. A d dimensional
                                                                       kept in main memory. Even if the whole approximation
normalized point x is inserted into a pyramid according to
                                                                       file does not fit into the main memory, the sequential ex-
the dimension jmax with its maximum distance to the center
                                                                       amination of the approximations reduces disk access costs
of the data space. Thus, the pyramid number pi is computed
                                                                       compared to random accesses to many data items [22]. An-
as follows:
                                                                      other advantage is, in contrast to the Pyramid Technique,
                  jmax           if xjmax < 0, 5                       the availability of different algorithms to efficiently support
            i=
                  (jmax + d)     if xjmax ≥ 0, 5                       all query types being executable on a sequential scan with-
  Second, for managing the space enclosed by a pyramid,                out adaption of the space partitioning of the VA-File.
the pyramids are divided in pyramid slices. According to the           2.4.2    Approximation-based Index Structures
query types supported by the index structure, the partition
of pyramids can be done in different ways. In Figure 2,                  Typical representatives for an approximation-based index
we present two different possible methods for partitioning a           structure are based on hash schemes. Apart from common
pyramid, for a two dimensional normalized space.                       hashing algorithms, scattering inserted data points over the
  In particular, the partition of Figure 2 (a) is proposed             amount of buckets is not applicable for similarity queries.
by Berchtold et al. [5] to support range queries. The other            Consequently, there is a need for hash functions, causing
partition, shown in Figure 2 (b), is used by the approach of           collisions when hashing locally near situated points. This
Lee and Kim [15] to support k-NN queries. It is possible to            challenge is handled by Locality Sensitive Hashing (LSH).
use the partitioning from Berchtold et al. for k-NN queries as         The aim of LSH is to map the key to a one dimensional
well, but not in an efficient way. Anyway, a point is inserted         hash value. Thus, all comparisons are made on the hash
into the slice depending on its distance to the center of the          value instead of a high dimensional key. Supporting nearest
space. To sum up, for supporting different query types in              neighbor queries, LSH uses (P 1, P 2, r, cr)-sensitive functions
an efficient way, different pyramid partitions are required.           h to compute the hash value. These functions h have to fulfill
                                                                       the following constraints [12]:
VA-File.                                                                    For every dataset in a d-dimensional space p, q ∈ Rd :
  In 1997, Weber and Blott [22] introduce the VA-File to
overcome the curse of dimensionality. The VA-File is an                        1. if ||p − q|| ≤ r, then P r[h(p) = h(q)] > P 1
improved sequential scan, because Weber et al. noticed a                       2. if ||p − q|| ≥ cr, then P r[h(p) = h(q)] < P 2



                                                                                                                                                                        79
Challenges in Finding an Appropriate Multi-Dimensional Index Structure with Respect to Specific Use Cases

The first constraint demands that the probability for two            the approximation-based index structure p-stable LSH pre-
points to be hashed into the same bucket has to be larger            sented in Section 2.4 are number of hash functions and width
than P 1 if their distance is smaller than r. Whereas, if their      of hash buckets.
distance is bigger than cr, the probability should be smaller           Thus, we have to assume, that these parameters have an
than P 2. In order to be an useful locality sensitive function,      impact on the performance of index structures. Therefore,
P 1 should be much bigger than P 2.                                  it is necessary to analyze suitable parameter values when
   Improving the precision of the index structure, usually           trying to identify an appropriate index structure for a given
several hash tables with different hash functions are used.          use case. However, there are some problems considering an
Consequently, the need for (P 1, P 2, r, cr)-sensitive functions     appropriate value of some parameters. For example, the
is obvious. A promising family of hash functions is used in          vectors used for p-stable LSH are randomly chosen from p-
p-stable LSH.                                                        stable distributions. As a result of this random component
                                                                     it is possible that the performance and precision results of
p-stable LSH.                                                        the same index structure created with different seeds of the
  The approach of p-stable LSH is based on p-stable distri-          random component can differ very much, within the same
butions. A distribution D is p-stable for p ≥ 0 if for any n the     use case. This is problematic when trying to quantitatively
real numbers v1 , ..., vn and i.i.d. random variables X1 , ..., Xn   evaluate the index structure.
with distribution D, the following constraint is fulfilled:
                                                                     3.2   Workload and used Queries
               n
               X            X
                             n           1/p                          Although, two different applications can deal with the
                 (vi Xi ) ∼    (kvi kp )      X,                     same data, they can have a different workload. For that
               i=1             i=1                                   reason, they can differ in requirements of index structures.
                                                                     The workload of an application depends on the used query
∼ means the operands have the same distribution and X is
                                                                     types. Yet, it is obvious, not to use the Pyramid Technique
a random variable from the distribution D [18].
                                                                     presented from Berchtold et al. [5] for performing a k-NN
  Using d random variables from D to form a d-dimensional
                                                                     query, but the version presented by Lee and Kim [15], be-
Vector ~a, the scalar of vector ~a and the data point ~v result in
                                        P d          1/p           cause it is optimized for this query type.
a random variable with distribution          (kvi kp )     X [12].     For defining the workload of a database system we use
                                          i=1                        a definition inspired by Ahmad et al. [1]. As a result, the
Several of these scalar products with different vectors can
                                                                     workload is defined by the percentage of the query types
be used to estimate k~v kp (the Lp distance metric). The
                                                                     used and the amount of concurrent requests performed.
corresponding distributions are:
    • The Cauchy Distribution DC (0, 1), defined by the den-
                                 1
                                                                     3.3   DBMS Environment
       sity function c(x) = (π(1+x 2 )) is 1-stable and can be
                                                                        In addition to use cases and workload, the test environ-
       used to estimate the Manhattan distance metric.               ment has an impact on the performance of each index struc-
    • The Gaussian (Normal) Distribution DG (0, 1), defined          ture. As already mentioned, the VA-File is optimized for
                                                 2
       by the density function g(x) = √12π e−x /2 is 2-stable        database systems, storing data items on a disk and not in
       and can be used to estimate the Euclidean distance            main memory. Evaluations of VA-File and sequential scan,
       metric.                                                       result in different conclusions according to an evaluation
   Instead of estimating a distance metric, the scalar prod-         with an in-memory database or a database storing items
uct with vectors from p-stable distributions can be used to          on the disk. Consequently, it is necessary to consider the
compute hash values of the data points, because the scalar           underlying storage management of the database system as
product maps the vectors to a one dimensional space. Fur-            well.
thermore, the result of the scalar product has the same dis-            Beside the storage management of a database, the amount
tribution as the Lp distance metric, which guarantees the            of main memory and the CPU performance are other impact
(P 1, P 2, r, cr)-sensitiveness.                                     factors to the performance.

3.    ADVANCED CHALLENGES                                            4.    TOWARDS A FRAMEWORK
  After giving a short introduction to general challenges of           Since we aim at providing a comprehensive library of use
indexing multi-dimensional data, in this section we provide          cases and suitable indexes, we motivate a framework to give
existing challenges of evaluating the performance of index           users the possibility to evaluate own use cases with different
structures for a specific use case. For giving an overview           index structures. In this paper, we summarize key aspects
of possible challenges when evaluating index structures, we          of a framework that supports four groups. In Figure 4, we
group the challenges into three groups.                              give an overview of these four groups.

3.1    Parameter of the Index Structures                             4.1   Extensibility
  Some index structures have specific parameters for tuning             First, the framework has to be extensible w.r.t. four key
their performance. Thus, when evaluating the performance             aspect, we present in Section 2. In other words, for an user,
of index structures, these parameter have to be considered           it has to be possible to implement, integrate, and evaluate
as well. For index structures given in Section 2.4, these pa-        own index structures. Furthermore, it has to be possible
rameter are: the minimum and the maximum number of                   to extend the framework and existing index structures with
points within a MBR for the R-Tree, the number of slices a           additional distance metrics and also other query types. Fi-
pyramid is divided in, for the Pyramid Technique, and the            nally, it has to be possible to integrate existing data in the
length of the bit vector for the VA-File. The parameters of          framework and to create data with specific properties like a



80
        Challenges in Finding an Appropriate Multi-Dimensional Index Structure with Respect to Specific Use Cases

                                      USER                                  or pit-falls of the chosen index structure. For instance, the
                                                                            user is able to follow the split of MBRs in the R-Tree and
                                                                            can easily identify overlapping regions while the tree is be-
                                                                            ing constructed. Another aspect, being worth to visualize,
                                         test environment
           workload   visualization                         extensibility   is a statistic on query performance. These statistics help to
                                             simulator
                                                                            analyze the performance of different index structures for a
                                                                            given workload or an index structure under different work-
                               FRAMEWORK                                    loads. Apart form the query performance, other interesting
                                                                            values may be worth visualizing. The time spent on con-
                                                                            structing the index structure is important for systems with
         Figure 4: Structure of the Framework.                              many delete and update queries, because a reconstruction of
                                                                            the index is sometimes necessary when a certain threshold
                                                                            of changed data is reached. Furthermore, when using an ap-
specific data distribution. Thus, creating data distributions               proximate index structure, the precision of executed queries
is not trivial, an interface has to be created for importing                and the overall precision of the index structure is worth vi-
existing data sets and communicating with systems like R,                   sualizing, because it has an impact on the suitability of an
see for instance [14].                                                      index structure for a special use case.
4.2      Adaptability to Different Workload                                 4.5      Working with the Framework
   In real world applications, the workload differs quite much.               Finally, our framework shall help finding the most suit-
On the one hand, there are use cases that use only read                     able index structures for a given use case. For this, the
transactions. On the other hand, the workload can consist                   expected workload has to be known. These parameters in-
of read and write transactions. Thus, the performance re-                   clude supported query types, exact or approximate results,
sults of workloads can differ very much. Hence, an interface                data dimensionality and distribution, amount of data, the
is needed for importing workloads from existing systems. A                  delay of the data access, and the environment. By finding
further requirement, is to support standardized benchmarks,                 suitable index structures for the given parameters, there are
e.g. the TPC-H Benchmark2 .                                                 index structures that do not have to be taken into account,
   Beside the queries used, the desired precision of the query              because they do not support certain query types or work
results have to be defined by the user. Thus, if approximate                approximately although the result is restricted to be exact.
results are allowed, the user has to define the accuracy of                 After excluding unsuitable index structures, the remaining
the results. Nevertheless, the precision depends on the data                index structures are evaluated under the given workload. By
properties, the given distance metric, the used queries and                 reviewing the performance results, the user can choose the
the parameters of the index structure as well.                              suitable index structure for her use case.
4.3      Test Environment Simulator
   Existing index structures are created with respect to dif-               5.      RELATED WORK
ferent optimization criteria. As already mentioned, the VA-                    In the last decades, many new index structures are cre-
File is optimized for reducing disk accesses. Consequently,                 ated [5, 10, 22]. In addition, existing index structures are
another criteria our framework has to consider is the envi-                 improved for supporting new query types [15] or to increase
ronment the tests are located in. Thus, within the frame-                   performance [6]. However, within the presented evaluation
work a parameter has to exist, for setting whether the test                 of these index structures only a small set of existing in-
is for an in-memory database or if a disk access is needed for              dex structures is considered. For example, within Berchtold
accessing the data. Due to an assumption, that the access                   et al. [5], the Pyramid Technique is evaluated against X-
time of data differs very much considering Hard-Disk-Drives                 Tree, Hilbert R-Tree, and sequential scan. Therefore, it is
and Solid-State-Disks, the framework should have a compo-                   problematic to identify, which is the most appropriate in-
nent for virtualizing the disk access. With this component                  dex structure for a given problem. Additionally, different
it is possible to perform tests on one system while simulat-                performance evaluations are done in different environments
ing an access delay of another system. In addition to this                  with different data characteristics. So, it is problematic to
storage device simulator, a simulator for all hardware com-                 generalize the results of an evaluation.
ponents is required to give an useful hint about the best                      For giving a comparison of the performance of multi-di-
performing index structure.                                                 mensional index structures, there already exists some frame-
   Additionally, within the framework a parameter has to                    works, like the GiST 3 framework or the MESSIF [3] frame-
exist for defining the values of some index structure param-                work. In contrast to the framework we present here, these
eters such as the maximum number of data items of leaves                    frameworks have some additional constraints. For example,
of the R-Tree.                                                              the GiST framework only focuses on trees, hence no other
                                                                            multi-dimensional index structures such as the VA-File or
                                                                            the Pyramid Technique are considered, while the MESSIF
4.4      Visualization                                                      framework only focuses on metric data. Another framework
  In case the index structure has to struggle with a specific               limiting the available index structures is introduced by Muja
data distribution or query type, it can be useful to visualize              et al. [17]. The aim of this framework is to optimize param-
the space partitioning of the index structure. With this vi-                eters of approximate index structures in order to match the
sualization, further hypothesis can be drawn on the benefits                required precision under given data distributions.
2                                                                           3
    http://www.tpc.org/tpch/                                                    http://gist.cs.berkeley.edu/



                                                                                                                                      81
Challenges in Finding an Appropriate Multi-Dimensional Index Structure with Respect to Specific Use Cases

6.   CONCLUSION                                                        IEEE Trans. on Pattern Analysis and Machine
   In this paper, we provide an overview of existing chal-             Intelligence (TPAMI), 30(9):1647–1658, 2008.
lenges in finding an appropriate index for multi-dimensional      [11] A. Guttman. R-Trees: A dynamic index structure for
data for a specific use case. First, we explain distance met-          spatial searching. In SIGMOD’84, Proc. of Annual
rics and common query types that have to be considered.                Meeting, pages 47–57, 1984.
Second, the parameters of the index structures can have an        [12] P. Indyk and R. Motwani. Approximate nearest
impact on the performance of an index structure. Third, for            neighbors: Towards removing the curse of
users, it has to be possible to define own workload pattern            dimensionality. In Proc. Symp. on Theory of Compu.
and the environment, the application is located in.                    (STOC). ACM, 1998.
   For supporting these characteristics of real-world use cases   [13] N. Katayama and S. Satoh. The SR-tree: An Index
we present requirements of a framework we intend to de-                Structure for High-Dimensional Nearest Neighbor
velope. Our framework has to support four key aspects.                 Queries. In Proc. Int’l. Conf. on Mgmt. of Data
Namely, it has to be extensible, support different workload            (SIGMOD), pages 369–380. ACM, 1997.
patterns, virtualize different use case environments, and con-    [14] V. Köppen. Improving the Quality of Indicator
tain a visualization component for improving user experi-              Systems by MoSi – Methodology and Evaluation. PhD
ences.                                                                 thesis, Freie Universität Berlin, 2008.
                                                                  [15] D.-H. Lee and H.-J. Kim. An efficient technique for
7.   ACKNOWLEDGMENTS                                                   nearest-neighbor query processing on the SPY-TEC.
  The work in this paper has been funded in part by the                Trans. on Knowl. and Data Eng. (TKDE),
German Federal Ministry of Education and Science (BMBF)                15:1472–1486, 2003.
through the Research Programme under Contract No.                 [16] B. Li, E. Chang, and Y. Wu. Discovery of a perceptual
FKZ:13N10817 and FKZ:13N10818. Additionally we want                    distance function for measuring image similarity.
to thank Sandro Schulze for giving us useful comments.                 Multimedia Systems, 8(6):512–522, Apr. 2003.
                                                                  [17] M. Muja and D. G. Lowe. Fast approximate nearest
8.   REFERENCES                                                        neighbors with automatic algorithm configuration. In
 [1] M. Ahmad, A. Aboulnaga, and S. Babu. Query                        Proc. Int’l. Conf. on Computer Vision Theory and
     interactions in database workloads. In Proc. Int’l.               Applications (VISAPP), pages 331–340, 2009.
     Workshop on Testing Database Systems, DBTest,                [18] J. P. Nolan. Stable distributions: Models for heavy
     pages 11:1–11:6. ACM, 2009.                                       tailed data. Springer-Verlag, 2009.
 [2] A. Andoni and P. Indyk. Near-optimal hashing                 [19] Y. Sakurai, M. Yoshikawa, S. Uemura, and H. Kojima.
     algorithms for approximate nearest neighbor in high               The A-tree: An index structure for high-dimensional
     dimensions. Commun. ACM, 51(1):117–122, 2008.                     spaces using relative approximation. In Proc. Int’l.
 [3] M. Batko, D. Novak, and P. Zezula. Messif: Metric                 Conf. on Very Large Data Bases (VLDB), pages
     similarity search implementation framework. In Proc.              516–526. Morgan Kaufmann Publishers Inc., 2000.
     Conf. on Digital Libraries (DELOS), 2007.                    [20] H. Samet. Foundations of Multidimensional and
 [4] N. Beckmann, H.-P. Kriegel, R. Schneider, and                     Metric Data Structures. Morgan Kaufmann Publishers
     B. Seeger. The R*-Tree: An efficient and robust access            Inc., 2005.
     method for points and rectangles. In Proc. Int’l. Conf.      [21] T. K. Sellis, N. Roussopoulos, and C. Faloutsos. The
     on Mgmt. of Data (SIGMOD), pages 322–331. ACM,                    R+-Tree: A dynamic index for multi-dimensional
     1990.                                                             objects. In Proc. Int’l. Conf. on Very Large Data
 [5] S. Berchtold, C. Böhm, and H.-P. Kriegel. The                    Bases (VLDB), pages 507–518. Morgan Kaufmann
     Pyramid-Technique: Towards breaking the curse of                  Publishers Inc., 1987.
     dimensionality. SIGMOD Rec., 27:142–153, 1998.               [22] R. Weber and S. Blott. An approximation-based data
 [6] S. Berchtold, D. A. Keim, and H.-P. Kriegel. The                  structure for similarity search. Technical Report
     X-Tree: An index structure for high-dimensional data.             ESPRIT project, no. 9141, 1997.
     In Proc. Int’l. Conf. on Very Large Data Bases               [23] R. Weber, H.-J. Schek, and S. Blott. A quantitative
     (VLDB), pages 28–39. Morgan Kaufmann Publishers                   analysis and performance study for similarity-search
     Inc., 1996.                                                       methods in high-dimensional spaces. In Proc. Int’l.
 [7] C. Böhm. Efficiently Indexing High-Dimensional Data              Conf. on Very Large Data Bases (VLDB), pages
     Spaces. PhD thesis, Ludwig-Maximilians-Universität               194–205. Morgan Kaufmann Publishers Inc., 1998.
     München, 1998.                                              [24] R. Zhang, B. C. Ooi, and K.-L. Tan. Making the
 [8] C. Böhm, S. Berchtold, and D. A. Keim. Searching in              pyramid technique robust to query types and
     high-dimensional spaces: Index structures for                     workloads. In Proc. Int’l. Conf. on Data Engineering
     improving the performance of multimedia databases.                (ICDE), pages 313–324. IEEE Computer Society,
     ACM Comput. Surv., 33:322–373, 2001.                              2004.
 [9] P. H. Bugatti, A. J. M. Traina, and C. Traina, Jr.
     Assessing the best integration between
     distance-function and image-feature to answer
     similarity queries. In Proc. ACM Symp. on Applied
     Computing (SAC), pages 1225–1230. ACM, 2008.
[10] E. Chavez Gonzalez, K. Figueroa, and G. Navarro.
     Effective proximity retrieval by ordering permutations.



82
                              Minimal-Invasive Indexintegration
                                   Transparente Datenbankbeschleunigung
                 Alexander Adam                          Sebastian Leuoth                      Wolfgang Benn
            dimensio informatics GmbH                dimensio informatics GmbH               Technische Universität
                 Brückenstraße 4                          Brückenstraße 4                           Chemnitz
                 09111 Chemnitz                           09111 Chemnitz                     Straße der Nationen 62
              alad@dimensio-informatics.de             lese@dimensio-informatics.de              09107 Chemnitz
                                                                                              benn@cs.tu-chemnitz.de


Keywords                                                                nen schlechten Portabilität der entwickelten Module. Beson-
Datenbankenerweiterung, Indizierung, Transparent                        ders im Bereich der Indizierung um den es in diesem Papier
                                                                        gehen soll, stellen sich aber noch weitere Probleme dar.
                                                                           Normalerweise kann ein Index auf einer beliebigen Ta-
ZUSAMMENFASSUNG                                                         belle und deren Spalten definiert werden. Die Anwendung
Aktuelle Datenbanksysteme bieten dem Nutzer eine enor-                  bemerkt nur insoweit etwas von dieser Aktion, als dass An-
me Funktionsvielfalt [12, 8]. Selbst sehr spezielle Gebiete             fragen schneller beantwortet werden sollten.
wie z. B. Geodatentypen [9, 14] werden unterstützt. Abhän-                 Ein kleines Beispiel soll dies verdeutlichen. Die folgende
gig vom verwendeten Datenbanksystem können diese Fä-                    Anfrage gibt alle Mitarbeiterinformationen zurück, die zu
higkeiten durch einen Nutzer noch erweitert werden. Bei-                Mitarbeitern mit mehr als 1000 Euro Gehalt gehören:
spiele hierfür wären Funktionen und nutzerdefinierte Da-
tentypen [12, 8]. Alle diese Erweiterungen sollten natür-
                                                                        Listing 1: SQL-Anfrage mit Bedingung im WHERE-Teil
lich nicht die Geschwindigkeit des Datenbanksystems nega-
tiv beeinflussen. So gibt es neben normalen Indexen auch                 SELECT        ∗
Funktionsindexe und Indexe für nutzerdefinierte Datenhal-                FROM          mitarb
tungen [20, 2]. Die Möglichkeiten, zu indizieren sind dabei, je          WHERE         mitarb.gehalt > 1000
nach Datenbankhersteller, vorbestimmt und selbst nicht er-
                                                                        Für die Anwendung, die diese Anfrage an die Datenbank
weiterbar. Allen diesen Techniken ist weiterhin gemein, dass
                                                                        stellt, ist es vollkommen unerheblich, ob sich auf der Ge-
sie direkt am Datenbanksystem ansetzen und teils auch in
                                                                        haltsspalte der Mitarbeitertabelle ein Index befindet oder
der Anfragesprache sichtbar sind. Es ist daher nicht einfach
                                                                        nicht. Die Anfrage würde, ob nun mit oder ohne Index, im-
möglich, eine Anwendung, die fest vorgegeben ist, mittels
                                                                        mer gleich aussehen.
solcher Techniken zu beschleunigen. In diesem Papier wol-
                                                                           Wir nehmen nun an, dass die Gehaltsspalte durch einen
len wir eine Möglichkeit vorstellen, mit der eine solche Be-
                                                                        anderen Typ ersetzt werden soll, Gründe hierfür könnten ei-
schleunigung auch dann noch möglich ist, wenn weder das
                                                                        ne effizientere Speicherung oder bessere Zugriffsmöglichkei-
Datenbanksystem noch die Anwendung im Zugriff des Nut-
                                                                        ten sein. Wir nehmen weiter an, dass das Datenbanksystem
zers stehen. Verdeutlicht wird dieses am Beispiel der JDBC-
                                                                        für den neuen Typ den >-Operator nicht mehr anbietet. Es
Schnittstelle [15].
                                                                        muss nun eine Vergleichsfunktion geschrieben werden, die
                                                                        die Aufgabe des >-Operators übernimmt. Diese tiefgreifen-
1. EINLEITUNG                                                           de Umstrukturierung scheint nun bis in die Anfrage durch,
Datenbanksysteme haben in den letzten Jahrzehnten ein                   ist also nicht mehr transparent:
breites Anwendungsspektrum erschlossen. Funktionalitäten
wurden oft aufgrund der Bedürfnisse der Anwender hinzuge-
                                                                        Listing 2: SQL-Anfrage mit Anfrage an eine nutzer-
fügt [17]. So gibt es heute nutzerdefinierte Datentypen, nut-
                                                                        definierte Funktion im WHERE-Teil
zerdefinierte Datenablagen und selbst elementare Dinge wie
Indexe, die durch einen Nutzer in ihrer Struktur bestimmt                SELECT         ∗
werden.                                                                  FROM           mitarb
  Allen gemein ist eine gewisse Abhängigkeit der Implemen-               WHERE          pruefe( mitarb.gehalt, 1000) = 1
tation vom Datenbankhersteller und einer damit verbunde-
                                                                        Eine Anwendung, die der Nutzer nicht verändern kann, wür-
                                                                        de also von diesem neuen Typ ausschließlich dann profi-
                                                                        tieren, wenn der Hersteller diese Möglichkeit vorsieht oder
                                                                        standardmäßig einbaut. Für bestehende Umgebungen ist all
                                                                        dies also keine Option.
                                                                           Im obigen Fall würde noch die Möglichkeit des automati-
                                                                        schen SQL-Umschreibens einen Ausweg bieten [12, 8]. Dabei
                                                                        wird eine materialisierte Sicht angelegt. Anschließend wird
24th GI-Workshop on Foundations of Databases (Grundlagen von Daten-
banken), 29.05.2012 - 01.06.2012, Lübbenau, Germany.                    der Datenbank mitgeteilt, dass bestimmte Anfragen nicht so
Copyright is held by the author/owner(s).                               gestellt werden sollen, wie sie der Anwender abgesetzt hatte,



                                                                                                                                  83
Minimal-Invasive Indexintegration - Transparente Datenbankbeschleunigung

sondern in veränderter Form auf der materialisierten Sicht      2.2    Datenbanktreiber
abgearbeitet werden. Das Vorgehen muss vom Datenbank-           Der Datenbanktreiber ist die Schnittstelle für einen An-
system aber auch unterstützt werden. Je nach Ausprägung         wendungsprogrammierer, um mit dem Datenbanksystem zu
müssen außerdem genaue Übereinstimmungsmerkmale an-             kommunizieren. Er stellt Funktionen bereit, um Verbindun-
gegeben werden, mit denen das Umschreiben ausgelöst wird.       gen zu verwalten und Datenbankanfragen abzuarbeiten (sei
Scheitert das Umschreiben, weil es eine kleine Varianz in der   es nun SQL oder irgendeine andere Art der Anfrage) [5,
Anfrage gibt, wird das Ergebnis u. U. falsch.                   11]. Es ist wichtig, zu beobachten, dass dabei jeder Ab-
  Im Folgenden werden wir eine Möglichkeit aufzeigen, wie       arbeitungsschritt von der Anwendung ausgelöst wird. Alle
es ohne einen Eingriff – weder bei der Anwendung noch           Ergebnisse einer Anfrage werden nicht einfach als Resultat
bei der Datenbank – möglich ist, einen Index weitestgehend      einer query()-Funktion zurückgegeben, sondern müssen ak-
transparent in ein bestehendes System zu integrieren. Da-       tiv angefordert werden. Eine typische Schrittfolge, die eine
zu wird zunächst untersucht, an welchen Stellen und wie in      Anwendung verwenden könnte, ist in Listing 3 aufgezeigt.
die Kommunikation von Anwendung und Datenbanksystem
eingegriffen werden kann. Anschließend wird auf die Heraus-
forderungen eingegangen, die sich bei dem hier genutzten        Listing 3: Mögliche, stark reduzierte, Schrittfolge
Ansatz zeigen und wie diese gelöst werden können.               bei der Nutzung einer Datenbankbibliothek, hier
                                                                JDBC. Es wird zunächst eine Verbindung geöffnet,
2. INTEGRATIONSPUNKTE                                           dann ein Statement mit ungebundenen Variablen
                                                                vorbereitet und gebunden. Schließlich werden die
2.1 Überblick                                                   angefragten Daten abgeholt.
                                                                 Connection conn = DriverManager.getConnection(
Um mögliche Integrationspunkte zu finden, muss zunächst
                                                                                   "jdbc:mysql://localhost/testdb",
untersucht werden, wie eine Anwendung mit einem Daten-
                                                                                   "username",
banksystem kommuniziert. Üblicherweise werden hierfür Da-
                                                                                   "password");
tenbanktreiber eingesetzt. Das sind Programmbibliotheken,
                                                                 Statement ps = conn.prepareStatement(
die die Anfragen in ein dem Datenbanksystem verständli-
                                                                                   "SELECT ∗ FROM mitarb
ches Protokoll überführen und dieses dann übermitteln. Der
                                                                                    WHERE gehalt > ?");
Datenbankserver dekodiert das Protokoll und arbeitet die
                                                                 ps. setInt (1, 1000);
darin enthaltenen Anweisungen ab.
                                                                 ResultSet rs = ps.executeQuery();
                                                                 String name = rs.getString("name");
                                                        ps. close () ;
                                                        conn.close () ;
              

                                                 Wie nun stellt sich hier eine Möglichkeit zur Integration
                                              dar? Es ist möglich, vor jede Funktion, die eine Anwendung
                                                                vom originalen Datenbanktreiber aufruft, eine eigene Funk-
                                                                tion zu setzen. Die Anwendung ruft nun die eigene Funk-
                           
                                                                tion, ohne dies zu bemerken, und die eigene Funktion ruft
                                                                schließlich die originale. Da nun alle Daten, die von einer
                                                                Anwendung zum Datenbanksystem gesendet werden, vorher
Abbildung 1: Schematische Darstellung des Zusam-
                                                                analysiert und verändert werden können, stellt sich so dieser
menspiels zwischen Anwendung und Datenbank. Die
                                                                Integrationspunkt dar. Außerdem können eigene Funktionen
Anwendung verwendet ein API für einen Daten-
                                                                auf der so abgefangenen Datenbankverbindung „huckepack“
banktreiber, welcher vom Datenbankhersteller zur
                                                                aufgesetzt werden.
Verfügung gestellt wird. Dieser Treiber ist dann für
                                                                   Ein erster Gedanke, dies zu realisieren, könnte in die Rich-
die Kommunikation mit dem Datenbanksystem über
                                                                tung einer DLL-Injection [18] gehen. Das bedeutet das kom-
ein Netzwerk verantwortlich.
                                                                plette Ersetzen des vom Datenbankhersteller bereitgestell-
                                                                ten Treibers durch einen eigenen. Dieser kann, da die Proto-
   Das beschriebene Szenario – abgebildet in Abbildung 1 –
                                                                kolle nicht zwingend offengelegt sein müssen, die Kommuni-
offenbart drei Möglichkeiten, eine Integration vorzunehmen:
                                                                kation mit dem Datenbanksystem nicht selbst übernehmen,
     • den Datenbanktreiber,                                    sondern ruft den ursprünglichen Datenbanktreiber. Abhän-
                                                                gig von der Anzahl der zu implementierenden Funktionen
     • die Kommunikation über das Netzwerk und                  kann dies ein möglicher Weg sein. Eine weit verbreitete sol-
                                                                che Schnittstelle, um aus einer Javaanwendung mit einem
     • das Datenbanksystem selbst.                              Datenbanksystem in Verbindung zu treten, ist JDBC. Mit
                                                                seinen vielen Klassen und mehr als 1000 zugehörigen Me-
Im Folgenden werden wir uns auf den Datenbanktreiber, al-       thoden [6] wäre es eine sehr langwierige Aufgabe, einen sol-
so die Anwendungsseite, konzentrieren. Die Vorgehensweise       chen sogenannten Wrapper [7] zu implementieren. In einem
bei der Integration in die Kommuniktion ist bereits in [1]      unserer Produkte namens Cardigo ist dieses aber bereits im-
beschrieben. Möglichkeiten, ein Datenbanksystem zu erwei-       plementiert und erleichtert so die Aufgabe enorm. Weitere
tern, wurden in den letzten Jahrzehnten vielfach an anderer     Projekte und Arbeiten zu diesem Thema sind unter anderem
Stelle beschrieben [4, 20, 2].                                  auch bei [19, 22, 21] und [13] zu finden.



84
                                                              Minimal-Invasive Indexintegration - Transparente Datenbankbeschleunigung

  Cardigo ist ein Rahmenwerk, welches u. a. alle Klassen                          Index an das Datenbanksystem zu übertragen. Es schließt
und Methoden enthält, die das JDBC-API anbietet. An-                              sich eine Betrachtung an, die die programmtechnische Inte-
statt selbst ein kompletter Treiber zu sein, bietet es lediglich                  gration betrachtet, da sich hier noch einige weitere Probleme
einen Wrapper für einen „richtigen“ Datenbanktreiber. Das                         auftun.
Ziel dieses Produktes ist es, einem Anwender die Möglichkeit
zu geben, die Datenbankkommunikation – in diesem Falle                            3.1   Logische Integration
hauptsächlich Anfragen, Ergebnisse u. s. w. – zu loggen oder                      Die Grundidee der Integration ist es nun, die Anfrage, die
gar zu verändern. Mit diesem Werkzeug können wir nun die                          eine Anwendung absetzt, so zu verändern, dass sie das Ver-
Integration des Index angehen.                                                    halten eines datenbankinternen Index nachahmt. Die Anfra-
  Technisch ist zur Integration von Cardigo nichts weiter                         ge aus Listing 1 könnte nun, wie in Listing 4 aufgezeigt, um
nötig, als ein geänderter Verbindungsparameter für die An-                        das Primärschlüsselattribut erweitert werden.
wendung. Dieser bewirkt, dass anstelle des originalen JDBC-
Treibers nun Cardigo geladen wird. Der Aufbau dieser ver-
änderten Umgebung ist in Abbildung 2 verdeutlicht.                                Listing 4: SQL-Anfrage, die um die Ergebnisse eines
                                                                                  externen Index erweitert wurde
                                                                          SELECT        ∗
                                                                                   FROM          mitarb
                                                                                   WHERE         gehalt > 2000
                                  




                                                                                           AND id IN (4, 18)
                                  
                                  




                                                                                     Dieses Vorgehen vertraut darauf, dass der Optimierer des
                  

                                  




                                                                         Datenbanksystems erkennt, dass es sich bei den Werten in
                                                                           der IN-Klausel um Primärschlüssel handelt. Er muss diese
          




                                                                          möglichst am Anfang der Anfrageverarbeitung einbeziehen,
                                                                                  um die Menge der zu untersuchenden Tupel zu minimieren.
                                                                           Durch Tests haben wir herausgefunden, dass die Anzahl
                   
                                                                                  der in IN-Listen enthaltenen Elemente eine Obergrenze hat.
                                                                                  Durch die Disjunktion mehrerer IN-Listen kann diese zu ei-
                                                                        nem gewissen Grad ausgeglichen werden. Somit ist es mög-
                                                                                  lich, sehr lange Anfragen zu erzeugen, Allerdings gibt es auch
                                                                eine Grenze für die maximale, vom Datenbanksystem zuge-
                                                                lassene, Anfragelänge. Bei IBM DB2 und Oracle ist diese
                                                                                  Maximallänge bspw. 64kB [8, 16].
                                                                             Ein weiterer Aspekt, der bei diesen langen Anfragen be-
                                                                                  trachtet werden muss, ist, dass diese vom Datenbanksystem
                                                                                  auch geparst werden. Werden die Anfragen lang, so stei-
Abbildung 2: Anwendung, die Cardigo durch einen                                   gen auch deren Parsezeiten, selbst optimistisch betrachtet
veränderten Kommunikationsparameter nutzt. Der                                    ist dieser Zusammenhang linear. Auch systematisch bedingt,
Code, den ein Nutzer schreibt, umfasst typischer-                                 ist, dass der Optimierer zu lange und viele IN-Listen nicht
weise nicht den gesamten API-Umfang von JDBC,                                     beachtet, selbst wenn es sich um Primärschlüssel handelt.
weshalb er hier nicht über die gesamte Breite dar-                                Mit Hinweisen an den Optimierer kann hier gegengesteuert
gestellt ist. Exemplarisch sind die in Listing 3 ver-                             werden. Zusammenfassend lässt sich aber sagen, dass ab ei-
wendeten Methoden dargestellt.                                                    ner gewissen Anfragelänge, der Gewinn durch den Index sich
                                                                                  im schlechtesten Falle sogar ins Gegenteil verkehren kann.
                                                                                     Um diese Beschränkungen zu umgehen, können die Er-
                                                                                  gebnisse des Index auch in eine Tabelle in der Datenbank
3. INTEGRATION                                                                    eingefügt werden. Hier gibt es wieder mehrere Möglichkei-
Bevor wir die Integration des Index weiter betrachten, wol-                       ten:
len wir kurz darauf eingehen, wie ein in ein Datenbanksys-
tem integrierter Index arbeitet: Wird eine Anfrage an die                           1. Einfügen in eine Tabelle, die angelegt ist
Datenbank gestellt und treffen einige der verwendeten At-                           2. Einfügen in eine temporäre Tabelle
tribute die im Index enthaltenen, so wird der Index verwen-
det. Dabei wird die Anfrage vom Index bearbeitet und im                           In beiden Fällen muss allerdings die Datenbank in der Wei-
Ergebnis entsteht einen Liste von Ergebniskandidaten. Die-                        se modifiziert werden, dass die Anwendung, in die der In-
se können in Form von RowIDs [3] oder auch einfach als                            dex integriert wurde, das Recht hat, auf diese Tabellen zu
Primärschlüssel vorliegen. Das Datenbanksystem überprüft                          schreiben. Die Tabellen müssen prinzipiell eine Spalte für
dann nur noch die Datensätze, deren Identifikatoren der In-                       die Anfrage und eine Spalte für die Ergebnisse des Index
dex als Ergebnis lieferte. Auf diese Art wird der Aufwand,                        besitzen.
den das Datenbanksystem beim Laden der Datensätze und                               Werden über eine Sitzung Anfragen nur sequenziell be-
ihrer Verifikation hat, erheblich verringert [10].                                arbeitet, haben temporäre Tabellen den Vorteil, dass zwi-
   Im Folgenden wird zunächst die logische Integration be-                        schen verschiedenen Datenbanksitzungen nicht mittels der
trachtet, d. h., wie es überhaupt möglich ist, Ergebnisse eines                   eben beschriebenen zusätzlichen AnfrageID-Spalte in dieser



                                                                                                                                             85
Minimal-Invasive Indexintegration - Transparente Datenbankbeschleunigung

Tabelle unterschieden werden muss. Das ist darin begrün-         4.   ERGEBNISSE UND AUSBLICK
det, dass temporäre Tabellen für jede Sitzung als leere neue     Das hier beschriebene System war bereits erfolgreich im Ein-
Tabellen erscheinen. Die Aktionen einer Sitzung wirken sich      satz. Die Latenzen für das reine Abfangen der Datenban-
nicht auf den Inhalt der temporären Tabelle in einer anderen     kaufrufe bewegen sich im einstelligen Mikrosekundenbereich,
Sitzung aus.                                                     also dem, was für einen Funktionsaufruf erwartet werden
  Ein bisher nicht zur Sprache gekommener Punkt ist das          kann. Hinzu kommt die Zeit für die Indexanfrage. Für einen
Aktualisieren des Index. Natürlich muss ein datenbankexter-      realen Gewinn muss natürlich die Zeit für die Integrati-
ner Index über INSERT-, UPDATE- und DELETE-Operationen           on, die Indexanfrage und den Einbau der Ergebnisse in das
informiert werden. Der einfachste Weg ist, wenn alle Ope-        Statement in Summe geringer sein, als die einer Anfrage oh-
rationen, die auf der Datenbank laufen, über die gleiche ab-     ne den externen Index.
gefangene Schnittstelle gehen und so direkt gelesen werden          Es zeigte sich auch, dass, wird eine Integration über Ta-
können. In der Realität ist dies jedoch unpraktisch, da die-     bellen angestrebt, es verschiedene Arten gibt, die Ergebnisse
se Voraussetzung nicht zu 100% gewährleistet werden kann.        aus der Ergebnistabelle zu entfernen. In 3.1 wurden die ver-
Trigger sind eine Variante, wie Veränderungen in der Daten-      schiedenen Arten von Tabellen hierfür beschrieben. Wenn
bank nach außen gereicht werden können, diese müssen je-         keine Spalte für die AnfrageID verwendet werden muss, so
doch integriert werden dürfen. Hier ergeben sich damit auch      können die Ergebnisse mit einem TRUNCATE entfernt werden.
Grenzen, über die hinaus unser Ansatz nicht angewendet           Dieses wird erheblich schneller ausgeführt, als ein DELETE
werden kann. Eine andere Möglichkeit sind statische Daten-       FROM ... WHERE anfrage_id == .
haltungen, die nur in definierten Zeitabschnitten aktualisiert      Unsere weitere Arbeit beschränkt sich nicht nur auf eine
werden, bspw. einmal pro Monat. Hier kann ein statischer         Integration in JDBC, die wir hier aufgezeigt haben, sondern
Index genutzt werden, der über eine simple Zeitsteuerung         geht auch darüberhinaus auf native Datenbanktreiber ein,
aktualisiert wird.                                               die dann jedoch herstellerspezifisch sind. Hier müssen andere
                                                                 Mechanismen angewandt werden, eine Integration elegant zu
3.2 Programmtechnische Integration                               vollziehen, die Prinzipien bleiben jedoch die gleichen. Auch
Oft halten sich Anwendungsprogrammierer an die Beispiele         der bereits vorgestellte Ansatz, einen Proxy zu integrieren,
der Autoren der jeweiligen Datenbankschnittstelle. Jedoch        der das Protokoll, welches das Datenbanksystem im Netz-
erlauben alle APIs auch eine freiere Nutzung, d. h., dass die    werk verwendet, versteht, wurde weitergeführt und zeigte
Schrittfolge der Kommandos nicht festgelegt ist und es ver-      sich bereits im Einsatz als wertvolle Hilfe. Das oben bereits
schiedene Gründe geben kann, die so aufgezeigten Standar-        erwähnte Cardigo dient uns dabei als Werkzeugkasten, der
droutinen zu verwerfen. Listing 3 zeigt zunächst einen Stan-     alle diese Möglichkeiten vereint.
dardweg auf. Für diesen wollen wir nun die Schritte, die ein
datenbankexterner Index verfolgen kann, aufzeigen:
     • Statement vorbereiten (conn.prepareStatement(...)):
         if Anfrage relevant then
             Anfrage speichern
         end if
     • Variablen binden (ps.setInt(...)):
         if Anfrage war relevant then
             Bindung speichern
         end if
     • Statement ausführen (ps.executeQuery()):
         if Anfrage war relevant then
             Index anfragen
             Indexergebnisse in DB laden
             Anfrage modifizieren
             Datenbank anfragen
         end if
     • Ergebnisse holen (rs.getString(...)):
         hier sind keine weiteren Schritte notwendig
   Beobachtungen an realen Programmen zeigen, dass das
Binden von Variablen teils mehrfach auf die gleichen Varia-
blen angewendet wird. Mit dem eben beschriebenen Verfah-
ren ist dies kein Problem. Auch Operationen, die ein State-
ment näher beschreiben, sind nach wie vor ausführbar, da
alle Bestandteile erhalten bleiben und nur Ergänzungen vor-
genommen werden.




86
                                        Minimal-Invasive Indexintegration - Transparente Datenbankbeschleunigung

5. LITERATUR                                                      example and in detail, IBM Developer works DB2
                                                                  library. Dec. 2003.
 [1] A. Adam, S. Leuoth, and W. Benn. Nutzung von            [21] Thedwick, LLC. jdbcgrabber. http://code.google.
     Proxys zur Ergänzung von Datenbankfunktionen. In             com/p/jdbcgrabber/.
     W.-T. Balke and C. Lofi, editors, Grundlagen von
                                                             [22] C. Wege. Steps out of Integration Hell - Protocol
     Datenbanken, volume 581 of CEUR Workshop
                                                                  Interception Wrapper. In A. Rüping, J. Eckstein, and
     Proceedings. CEUR-WS.org, 2010.
                                                                  C. Schwanninger, editors, EuroPLoP, pages 455–458.
 [2] E. Belden, T. Chorma, D. Das, Y. Hu, S. Kotsovolos,          UVK - Universitaetsverlag Konstanz, 2001.
     G. Lee, R. Leyderman, S. Mavris, V. Moore, M. Morsi,
     C. Murray, D. Raphaely, H. Slattery, S. Sundara, and
     A. Yoaz. Oracle Database Data Cartridge Developers
     Guide, 11g Release 2 (11.2). Oracle, July 2009.
 [3] P. Bruni, F. Bortoletto, R. Kalyanasundaram,
     G. McGeoch, R. Miller, C. Molaro, Y. Ohmori, and
     M. Parbs. DB2 10 for z/OS Performance Topics. IBM
     Form Number SG24-7942-00, IBM Redbooks, June
     2011.
 [4] Desloch et al. PatNr. US 6,338,056 B1 – Relational
     Database Extender that Supports User-Defined Index
     Types and User-Defined Search, Apr. 1999.
 [5] R. Elmasri and S. B. Navathe. Grundlagen von
     Datenbanksystemen (3. Aufl., Bachelorausgabe).
     Pearson Studium, 2009.
 [6] M. Fisher, J. Ellis, and J. C. Bruce. JDBC API
     Tutorial and Reference. Pearson Education, 3 edition,
     2003.
 [7] E. Gamma, R. Helm, R. Johnson, and J. Vlissides.
     Design Patterns. Addison-Wesley, Boston, MA,
     January 1995.
 [8] IBM. SQL Reference, Volume 1. IBM Corporation,
     Nov. 2009.
 [9] IBM Deutschland GmbH. DB2 Spatial Extender und
     Geodetic Data Management Feature – Benutzer- und
     Referenzhandbuch, July 2006.
[10] T. Lahdenmäki and M. Leach. Relational database
     index design and the optimizers: DB2, Oracle, SQL
     server, et al. Wiley-Interscience, 2005.
[11] T. Langner and D. Reiberg. J2EE und JBoss:
     Grundlagen und Profiwissen ; verteilte
     Enterprise-Applikationen auf Basis von J2EE, JBoss
     & Eclipse. Hanser, 2006.
[12] D. Lorentz and M. B. Roeser. Oracle Database SQL
     Language Reference, 11g Release 2 (11.2). Oracle,
     Oct. 2009.
[13] A. Martin and J. Goke. P6spy. http://sourceforge.
     net/projects/p6spy/.
[14] C. Murray. Oracle Spatial Developers Guide, 11g
     Release 2 (11.2). Oracle, Dec. 2009.
[15] G. Reese. Database Programming with JDBC and
     Java, Second Edition. O’Reilly & Associates, Inc.,
     Sebastopol, CA, USA, 2nd edition, 2000.
[16] B. Rich. Oracle Database Reference, 11g Release 2
     (11.2), Sept. 2011.
[17] G. Saake, K.-U. Sattler, and A. Heuer. Datenbanken:
     Konzepte und Sprachen, 3. Auflage. mitp-Verlag,
     Redline GmbH, 2008.
[18] J. Shewmaker. Analyzing dll injection, 2006. GSM
     Presentation, Bluenotch.
[19] M. Smedberg. Boilerplate JDBC Wrapper. http://
     blog.redfin.com/devblog/2011/03/boilerplate_
     jdbc_wrapper.html.
[20] K. Stolze and T. Steinbach. DB2 Index Extensions by



                                                                                                                    87
88
        Self-Tuning Distribution of DB-Operations on Hybrid
                        CPU/GPU Platforms

             Sebastian Breß                              Siba Mohammad                           Eike Schallehn
       Otto-von-Guericke University                 Otto-von-Guericke University           Otto-von-Guericke University
               Magdeburg                                    Magdeburg                               Magdeburg
      bress@iti.cs.uni-magdeburg.de                 siba.mohammad@st.ovgu.de               eike@iti.cs.uni-magdeburg.de


ABSTRACT                                                              1.1   New Research Trend
A current research trend focuses on accelerating database                A new research trend focuses on speeding up database
operations with the help of GPUs (Graphics Processing Units).         operations by performing them on GPUs [4, 6, 13, 14].
Since GPU algorithms are not necessarily faster than their               He et al. present the concept and implementation of rela-
CPU counterparts, it is important to use them only if they            tional joins on GPUs [6, 7]. Pirk et al. develop an approach
outperform their CPU counterparts. In this paper, we ad-              to accelerate indexed foreign key joins with GPUs [13]. The
dress this problem by constructing a decision model for a             foreign keys are streamed over the PCIe bus while random
framework that is able to distribute database operations re-          lookups are performed on the GPU. Walkowiak et al. dis-
sponse time minimal on CPUs and GPUs. Furthermore,                    cuss the usability of GPUs for databases [14]. They show the
we discuss necessary quality measures for evaluating our              applicability on the basis of an n-gram based text search en-
model.                                                                gine. Bakkum et al. develop a concept and implementation
                                                                      of the SQLite command processor on the GPU [4]. The main
                                                                      target of their work is the acceleration of a subset of pos-
1.   INTRODUCTION                                                     sible SQL queries. Govindaraju et al. present an approach
   In the context of database tuning, there are many differ-          to accelerate selections and aggregations with the help of
ent approaches for performance optimization. A new oppor-             GPUs [5]. From the examples, we can conclude that a GPU
tunity for optimization was introduced with General Pur-              can be an effective coprocessor for the execution of database
pose Computation on Graphics Processing Units (GPGPU)                 operations.
[12]. This approach allows to speed up applications that are
suited for parallel processing with the help of GPUs. Parallel        1.2   Problem Statement
computing architectures like compute unified device archi-               We assume that an operation is executed through an algo-
tecture (CUDA) [12] make it possible to program a GPU                 rithm which uses either CPU or GPU. For which operations
almost as simple as a CPU. This technology opens a new                and data is it efficient to execute database operations on a
branch in research that focuses on accelerating applications          GPU? A GPU algorithm can be faster or slower as its CPU
using GPUs.                                                           counterpart. Therefore, the GPU should be used in a mean-
   CPUs are optimized for a low response time, meaning                ingful way to achieve maximal performance. That means,
that they execute one task as fast as possible. The GPU               only if it is to be expected that the GPU algorithm is faster
is optimized for high throughput, meaning they execute as             it should be executed.
many tasks as possible in a fixed time. This is accom-                   We do not know a priori which processing device (CPU
plished by massively parallel execution of programs by using          or GPU) is faster for which datasets in a given hardware
multi threading. Furthermore, GPUs specialize on compute-             configuration. We have to take different requirements into
intensive tasks, which is typical for graphics applications.          account to determine the fastest processing device:
Additionally, tasks with much control flow decrease perfor-
                                                                         • the operation to be executed,
mance on GPUs, but can be handled well by CPUs [12].
Consequently, database operations benefit differently by us-             • the size of the dataset to process,
ing the GPU. Aggregations are most suited for GPU usage,
whereas selections should be outsourced with care. He et al.             • the processing power of CPU and GPU (number of
observed that selections are 2-3 times slower on the GPU                   processor cores, clock rate), and
compared with the CPU [6].                                               • the current load condition on CPU and GPU.
                                                                        The following contributions are discussed in the following:
                                                                        1. A response time minimal distribution of database op-
                                                                           erations on CPUs and GPUs can achieve shorter exe-
                                                                           cution times for operations and speedup query execu-
                                                                           tions. Hence, a basic idea how such a model can be
                                                                           constructed is depicted in this paper.
24th GI-Workshop on Foundations of Databases (Grundlagen von Daten-
banken), 29.05.2012 - 01.06.2012, Lübbenau, Germany.                    2. For the evaluation of our model, we define appropriate
Copyright is held by the author/owner(s).                                  quality measures.



                                                                                                                                89
Self-Tuning Distribution of DB-Operations on Hybrid CPU/GPU Platforms

   To the best of our knowledge, there is no self-tuning deci-   mation function FA (D).
sion model that can distribute database operations response         Model Components: The model is composed of three
time minimal on CPUs and GPUs.                                   components. The first is the algorithm pool APO which
   The remainder of the paper is structured as follows. In       contains all available algorithm of an operation O. The sec-
Section 2, we present our decision model. Then, we discuss       ond is the estimation component which computes execution
model quality metrics needed for evaluation in Section 3.        time estimations for every algorithm of an operation. The
Section 4 provides background about related work. Finally,       third part is the decision component which chooses the al-
we present our conclusion and future work.                       gorithm that fits best for the specified optimization criteria.
                                                                 Depending on whether the chosen algorithm uses the CPU
2.    DECISION MODEL                                             or the GPU, the corresponding operation is executed on the
                                                                 CPU or the GPU. In this paper, we only consider response
  In this section, we present our decision model. At first,
                                                                 time optimization. However, other optimization criteria like
we discuss the basic model. Then, we explain details of the
                                                                 throughput can be added in future work. Figure 1 summa-
estimation and the decision components.
                                                                 rizes the model structure.
2.1   Basic Model                                                2.2     Estimation Component
   We construct a model that is able to choose the response
                                                                    This section describes the functionality of the estimation
time minimal algorithm from a set of algorithms for process-
                                                                 component. First, we discuss when the approximation func-
ing a dataset D. We store observations of past algorithm
                                                                 tions of the algorithms should be updated. Second, we ex-
executions and use statistical methods to interpolate future
                                                                 amine how the model can adapt to load changes.
execution times. We choose the algorithm with the smallest
estimated execution time for processing a dataset.               2.2.1    Updating the Approximation Functions
   Definitions: Let O be a database operation and let APO =
                                                                    For an operation O that will be applied on a dataset D
{A1 , .., Am } be an algorithm pool for operation O, i.e., a
                                                                 the estimation component computes for each available algo-
set of algorithms that is available for the execution of O.
                                                                 rithm of O an estimated execution time. For this, we need
We assume that every algorithm has different performance
                                                                 an approximation function that can be used to compute esti-
characteristics. Hence, the execution times of different al-
                                                                 mations. Since we learn such functions with statistical meth-
gorithms needed to process a dataset D are likely to vary.
                                                                 ods, we need a number of observations for each algorithm
A data set D provides characteristic features of the input
                                                                 to compute the corresponding approximation functions. Af-
data. In this paper, we consider only the data size. Other
                                                                 ter we computed an initial function for each algorithm, our
characteristics, e.g., data distribution or data types will be
                                                                 model is used to make decisions. Hence, the model opera-
considered in future work.
                                                                 tion can be divided into two phases. The first is the initial
   Let TA (D) be the execution time of an algorithm to pro-
                                                                 training phase. The second is the operational phase.
cess the dataset D. We do not consider hardware specific
                                                                    Since the load condition can change over time, execution
parameters like clock rate and number of processor cores to
                                                                 times of algorithms are likely to change as well. Hence, the
estimate execution times. Instead, we learn the execution
                                                                 model should provide a mechanism for an adoption to load
behavior of every algorithm. For this purpose, we assign to
                                                                 changes. Therefore, the model continuously collects mea-
every algorithm A a learning method LA and a correspond-
                                                                 surement pairs of all executed algorithms of an operation.
ing approximation function FA (D). Let Test (A, D)=FA (D)
                                                                    There are two problems to solve:
be an estimated execution time of algorithm A for a dataset
D. A measured execution time is referred to as Treal (A, D).       1. Re-computation Problem: find a strategy when to
Let a measurement pair (MP) be a tuple (D,Treal (A, D)).              re-compute the approximation function for each algo-
Let M P LA be a measurement pair list, containing all cur-            rithm, so that a good trade-off between accuracy and
rent measurement pairs of algorithm A.                                overhead is achieved.
   Statistical Methods: We consider the following statis-
tical methods for the approximation of the execution be-           2. Cleanup Problem: delete outdated measurements
havior of all algorithms. The first one is the least squares          pairs from a measurement pair list because the consi-
method and the second is spline interpolation with cubic              deration of measurement pairs from past load condi-
splines [3]. We use these approaches because we observe in            tions is likely to be less beneficial for estimation ac-
our experiments minimal overhead and a good accuracy (rel-            curacy. Furthermore, every measurement pair needs
ative error < 10%) of the estimated execution times. While            storage space and results in higher processing time for
other methods can learn the execution behavior depending              the statistical methods.
on more than one feature, they often need a large amount of
time for updating approximation functions and computing            There are different heuristics that deal with the re-com-
estimations, see Section 4. In the case of the least square      putation of approximation functions. Zhang et al. present
method FA (D) is a polynomial of degree n. In the case of        possible approaches in [15]. These are:
cubic splines, FA (D) is a spline.
   Abstraction: The execution time of algorithms is highly         1. Re-compute the approximation function always after a
dependent on specific parameters of the given processing              new measurement pair was added to the measurement
hardware. In practice, it is problematic to manage all pa-            pair list.
rameters, so maintenance would become even more costly.            2. Re-compute the approximation function periodically.
Hence, we do not consider hardware specific parameters and
let the model learn the execution behavior of algorithms us-       3. Re-compute the approximation function, if the estima-
ing statistical method LA and the corresponding approxi-              tion error exceeds a certain threshold.



90
                                            Self-Tuning Distribution of DB-Operations on Hybrid CPU/GPU Platforms

                       operation O                    dataset D                      optimization criterion
                                     A1,                                Test(A1,D),
                                     A2,...,                            Test(A2,D),...,
                      algorithm pool An      estimation component Test(An,D)
                      CPU       GPU           MPLA1 ... MPLAi ... MPLAn
                                                                                        decision component

                                                                        MP=(D,Treal(Ai))
                                                                                                Ai

                                         Figure 1: Information flow in the model


   As Zhang et al. point out, the most aggressive method is         Self Tuning Cycle: The model performs the following
unlikely to achieve good results because the expected over-       self tuning cycle during the operational phase:
head for re-computing the approximation function counter-
acts possible performance gains. Hence, we have to choose              1. Use approximation functions to compute execution time
between approach 2 and 3. There is no guarantee that one                  estimations for all algorithms in the algorithm pool of
approach causes less overhead than the other.                             operation O for the dataset D.
   On one hand, periodic re-computation causes a predictable
overhead, but it may re-compute approximation functions                2. Select the algorithm with the minimal estimated re-
when it is not necessary, e.g., the relative estimation error             sponse time.
is still beneath an error threshold. On the other hand, an
                                                                       3. Execute the selected algorithm and measure its execu-
event based approach re-computes the approximation func-
                                                                          tion time. Add the new measurement pair to the mea-
tions only if it is necessary, but has the disadvantage, that
                                                                          surement pair list M P LA of the executed algorithm
the quality of estimations has to decrease until the approx-
                                                                          A.
imation functions are re-computed. We choose the periodic
approach, because of it’s predictable overhead. We will con-           4. If the new measurement pair is the RCR new pair in
sider the event based approach in future work.                            the list, then the approximation function of the cor-
   Parameters: Now we discuss necessary parameters of                     responding algorithm will be re-computed using the
the model. Let RCR be the re-computation rate of an algo-                 assigned statistical method.
rithm. That means that after RCR measurement pairs were
added to the measurement pair list of an algorithm A, the          2.2.2 Adaption to Load Changes
approximation function FA (D) of A is re-computed.1 Hence,           This section focuses on the adaption to load changes of the
the used time measure is the number of added measurement          model. We start with necessary assumptions, then proceed
pairs. Let ITL be the initial training length, which is the       with the discussion how the model can adapt to new load
number of measurement pairs that have to be collected for         conditions.
each algorithm, before the model switches into its opera-            Let ACP U be a CPU algorithm and AGP U a GPU algo-
tional phase.                                                     rithm for the same operation O.
   Now we address the Cleanup Problem. We have to limit              The basic assumptions are:
the number of measurement pairs in the measurement pair
list to keep space and computation requirements low. Fur-              1. Every algorithm is executed on a regular basis, even in
thermore, we want to delete old measurement pairs from the                overload conditions. That ensures a continuing supply
list that do not contribute to our current estimation problem             of new measurement pairs. If this assumption holds
sufficiently. These requirements are fulfilled by a ring buffer           then a gradual adaption of the approximation func-
data structure. Let RBS be the ring buffer size in number of              tions to a changed load condition is possible.
measurement pairs. If a new measurement pair is added to
a full ring buffer, it overrides the oldest measurement pair.          2. A change in the load condition has to last a certain
Hence, the usage of a ring buffer solves the Cleanup Problem.             amount of time, otherwise the model cannot adapt
RCR and RBS are related because if RCR is greater than                    and delivers more vague execution time estimations.
RBS there would be measurement pairs that are never con-                  If this assumption does not hold, it is not possible to
sidered for computing the approximation functions. Hence,                 continuously deliver good estimations.
RCR should be smaller than RBS .
   Statistical Methods: The used statistical methods have              3. The load condition of CPU and GPU are not related.
to be computationally efficient when computing approxima-
tion functions and estimation values. Additionally, they             As long as the assumptions are fulfilled, the estimated exe-
should provide good estimations (relative estimation error        cution time curves2 approach the real execution time curves
<10%). Since the times needed to compute estimations              if the load changes. Increase and decrease of the load con-
sums up over time, we consider a method computationally           dition on the side of the CPU is symmetric compared to an
efficient if it can compute one estimation value in less than     equivalent change on the side of the GPU. For simplicity, but
50µs. Our experiments with the ALGLIB [2] show that this          without the loss of generality, we discuss the load adaption
is the case for the least squares and cubic splines.              mechanism for the CPU side.
                                                                   2
                                                                   An execution time curve is the graphical representation of
1
  For each operation one measurement pair is added to the         all execution times an algorithm needs to process all datasets
list of the selected algorithm.                                   in a workload.



                                                                                                                              91
Self-Tuning Distribution of DB-Operations on Hybrid CPU/GPU Platforms



                         Treal(AGPU,D)                                                     Treal(AGPU,D)
                         Treal(ACPU,D)                                                     Treal(ACPU,D)
                         Test (ACPU,D)                                                     Test (ACPU,D)
        execution time




                                                                          execution time
                                         data size                                                         data size



Figure 2: Example for increase load condition on                 Figure 3: Example for strong increase of load on
CPU side                                                         CPU side


   Increasing Load Condition: If the load condition in-          2.3     Decision Component
creases on the side of the CPU then the execution times of          In this section, we describe the decision component of our
CPU algorithms increase and the real execution time curves       model. Due to limited space, we introduce only one opti-
are shifted upwards. In contrast, the estimated execution        mization criterion, namely response time, but other criteria
time curves stay as they are. We illustrate this situation in    like throughput are possible.
Figure 2. The model is adapted to the new load condition
by collecting new measurement pairs and recomputing the          2.3.1       Response Time Optimization
approximation function. This will shift the estimated execu-        If we optimize the operation execution for response time,
tion time curve in the direction of the measured execution       we want to select the algorithm with the minimal execu-
time curve. Hence, the estimations become more precise.          tion time for the dataset D. In choosing the algorithm with
After at maximum RCR newly added measurement pairs               the minimal execution time, we distribute the operation re-
for one algorithm the estimated execution time curve ap-         sponse time minimal to CPU and GPU. There is always one
proaches the real execution time curve. This implies the as-     decision per operation that considers the size of the dataset
sumption that a re-computation of approximation functions        that has to be processed.
never has a negative impact on the estimation accuracy.             Definition: Let a workload W be a tuple W = (DS, O),
   Decreasing Load Condition: The case of a decreasing           where DS = D1 , D2 , · · · , Dn is a set of datasets Di that are
load is mostly symmetric to the case of increased load. A        to be processed and O the operation to be executed.3
decreased load on CPU side causes shorter execution time            Goal: The goal is to choose the fastest algorithm Aj ∈
of CPU algorithms. The consequence is that real execution        APO for every dataset Di ∈ DS for the execution of opera-
time curves are shifted downwards, whereas the estimated         tion O.
execution time curves stay as they are.
   Limits of the Adaption: There is the possibility that                                    X
the described load adaption scheme can break, if the load                    min =                  Treal (Ak , Di ) with Ak ∈ APO   (1)
on CPU side increases or decreases too much. We consider                                   Di ∈DS

the case, where the load increases too much, the other case        Usage: The algorithm with the minimal estimated exe-
is symmetric. In Figure 3, we illustrate the former case.        cution time for the dataset D is chosen for execution. The
Hence, the real execution time curve of ACP U lies above the     function choose Algorithm (choose Alg) chooses an algorithm
real execution time curve of AGP U .                             according to the optimization criterion.
   If this state continues to reside a certain amount of time,
the estimated execution time curves will approach the real
execution time curves. If the load condition normalizes             choose Alg(D, O) = Aj with                                       (2)
again, then only algorithm AGP U is executed, regardless of                     Test (Aj , D) = min({Test (Ak , D)|∀Ak ∈ APO })
datasets that can be faster processed by algorithm ACP U .
The model is now stuck in an erroneous state since it can-         It is expected that the accuracy of the estimated execution
not make response time minimal decisions for operation O         times has a large impact on the decisions and the model
anymore.                                                         quality.
   However, this cannot happen due to the assumption that          Practical Use: The execution of the fastest algorithm
every algorithm is executed on a regular basis, even in over-    reduces the response time of the system and results in better
load conditions. Hence, a continuing supply of new mea-          performance of a DBS. These response time optimization is
surement pairs is ensured which allows the adaption of the       necessary to accelerate time critical tasks4 . Furthermore, it
                                                                 3
model to the current load condition.                               For simplicity, we only consider one operation per work-
                                                                 load. However, a set of operations is more realistic and can
                                                                 be added in future work.
                                                                 4
                                                                   A task is an operation in execution.



92
                                           Self-Tuning Distribution of DB-Operations on Hybrid CPU/GPU Platforms

is possible to automatically fine-tune algorithm selection on      Let DMideal be the ideal decision model and let DMreal
a specific hardware configuration.                               be the real decision model. Then, the model quality MQ is
                                                                 defined as:
3.    MODEL QUALITY CRITERIA
  In this section, we present four model quality measures,                                         TDMideal (W )
                                                                              M Q(W, DMreal ) =                            (5)
namely average percentage estimation error, hit rate, model                                        TDMreal (W )
quality, and percentage speed increase.                            This measure describes to which degree the optimization
                                                                 goal described in formula 1 is achieved. Note, that the ideal
3.1   Average Percentage Estimation Error                        model is not introducing overhead (TOh (DMideal , W ) = 0).
   The idea of the average percentage estimation error is to
compute the estimation error for each executed algorithm         3.4    Percentage Speed Increase
and the corresponding estimation value. Then, the abso-
                                                                    The idea of the percentage speed increase (PSI) is to quan-
lute percentage estimation error is computed. Finally, the
                                                                 tify the performance gain, if a decision model DMi is re-
average of all computed percentage estimation errors is com-
                                                                 placed with a decision model DMj .
puted. This measure is also called relative error and is used,
e.g., in [1].
                                                                                                TDMi (W ) − TDMj (W )
                                                                      P SI(DMi → DMj , W ) =                               (6)
3.2   Hit Rate                                                                                        TDMi (W )
   The idea of this measure is to compute the ratio of the
                                                                 If P SI(DMi → DMj , W ) is greater than zero, DMj had a
number of correct decisions and the total number of deci-
                                                                 better performance than DMi and vice versa.
sions. A decision is correct, if and only if the model decided
for the fastest algorithm. In the ideal case all decisions are
correct, so the hit rate is 100%. In the worst case all de-      4.    RELATED WORK
cisions are wrong. Hence, the hit rate is 0%. The benefit           In this section, we present the related work. We con-
of the hit rate is that it can provide statistical information   sider analytical models for estimating execution times of
about how many decisions are wrong. If the hit rate is X         GPU algorithms. Furthermore, we discuss learning based
then every 1/(1-X) decision is incorrect. However, we can-       approaches to estimate execution times. Finally, we present
not quantify the impact of an incorrect decision. This is        existing decision models and provide a comparison to our
addressed by the model quality. Note, that algorithms with       approach.
very similar execution time curves can lead to a bad hit rate,      Analytical Models Hong et al. present an analytical
although the overall performance is acceptable.                  model which estimates execution times of massively parallel
                                                                 programs [8]. The basic idea is to estimate the number of
3.3   Model Quality                                              parallel memory requests. The approach uses information
   The idea of the model quality is to compute the ratio of      like number of running threads and the memory bandwidth.
the resulting execution times that a system using an ideal       Depending on their case study, relative estimation errors
model and a real model needs to process a workload W .           between 5,4% and 13,3% are observed.
In the ideal case, the real model would be as good as the           Zhang et al. develop a model that should help optimizing
ideal model. Hence, the model quality is 100%. The worst         GPU programs by arranging qualitative performance analy-
case model would always select the slowest algorithm and         ses [16]. They use a micro benchmark-based approach which
provides a lower bound for the model quality.                    needs hardware specific parameters, e.g., the number of pro-
   Let TDM (W ) be the time a system using a decision model      cessors or the clock rate. The model cannot adapt to load
(DM ) needs to process a workload W . It is computed out of      changes and therefore, it is not considered for use in our ap-
the sum of all algorithm execution times resulting from the      proach. The observed relative estimation error lies between
algorithm selection of the decision model for the workload       5% and 15%.
added with the overhead caused by DM . Let TOh (DM, W )             Learning based Execution Time Estimation Akdere
be the overhead the decision model DM causes. If a decision      et al. investigate modeling techniques for analytical work-
model introduces to much overhead, it can eliminate their        loads [1]. They estimate the execution behavior of queries
gain. Hence the overhead has to be considered, which is the      on the basis of different granularities. They presented a
sum of the total time needed for computing estimation val-       modeling approach for the estimation on query level and
ues and the total time needed to re-compute approximation        operation level. The basic idea of their approach is to per-
functions. The time needed for all estimation value compu-       form a feature extraction on queries and compute execution
tation (EVC) for a workload W is TEVC (W ). The time needed      time estimations based on them.
to re-compute the approximation functions of all algorithms         Matsunaga et al. present a short overview over machine
is TRC (W ). Both measures are highly dependent on DM .          learning algorithms and their fields of application [11]. The
Hence, we get the following formulas:                            goal is the estimation of the resource usage for an applica-
                                                                 tion. One considered resource is the execution time. The
                                                                 developed method PQR2 needs a few milliseconds for the
 TOh (DM, W ) = TEVC (W ) + TRC (W )                 (3)         computation of estimations. Since we need for n datasets
                 X                                               and m algorithms n·m computations the time for a single
     TDM (W ) =       Treal (choose AlgDM (D, O), D) (4)
                                                                 computation should be less than 50µs to keep the overhead
                   D∈DS
                                                                 at an absolute minimum. Hence, the approach of Matsunaga
                + TOh (DM, W )                                   et al. is to be investigated, whether it achieves good results



                                                                                                                            93
Self-Tuning Distribution of DB-Operations on Hybrid CPU/GPU Platforms

for a response time minimal operation distribution. This           model from operations to queries is necessary for better ap-
can be done in future work.                                        plicability of our model. This leads to the problem of hybrid
   Zhang et al. present a model for predicting the costs of        query plan optimization.
complex XML queries [15]. They use the statistical learn-
ing method called ”transform regression technique”. The            6.   REFERENCES
approach allows a self-tuning query optimizer that can dy-
                                                                    [1] M. Akdere and U. Çetintemel. Learning-based query
namically adapt to load condition changes. The approach
                                                                        performance modeling and prediction. IEEE, 2012.
of Zhang and our model are similar in basic functionalities.
The difference to our approach is that Zhang et al. estimate        [2] ALGLIB Project. ALGLIB. http://www.alglib.net/,
the execution time of XML queries whereas our approach                  2012. [Online; accessed 05-January-2012].
estimates execution times of single database operations to          [3] P. R. Anthony Ralston. A first course in numerical
dynamically distribute them on CPU and GPU. Addition-                   analysis. dover publications, second edition, 2001.
ally, we use a different learning method that is optimized for      [4] P. Bakkum and K. Skadron. Accelerating sql database
computational efficiency.                                               operations on a gpu with cuda. GPGPU ’10, pages
   Decision Models Kerr et al. present a model that pre-                94–103, New York, NY, USA, 2010. ACM.
dicts the performance of similar application classes for differ-    [5] N. K. Govindaraju, B. Lloyd, W. Wang, M. Lin, and
ent processors [10]. The approach allows to choose between              D. Manocha. Fast computation of database operations
CPU and GPU implementation. This choice is made stat-                   using graphics processors. SIGMOD ’04, pages
ically in contrast to our work, where an algorithm for an               215–226, New York, NY, USA, 2004. ACM.
operation execution is chosen dynamically at runtime. Kerr          [6] B. He, M. Lu, K. Yang, R. Fang, N. K. Govindaraju,
et al. are using only parameters that are statically known              Q. Luo, and P. V. Sander. Relational query
before program execution. Hence, it allows no adaption to               coprocessing on graphics processors. ACM Trans.
load changes in contrast to our model that allows load adap-            Database Syst., 34:21:1–21:39, December 2009.
tion.                                                               [7] B. He, K. Yang, R. Fang, M. Lu, N. Govindaraju,
   Iverson et al. develop an approach that estimates execu-             Q. Luo, and P. Sander. Relational joins on graphics
tion times of tasks in the context of distributed systems [9].          processors. SIGMOD ’08, pages 511–524, New York,
The approach, similar to our model, does not require hard-              NY, USA, 2008. ACM.
ware specific information. They use the learning method k-          [8] S. Hong and H. Kim. An analytical model for a gpu
nearest-neighbor, a non-parametric regression method. We                architecture with memory-level and thread-level
use least squares and cubic splines that are parametric re-             parallelism awareness. ACM SIGARCH Computer
gression methods which need less time for computing esti-               Architecture News, 37(3):152, 2009.
mations compared to non parametric regression methods.              [9] M. A. Iverson, F. Ozguner, and G. J. Follen. Run-time
The goal of Iverson et al. is an optimal selection of nodes             statistical estimation of task execution times for
in a distributed system, where a task is executed. Unlike               heterogeneous distributed computing. HPDC ’96,
this approach, our work has the goal for optimal algorithm              pages 263–270, Washington, DC, USA, 1996. IEEE
selection. It is possible to apply the approach of Iverson et           Computer Society.
al. on hybrid CPU/GPU platform. However, we consider,              [10] A. Kerr, G. Diamos, and S. Yalamanchili. Modeling
the GPU is a coprocessor of the CPU. Hence, a CPU/GPU                   gpu-cpu workloads and systems. GPGPU ’10, pages
platform is not a distributed system from our point of view.            31–42, New York, NY, USA, 2010. ACM.
In a way, our model is less general than the model of Iverson
                                                                   [11] A. Matsunaga and J. A. B. Fortes. On the use of
et al.
                                                                        machine learning to predict the time and resources
                                                                        consumed by applications. CCGRID, pages 495–504,
5.   CONCLUSION                                                         2010.
   In this paper, we addressed a current research problem,         [12] NVIDIA. NVIDIA CUDA C Programming Guide.
namely the optimal distribution of database operations on               http://developer.download.nvidia.com/compute/
hybrid CPU/GPU platforms. Furthermore, we develop a                     DevZone/docs/html/C/doc/CUDA_C_Programming_
self-tuning decision model that is able to distribute database          Guide.pdf, 2012. pages 1–5, Version 4.0, [Online;
operations on CPUs and GPUs in a response time mini-                    accessed 1-February-2012].
mal manner. We discuss the basic structure of the model            [13] H. Pirk, S. Manegold, and M. Kersten. Accelerating
and provide a qualitative argumentation of how the model                foreign-key joins using asymmetric memory channels.
works. Additionally, we present suitable model quality mea-             ADMS ’11, pages 585–597. VLDB Endowment, 2011.
sures, which are required to evaluate our model. Our exper-        [14] S. Walkowiak, K. Wawruch, M. Nowotka, L. Ligowski,
iments show that our model is almost as good as the ideal               and W. Rudnicki. Exploring utilisation of gpu for
model if the model parameters are set appropriately. We                 database applications. Procedia Computer Science,
omit the evaluation due to limited space. We conclude that              1(1):505–513, 2010.
distributing database operations on CPUs and GPUs has              [15] N. Zhang, P. J. Haas, V. Josifovski, G. M. Lohman,
a large optimization potential. We believe our model is a               and C. Zhang. Statistical learning techniques for
further step to address this issue.                                     costing xml queries. VLDB ’05, pages 289–300. VLDB
   In ongoing research, we use the defined quality measures             Endowment, 2005.
to evaluate our model on suitable use cases. A further pos-
                                                                   [16] Y. Zhang and J. D. Owens. A quantitative
sible extension is using the model in a more general context,
                                                                        performance analysis model for gpu architectures.
where response-time optimal decisions have to be made, e.g.,
                                                                        Computer Engineering, pages 382–393, 2011.
an optimal index usage. Furthermore, an extension of the



94