<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>SLO-basiertes Management in relationalen Datenbanksystemen mit nativer Multi-Tenancy-Unterstützung</article-title>
      </title-group>
      <contrib-group>
        <aff id="aff0">
          <label>0</label>
          <institution>Design</institution>
          ,
          <addr-line>Management, Measurement</addr-line>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Friedrich-Schiller-Universität Jena Ernst-Abbe-Platz 2</institution>
          ,
          <addr-line>07743 Jena</addr-line>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>Relational Database, Multi Tenancy, Service Level Agreement</institution>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2012</year>
      </pub-date>
      <abstract>
        <p>Das an Bedeutung und Akzeptanz gewinnende Gescha¨ftsmodell Software as a Service ermo¨glicht Unternehmen die Konzentration auf ihr Kerngescha¨ft durch das Beziehen von Dienstleistungen u¨ber das Internet. Die Festlegung von Service Level Agreements gewa¨hrleistet eine hohe Qualita¨t des Dienstes. Um die operationalen Kosten des Service Providers gering zu halten, bedarf es des Einsatzes einer Multi-TenancyArchitektur, die zu neuen Herausforderungen fu¨r den Einsatz von Datenbankverwaltungssystemen fu¨hrt. In diesem Beitrag werden die Problemstellungen der Realisierung von Multi Tenancy in heutigen Datenbankverwaltungssystemen aufgezeigt und eine native Unterstu¨tzung von Multi Tenancy in jenen Systemen motiviert. Es wird hervorgehoben, dass die Integration von mandantenspezifischen Service Level Agreements zur Steigerung der Qualita¨t des Dienstes beitra¨gt. Hierzu wird die Verwendung dieser bereitgestellten Daten zur Ressourcenverwaltung und -u¨berwachung sowie der Lastverteilung von Mandanten verdeutlicht.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>KURZFASSUNG</title>
    </sec>
    <sec id="sec-2">
      <title>Kategorien und Themenbeschreibung</title>
      <p>H.2.7 [Database Management]: Database
Administration—Data dictionary/directory; H.2.1 [Database
Management]: Logical Design—Schema and subschema</p>
    </sec>
    <sec id="sec-3">
      <title>Allgemeine Begriffe</title>
    </sec>
    <sec id="sec-4">
      <title>Stichworte</title>
      <p>1.</p>
    </sec>
    <sec id="sec-5">
      <title>EINLEITUNG</title>
      <p>2.</p>
      <p>Die Architektur von SaaS-Angeboten ist in großem
Maße vom Gescha¨ftsmodell des Anbieters abha¨ngig. Sie wird
beispielsweise beeinflusst durch das zur Verfu¨gung stehende</p>
      <sec id="sec-5-1">
        <title>Isolation</title>
      </sec>
      <sec id="sec-5-2">
        <title>Bewertung niedrig hoch</title>
      </sec>
      <sec id="sec-5-3">
        <title>Hardware</title>
      </sec>
      <sec id="sec-5-4">
        <title>Virtuelle   Betriebssys-­ Datenbank-­</title>
      </sec>
      <sec id="sec-5-5">
        <title>Maschine temnutzer instanz</title>
      </sec>
      <sec id="sec-5-6">
        <title>Datenbank</title>
      </sec>
      <sec id="sec-5-7">
        <title>Schema  /  </title>
      </sec>
      <sec id="sec-5-8">
        <title>Tablespace</title>
      </sec>
      <sec id="sec-5-9">
        <title>Zeile</title>
        <p>Komplexität,   Ressourcenausnutzung,   max.   Mandantenanzahl,   Skalierbarkeit</p>
      </sec>
      <sec id="sec-5-10">
        <title>Kosten  je   Mandant,  Sicherheit,   Wartungsaufwand</title>
        <p>hoch
niedrig</p>
        <p>
          Abbildung 1: Ans¨atze zur Mandantenisolation im DB-Layer, angelehnt an [
          <xref ref-type="bibr" rid="ref19">19</xref>
          ]
Entwicklungskapital, den Zielmarkt sowie die Anzahl und
Charakteristika der Mandanten. Zu den Charakteristika
geho¨ren u.a. die beno¨tigte Datenmenge, die voraussichtliche
Workload und die Anforderungen der Mandanten bezu¨glich
Verfu¨gbarkeit, Performance, Datenisolation und
Individualisierung der Anwendung.
        </p>
        <p>
          Um die in der Einleitung motivierte hohe
Wirtschaftlichkeit eines SaaS-Angebots zu erzielen, werden vermehrt
Multi-Tenancy-Architekturen eingesetzt. Diese erlauben allen
Service-Nutzern die gemeinsame Verwendung von
HardwareRessourcen durch das Anbieten einer gemeinsamen
Anwendungsinstanz [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ]. Sowohl auf der Applikations- als auch der
Datenbankseite sind verschiedene Ansa¨tze zur Separierung
von Mandanten denkbar.
2.1
        </p>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>Multi Tenancy in DBMS</title>
      <p>Es existiert ein breites Realisierungspektrum fu¨r Multi
Tenancy in einem Datenbankserver. In Abbildung 1 werden
die wichtigsten Ansa¨tze zusammengefasst sowie Vorteile und
Herausforderungen aufgezeigt. Neben der Mo¨glichkeit, auf
eine Mandantenkonsolidierung zu verzichten (Separate
Hardware), ko¨nnen Mandanten beispielsweise durch die Zuweisung
separater virtueller Maschinen (Shared HW ), durch die
Nutzerverwaltung des Betriebssystems (Shared VM ) oder durch
die Verwendung getrennter Datenbankinstanzen (Shared OS
Level ) bzw. Datenbanken (Shared DB Instance) voneinander
isoliert und dennoch auf einem Datenbankserver verwaltet
werden. Aufgrund des initialen Ressourcenbedarfs und der
gesonderten Administration dedizierter Datenbanken,
Datenbankinstanzen, Betriebssysteme oder virtueller Maschinen
fu¨hren diese Ansa¨tze fu¨r den SasS-Anbieter zu hohen Kosten
je Mandant. Sie sollten daher nur bei zwingender
Notwendigkeit eines hohen Isolations- bzw. Sicherheitslevels oder bei
einer geringen Anzahl von Mandanten verwendet werden.</p>
      <p>
        Der Ansatz Shared Database erlaubt durch die
Mandantenkonsolidierung in einer Datenbank die gemeinsame Nutzung
von Datenbankprozessen und Hauptspeicherinhalten. Die
Zuweisung zu eigenen Datenbankobjekten wie Tabellen und
Indizes fu¨hrt bei Nutzung der Datenbankzugriffskontrollen
zu einer logischen Isolation der Mandanten. Durch die
Zuweisung der mandantenspezifischen Objekte zu separaten
Speicherorten (Tablespaces) kann zudem eine physische Trennung
erreicht werden. Das Hinzufu¨gen und Lo¨schen von
Mandanten sowie mandantenspezifische Schemaa¨nderungen bedu¨rfen
bei diesem Ansatz das Absetzen von DDL-Statements, die bei
einigen DBMS zu Problemen mit dem fortlaufenden Betrieb
fu¨hren ko¨nnen. Die hohe Anzahl an Tabellen fu¨hrt zudem
zu einem hohen Hauptspeicherbedarf sowie partiell gefu¨llten
Seiten des Datenbankpuffers. [
        <xref ref-type="bibr" rid="ref12 ref6">6, 12</xref>
        ]
      </p>
      <p>
        Bei dem Ansatz Shared Table werden Objekte der
Datenbank von Mandanten gemeinsam genutzt. Tabellen
enthalten somit Tupel verschiedener Mandanten, weshalb die
Verwendung einer zeilenbasierten Zugriffskontrolle no¨tig ist.
Eine zusa¨tzliche Tabellenspalte legt hierbei die
Zugeho¨rigkeit des Tupels zum entsprechenden Mandanten fest. Durch
den Verzicht auf mandantenspezifische Datenbankobjekte ist
die Gro¨ße des Datenbankkatalogs nahezu unabha¨ngig von
der Mandantenanzahl. Die maximale Anzahl unterstu¨tzter
Mandanten ist somit laut [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] lediglich durch die
maximale Anzahl unterstu¨tzter Tabellenzeilen beschra¨nkt, was den
Ansatz fu¨r das Bedienen des im Abschnitt 1 angesprochenen
Long Tails pra¨destiniert. Durch die hohe
Ressourcenausnutzung reduziert sich der Overhead bezu¨glich Fest- und
Hauptspeicherbedarf pro Mandant auf ein Minimum.
Administrative Operationen und Updates der Anwendung werden
bei diesem Ansatz in der Regel fu¨r alle Mandanten
ausgefu¨hrt, was den Wartungsaufwand des Anbieters reduziert,
die Individualita¨t des Services jedoch einschra¨nkt. So ko¨nnen
die in [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] angesprochenen individuellen Anforderungen von
Mandanten in Bezug auf Aspekte der
Datenbankadministration und -konfiguration wie Backup-Strategien und
Archivierungsintervalle, die Replikationsart und Replikatanzahl
oder Vorgaben zur Arbeitsweise des Datenbankoptimierers
nicht erfu¨llt werden. Aufgrund der Konsolidierung von vielen
Mandantendaten innerhalb einer Tabelle liegen die gro¨ßten
Herausforderungen dieses Ansatzes in der Gewa¨hrleistung
der Isolation der Mandantendaten und -Performance sowie
der Erarbeitung eines Datenbankschemas, welches den
Mandanten die Anpassung der vom SaaS-Anbieter zur Verfu¨gung
gestellten Anwendungen erlaubt.
2.2
      </p>
    </sec>
    <sec id="sec-7">
      <title>Schemaflexibilität</title>
      <p>
        Um seinen Service einer mo¨glichst breiten Zielgruppe
anbieten zu ko¨nnen, sind SaaS-Anbieter bemu¨ht, Mandanten
weitreichende Anpassungsmo¨glichkeiten zu bieten. Diese
umfassen laut [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] unter anderem eine Anpassung der
Benutzeroberfla¨che im Sinne eines Corporate Identity, die Anpassung
an Gescha¨ftsabla¨ufe durch Modifikation von Gescha¨ftsregeln,
individuelle Regelungen bezu¨glich der Zugangskontrollen
sowie die Mo¨glichkeit zur Erweiterung des Datenbankschemas
durch zusa¨tzliche Tabellenspalten oder komplette Tabellen.
Diese Anforderung stellt sich aufgrund des notwendigen
Zusammenfu¨hrens individueller Datenbankschemata der
Mandanten auf ein Gesamtschema der Datenbank insbesondere
beim Ansatz Shared Table als Herausforderung dar. Aulbach
et al. stellen in [
        <xref ref-type="bibr" rid="ref4 ref5">4, 5</xref>
        ] eine Reihe von Ansa¨tzen vor, die in
folgende Kategorien eingeteilt werden ko¨nnen:
Vertikale Speicherung: Dieser Ansatz basiert auf dem
Entity-Attribute-Value-Modell [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ], welches
beispielsweise im medizinischen Bereich Anwendung findet.
Jeder Attributwert eines mandantenspezifischen
Datensatzes wird auf einen Datensatz des Gesamtschemas
abgebildet, der zur Identifizierung neben dem
Attributwert den zugeho¨rigen Mandanten-, Tabellen- und
Spaltenname sowie die Zeilennummer entha¨lt. Ein
mandantenspezifischer Datensatz muss hierbei zur Laufzeit
durch Verbundoperationen erzeugt werden, um die
Attributwerte zu einem Datensatz zusammenzufu¨gen.
Horizontale Speicherung: Ein mandantenspezifischer
Datensatz wird direkt auf Datensa¨tze des Gesamtschemas
abgebildet. Flexibilita¨t kann beispielsweise durch die
Nutzung einer universellen Tabelle geboten werden,
welche durch eine Vielzahl von generischen Spalten mit
flexiblen Datentypen die Speicherung beliebiger
Datensa¨tze erlaubt und die Verwaltung des Schemas in die
Anwendung verschiebt.
      </p>
      <p>XML: Heutige Datenbankmanagementsysteme bieten
zunehmend native Unterstu¨tzung des XML-Datentyps zur
Speicherung semistrukturierter Daten. Durch dessen
Verwendung ko¨nnen verschiedene mandantenspezifische
Schemata innerhalb einer Tabelle verwaltet werden.
Hybride Speicherung: Die vorherigen Speicherformen
ko¨nnen miteinander verbunden werden, um ihre Sta¨rken
zu kombinieren.
2.3</p>
    </sec>
    <sec id="sec-8">
      <title>Native Unterstützung durch DBMS</title>
      <p>
        Die in Abschnitt 2.2 vorgestellten Ansa¨tze zur
Unterstu¨tzung individueller Mandantenschemata ko¨nnen bei heutigen
Datenbanksystemen nur mit Hilfe einer u¨berhalb des DBMS
liegenden Schicht zur Transformation der
mandantenspezifischen Datenbankanfragen und vom DBMS erhaltenen
Ergebnisse realisiert werden. Diese Schicht regelt die
Zugriffskontrolle und verwaltet die Schemata der Mandanten, sodass
die Schemainformationen vom DBMS nicht zur
Optimierung genutzt werden ko¨nnen. Zudem fu¨hrt sie zu erho¨hten
Wartungsaufwand und beeinflusst unter Umsta¨nden die
Skalierbarkeit des Systems. [
        <xref ref-type="bibr" rid="ref20 ref6">6, 20</xref>
        ]
      </p>
      <p>
        Bisherige Konzepte und prototypische Implementierungen
[
        <xref ref-type="bibr" rid="ref20 ref6">6, 20</xref>
        ] zur nativen Unterstu¨tzung von Mandanten in
relationalen Datenbanksystemen verlagern im Wesentlichen die
Transformationsschicht inklusive der beno¨tigten Metadaten
ins Datenbanksystem. Sie verfolgen hiermit das Ziel einer
effizienten Mandantenkonsolidierung sowie der Abbildung
mandantenspezifischer Schemata auf ein Gesamtschema, um
die oben aufgezeigten Nachteile einer externen
Transformation anzugehen. Des Weiteren wird in [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] ein Konzept
vorgestellt, welches Mandanten durch die Unterstu¨tzung mehrerer
paralleler Basisschema-Versionen einen verzo¨gerten
Wechsel auf eine neue Version der SaaS-Applikation und dessen
Erweiterungen erlaubt.
      </p>
    </sec>
    <sec id="sec-9">
      <title>3. SLO-BASIERTE VERWALTUNG</title>
      <p>Ein bisher kaum betrachtetes, jedoch nicht minder
bedeutsames Forschungsgebiet im Zusammenhang mit der nativen
Unterstu¨tzung von Multi Tenancy in Datenbanksystemen
ist die Integration von abgeleiteten Richtlinien aus den
Service Level Agreements (SLAs) der Mandanten sowie die
Verwaltung der Mandantendaten auf Basis jener Richtlinien.
Durch die zentrale Haltung der Richtlinien als Bestandteil
des Datenbankkatalogs ko¨nnen sie von verschiedenen
DBMSKomponenten und externen Werkzeugen zur Verbesserung
der Dienstqualita¨t verwendet werden.</p>
      <p>SLO-basiertes Management kann mittels automatisiertem
und proaktivem Agieren den Administrationsaufwand fu¨r den
SaaS-Anbieter reduzieren. Zudem kann es die Lastverteilung
und Migration von Mandanten unterstu¨tzen, um
Mandanten stets die Ressourcen zur Verfu¨gung zu stellen, die ihren
Anforderungen genu¨gen. Die Priorisierung von Mandanten
bei der Verarbeitung ihrer Systemanfragen kann durch eine
SLO-basierte Ressourcenverwaltung und -u¨berwachung
realisiert werden. Das SLO-basierte Management ist somit ein
essentielles Mittel, um auf der einen Seite die Betriebskosten
der SaaS-Anbieter durch eine hohe Ressourcenausnutzung
gering zu halten und auf der anderen Seite den Mandanten
eine mo¨glichst hohe Service-Qualita¨t zu bieten.</p>
      <p>Die Einsetzbarkeit in verschiedenen Aufgabenfeldern
sowie die damit verbundenen Vorzu¨ge fu¨r Administratoren
und Mandanten begru¨nden intensive Forschung in folgenden
Themengebieten:
• Ableitung von geeigneten mandantenspezifischen
Richtlinien aus Dienstleistungsvertra¨gen,
• Repra¨sentation der Richtlinien im Katalog des
Datenbankverwaltungssystems,
• Omnipra¨sentes Monitoring der Einhaltung von
Richtlinien,
• Entwicklung und Realisierung geeigneter Algorithmen
zur Sicherstellung der Richtlinien.
3.1</p>
    </sec>
    <sec id="sec-10">
      <title>Service Level Objects</title>
      <p>Als Bestandteil des Dienstleistungsvertrags zwischen dem
SaaS-Anbieter und den Mandanten legen Service Level
Agreements die zugesicherte Qualita¨t des SaaS-Angebots fest.
Hierzu spezifizieren sie beispielsweise Kennzahlen oder
Abstufungen bezu¨glich der folgenden Anforderungen an den Services
in Form von Richtlinien, welche als Service Level Objects
(SLOs) bezeichnet werden.</p>
      <p>• Verfu¨gbarkeit: Systemzuga¨nglichkeit, Wartungsfenster,</p>
      <p>Wiederherstellungszeiten in Fehlerfa¨llen
• Performance: Geschwindigkeit der Datenverarbeitung,</p>
      <p>
        Reaktionszeiten der Schnittstellen
• Sicherheit: Datenschutz, Datensicherheit, Art der
Isolation von anderen Mandanten
Die SLOs sollten u.a. aussagekra¨ftig, erreichbar, messbar und
versta¨ndlich sein [
        <xref ref-type="bibr" rid="ref22">22</xref>
        ]. Bestandteil der SLAs sind neben den
      </p>
      <sec id="sec-10-1">
        <title>SaaS-­Workload</title>
      </sec>
      <sec id="sec-10-2">
        <title>Tenant</title>
      </sec>
      <sec id="sec-10-3">
        <title>Assignment</title>
      </sec>
      <sec id="sec-10-4">
        <title>SLO-­based Management</title>
      </sec>
      <sec id="sec-10-5">
        <title>Workload Manager</title>
      </sec>
      <sec id="sec-10-6">
        <title>Load Balancer</title>
      </sec>
      <sec id="sec-10-7">
        <title>Replication  </title>
      </sec>
      <sec id="sec-10-8">
        <title>Manager</title>
      </sec>
      <sec id="sec-10-9">
        <title>Query  </title>
      </sec>
      <sec id="sec-10-10">
        <title>Transformation</title>
      </sec>
      <sec id="sec-10-11">
        <title>Data  Dictionary</title>
      </sec>
      <sec id="sec-10-12">
        <title>Extension</title>
      </sec>
      <sec id="sec-10-13">
        <title>Tenants</title>
      </sec>
      <sec id="sec-10-14">
        <title>SLOs</title>
      </sec>
      <sec id="sec-10-15">
        <title>DBMS  Core</title>
      </sec>
      <sec id="sec-10-16">
        <title>Execution Engine</title>
      </sec>
      <sec id="sec-10-17">
        <title>Performance  </title>
      </sec>
      <sec id="sec-10-18">
        <title>Monitor</title>
      </sec>
      <sec id="sec-10-19">
        <title>Resource Manager</title>
        <p>Abbildung 2: Integration von SLO-basiertem Management ins DBMS
SLOs entsprechende Regelungen fu¨r den Fall, dass der
SaaSAnbieter die zugesicherten SLOs nicht erfu¨llen kann. In der
Regel erfolgt dies u¨ber gestaffelte Strafzahlungen oder
lediglich u¨ber die Verminderung der anfallenden Grundgebu¨hren
fu¨r Mandanten.
3.2</p>
      </sec>
    </sec>
    <sec id="sec-11">
      <title>SLO-Repräsentation</title>
      <p>Nach der Einigung der SaaS-Anbieter und Mandanten u¨ber
zu gewa¨hrleistende SLOs und dem Vertragsabschluss erfolgt
die U¨berfu¨hrung der finalen Bestimmungen in
Anforderungen an die zugrunde liegende Technologie und Hardware des
Anbieters. SLOs werden vorrangig technologieunabha¨ngig
definiert und gelten in der Folge fu¨r den gesamten Service,
weshalb eine ada¨quate Ableitung von mandantenspezifischen
Richtlinien fu¨r die einzelnen Systemkomponenten wie dem
Datenbanksystem eine bedeutsame und komplexe Aufgabe
darstellt. Zudem verdeutlicht dieser Sachverhalt, dass die
Einhaltung jener Richtlinien, analog zu Multi Tenancy, in
allen Schichten des Gesamtsystems von Bedeutung ist. Mit
zunehmender Mandantenkonsolidierung auf den zur
Verfu¨gung stehenden Systemressourcen nimmt die Beeinflussung
unter Mandanten bezu¨glich der Performance zu, was die
Erstellung passender Richtlinien weiter erschwert.</p>
      <p>
        Die resultierenden Richtlinien sollten entsprechend einem
ada¨quaten Modell erstellt werden. Sie bestehen aus einer
Kombination aus Anforderungen, beispielsweise bezu¨glich
der Performance, Verfu¨gbarkeit oder Sicherheit sowie einer
Priorita¨t. Diese spiegelt die Bedeutsamkeit des Mandanten
fu¨r das Unternehmen wider und basiert typischerweise auf
der Gro¨ßenordnung der entsprechenden Vertragsstrafen eines
Mandanten [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ]. Unter Umsta¨nden ko¨nnen hierbei jedoch
Aspekte eine Rolle spielen, die nicht direkt aus dem
Dienstleistungsvertrag abgeleitet werden ko¨nnen wie die Reputation
des Mandanten oder seine Bedeutung als strategischer
Partner des SaaS-Anbieters.
      </p>
      <p>
        Die native Unterstu¨tzung von Multi Tenancy im DBMS
bringt in der Regel eine Katalogerweiterung [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ] um Tabellen
zur Repra¨sentation der Mandanten und der zugeho¨rigen
Datenbankobjekte wie Tabellen oder Indizes mit sich. Die
Definition und anschließende U¨ berwachung der SLOs bedarf
wiederum einer Erweiterung des Katalogs um die SLOs jedes
Mandanten sowie seiner zugewiesenen Bedeutsamkeit bzw.
Priorita¨t. Durch die Zuordnung eines Mandanten zu einer
SLO-Kategorie wie ’Standard’, ’Premium’ oder ’Individuell’
kann bei der SLO-Zuweisung der Overhead bezu¨glich des
Fest- und Hauptspeicherbedarfs je Mandant reduziert werden.
Abbildung 2 verdeutlicht diese Erweiterung und kennzeichnet,
dass Katalogerweiterungen beispielsweise fu¨r die Zuweisung
von Mandanten zu Anfragen (Tenant Assignment ) und die
in Abschnitt 2.3 angesprochene Transformationskomponente
(Query Transformation) beno¨tigt wird.
3.3
      </p>
    </sec>
    <sec id="sec-12">
      <title>Workload Management</title>
      <p>
        Einige Datenbankverwaltungssysteme bieten mittels
Workload Management die Mo¨glichkeit zur U¨berwachung von
Abfragen und den von ihnen beno¨tigten Ressourcen. IBM
DB2 for Linux, UNIX and Windows stellt hierfu¨r
beispielsweise den DB2 Workload Manager [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] und Oracle den Oracle
Database Resource Manager und Oracle Scheduler [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] bereit.
Diese Anwendungen bieten ein breites Spektrum an Mitteln
zur U¨berwachung von Anfragen, welches u.a. das Aufteilen
von Systemressourcen zwischen Abfragen, die Priorisierung,
Ab- und Unterbrechung von Abfragen sowie eine Zeitplanung
von Abfragen enthalten kann.
      </p>
      <p>
        Das DBMS muss fortwa¨hrend den Auslastungszustand der
Ressourcen messen und fu¨r das Workload Management
bereitstellen. Abbildung 2 verdeutlicht, mit welchen Komponenten
des DBMS-Kerns der Workload Manager typischerweise
kommuniziert, um die Verarbeitung von Abfragen zu steuern und
zu u¨berwachen [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ]:
• Execution Engine (Verwaltung der Ausfu¨hrung von
      </p>
      <p>Abfragen),
• Performance Monitor (U¨ berwachung der Verarbeitung
von Abfragen),
• Resource Monitor (Regelung der Ressourcenallokation
der Abfragen).</p>
      <p>
        Die Erweiterung des Datenbankkatalogs um Mandanten
und SLOs stellt dem Datenbankverwaltungssystem die
no¨tigen Mittel zur Verfu¨gung, um neben der korrekten
Ausfu¨hrung nebenla¨ufiger Transaktionen eine auf SLOs basierende
Parallelisierung von Mandanten zu erzielen. Verschiedene
Nutzungsprofile und -zeitra¨ume der Mandanten sowie
u¨bliche Nutzungsschwankungen erlauben eine U¨berbuchung
der zur Verfu¨gung stehenden physischen Systemressourcen
wie der CPU, dem Hauptspeicher oder der Bandbreite zum
Festspeicher. Dies ermo¨glicht eine ausgezeichnete Auslastung
der Ressourcen und ha¨lt somit die operativen Kosten des
SaaS-Anbieters gering. Im (Ausnahme-)Fall hoher
Lastspitzen durch einen parallelen intensiven Zugriff einer Großzahl
von Mandanten, welche die Ressourcen gemeinsam nutzen,
kann die Einhaltung aller offerierten SLOs nicht
gewa¨hrleistet werden. Lastspitzen ko¨nnen aufgrund von regelma¨ßigen
Vorga¨ngen wie Gehaltsbuchungen oder beispielsweise
aufgrund von unvorhergesehenen Nutzungsschwankungen
unregelma¨ßig auftreten [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. Um die Ha¨ufigkeit dieser Situation zu
reduzieren und beim Auftreten ada¨quat zu reagieren, bedarf
es geeigneter Strategien zur Ablaufplanung der Abfragen
sowie der Ressourcenzuteilung. Aus o¨konomischer Sicht des
Anbieters gilt es hierbei, die Summe der zu zahlenden
Vertragsstrafen zu minimieren. In [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ] wird dieses Ziel durch
einen dynamischen Controller und der Zuhilfenahme
zweier Kostenfunktionen verfolgt, womit zudem eine dauerhafte
U¨ bererfu¨llung der SLOs von Mandanten mit hoher Priorita¨t
auf Kosten von Mandanten mit geringer Priorita¨t vermieden
wird.
      </p>
      <p>Ha¨ufig wird in diesen Modellen lediglich die Minimierung
von Strafzahlen bezu¨glich der aktuellen U¨berauslastung
betrachtet und die Korrelation von Entscheidungen bei
verschiedenen Lastspitzen außer Acht gelassen. So ist es mo¨glich, dass
die SLOs eines Mandant mit geringer Priorisierung bei
Lastspitzen wiederholt nicht erreicht werden ko¨nnen. Aus
o¨konomischer Sicht ist dies fu¨r den SaaS-Anbieter augenscheinlich
eine optimale Strategie, sie kann jedoch zur Vera¨rgerung
oder gar Ku¨ndigung des Mandanten fu¨hren. Folglich gilt es,
fru¨here Entscheidungen in die Priorisierung von Mandanten
und Ressourcenzuweisung bei Lastspitzen einzubeziehen.
Dieses Ziel kann nur mit Hilfe einer dynamischen Priorisierung
erreicht werden.</p>
      <p>Neben der Ablaufsteuerung und U¨ berwachung von
Abfragen sowie dem Eingreifen im Falle einer U¨ berlastung besteht
eine wesentliche Aufgabe des SLO-basierten Managements
in dem Verhindern von ha¨ufigen U¨berlastungen eines
Systems. Hierzu sind die Ressource sowie der Schweregrad, die
Ha¨ufigkeit und eine gegebenenfalls existierende
Regelma¨ßigkeit der U¨ berlastungen zu beobachten. Durch ein proaktives
Vorgehen kann zuku¨nftigen U¨berlastungen vorgebeugt
werden, indem Maßnahmen autonom ergriffen werden oder der
Administrator in Form von Hinweisen bei seiner Ta¨tigkeit
unterstu¨tzt wird. Ein mo¨gliches Vorgehen ist die Zuweisung
von Mandanten zu anderen physischen Ressourcen durch
das Verschieben auf einen anderen Server mit dem Ziel einer
Lastverteilung.
3.4</p>
    </sec>
    <sec id="sec-13">
      <title>Verteilung von Mandantendaten</title>
      <p>
        Ein SaaS-Anwendung sollte die maximale Anzahl an
unterstu¨tzten Mandanten mo¨glichst nicht beschra¨nken. Um
auch bei vielen Mandanten eine ausreichende
Performance zu erreichen, mu¨ssen die Daten der Mandanten mittels
Tabellen- und Indexpartitionierung auf verschiedene
Festspeicher oder gema¨ß eines verteilten Datenbanksystems auf
verschiedene Datenbankknoten verteilt werden. Die
Verteilung der Mandanten durch einen Load Balancer kann zudem
gema¨ß Abschnitt 3.3 zur Abfederung von Lastspitzen genutzt
werden. Entgegen statischer Ansa¨tze [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ] zur Berechnung
einer optimalen Verteilung von Mandantendaten auf eine
Menge von Datenbankknoten sollte die Lastverteilung analog
zum Workflow Management dynamisch agieren.
      </p>
      <p>Um unno¨tige Kommunikation zwischen Datenbankknoten
zu vermeiden, sind die Daten eines Mandanten nicht u¨ber
mehrere Knoten zu verteilen. Dies sollte nur mo¨glich sein,
wenn die Anforderungen des Mandanten die zur Verfu¨gung
stehenden Ressourcen des Rechners u¨bersteigen.</p>
      <p>
        Die Mandanten legen durch die Nutzung einer
SaaS-Anwendung ihre Daten in die Ha¨nde des Anbieters und dessen
auf Sicherheit spezialisierte IT-Abteilung [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ]. Durch die
Verteilung von Mandanten auf verschiedene Rechner ist neben
dem verringerten Einfluss der Mandanten bezu¨glich ihrer
Performance (Performance-Isolation zwischen Mandanten [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ])
ein ho¨herer Isolationsgrad der auf dem Festspeicher
abgelegten Mandantendaten erreichbar bis hin zu einer physischen
Isolation. Der Isolationsgrad spiegelt sich zum Teil in
entsprechenden SLOs der Dienstvertra¨ge wider. Er kann durch
die in Abbildung 2 dargestellte SLO-Katalogerweiterung im
DBMS hinterlegt und vom Lastbalancierer bei der Verteilung
der Mandanten auf Rechner beru¨cksichtigt werden.
      </p>
      <p>Kosten</p>
      <p>Mögliche</p>
      <p>Zielstellung
Performance</p>
      <p>Verfügbarkeit
Abbildung 3: Zielkonflikte des SaaS-Anbieters
Verfu¨gbarkeit besitzt gema¨ß Abschnitt 3.1 eine
außerordentliche Bedeutsamkeit bei Dienstleistungsvertra¨gen im
SaaS-Umfeld. Ist der Dienst fu¨r die Mandanten nicht
erreichbar, so kann dies schwerwiegende Folgen haben, die von
einer Verzo¨gerung der Arbeitsprozesse bei Mandanten bis
hin zu finanziellen Einbußen reichen. Entsprechend werden
in den Dienstleistungsvertra¨gen nur geringe (geplante und
ungeplante) Ausfallzeiten des Services zugelassen, bei deren
Verletzung der SaaS-Anbieter mit erheblichen Strafzahlungen
rechnen muss. Entsprechend liegt es im Interesse des
Anbieters, eine hohe Verfu¨gbarkeit des Dienstes sicherzustellen.
Abbildung 3 verdeutlicht, dass die Erreichung eines hohen
Verfu¨gbarkeitsniveaus auf der einen Seite zu zusa¨tzlichen
Kosten fu¨r den Anbieter fu¨hrt und auf der anderen Seite die
Performance des Services einschra¨nkt. Eine hohe
Verfu¨gbarkeit fordert das Vermeiden von Single Points of Failures und
kann beispielsweise durch verschiedene Formen der
Replikation erreicht werden. Der SaaS-Anbieter ko¨nnte durch einen
Replication Manager die Art und den Umfang der
Replikation von Mandantendaten aufgrund von verschiedenen SLOs
der Mandanten variieren, um individuelle Anforderungen zu
unterstu¨tzen.
3.5</p>
    </sec>
    <sec id="sec-14">
      <title>SLA-Management in DaaS</title>
      <p>
        Die Verwendung von Datenbanksystemen zur
Datenverwaltung einer SaaS-Anwendung stellt nur eine Mo¨glichkeit
zur Bereitstellung von Datenbanksystemen als Dienst
innerhalb einer Cloud dar, was als Database as a Service (kurz
DaaS oder DbaaS [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ]) betitelt wird. Sowohl in
kommerziellen DaaS-Angeboten als auch in der DaaS-Forschung spielt
Multi Tenancy eine bedeutende Rolle, um die operationalen
Kosten von DaaS-Anbietern zu senken. Die Bereitstellung
von Daten fu¨r eine SaaS-Anwendung unterscheidet sich
jedoch im Zusammenhang mit Multi Tenancy erheblich von
anderen Dienstmodellen.
      </p>
      <p>• Mandanten in einer SaaS-Anwendung besitzen und
erweitern ein gemeinsames Basisschema und greifen
zudem in der Regel lesend auf gemeinsame
Anwendungsdaten zu. Bei anderen DaaS-Dienstmodellen existieren
meist keine mandantenu¨bergreifenden Daten und keine
oder vernachla¨ssigbare A¨ hnlichkeit der
Datenbankschemata von Mandanten. Dies wirkt sich auf die
Konsolidierungsmo¨glichkeiten innerhalb einer Datenbank
aus.
• SaaS-Anwendungen bestimmen die Art der Workload
fu¨r das verwendete Datenbanksystem, was sich das
SLO-basiertes Management zu Nutze machen kann.
Bei anderen DaaS-Dienstmodellen ist die Workload
hingegen mandantenspezifisch und unvorhersehbar.
• SLOs sind bei SaaS-Angeboten mit der kompletten
Anwendung verknu¨pft, wa¨hrend bei anderen
DaaS-Dienstmodellen meist konkrete Vorgaben fu¨r das DBMS
definiert sind.</p>
      <p>
        Diese Punkte verdeutlichen, dass Ergebnisse aktueller
Forschung im Bereich SLO-basierter Hardware-Provisionierung
und Steuerung der Abfrageverarbeitung fu¨r DaaS [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ] nur
sehr eingeschra¨nkt auf Datenbankdienste fu¨r
SaaS-Anwendungen u¨bertragen werden ko¨nnen und gesonderte Forschung
fu¨r jenen Bereich vonno¨ten ist.
      </p>
    </sec>
    <sec id="sec-15">
      <title>ZUSAMMENFASSUNG UND NÄCHSTE</title>
    </sec>
    <sec id="sec-16">
      <title>SCHRITTE</title>
      <p>In diesem Beitrag wurde gezeigt, dass eine Integration von
Service Level Objects in ein Multi-Tenancy-Datenbanksystem
in Form einer Erweiterung des Datenbankkatalogs von
verschiedenen DBMS-Komponenten verwendet werden kann,
um die U¨berwachung der SLOs wa¨hrend des Betriebs zu
gewa¨hrleisten. Als mo¨gliche Verwendungsbeispiele wurden
das Workload Management, die Lastverteilung und eine
individuelle Replikationssteuerung aufgefu¨hrt.</p>
      <p>In den weiteren Arbeiten soll der Entwurf der
SLO-Integration konkretisiert, verschiedene Implementierungsvarianten
verglichen und die Realisierbarkeit anhand eines Prototyps
gezeigt werden. Anschließende Performance-Tests sollen
Aufschluss daru¨ber geben, ob der zusa¨tzliche Overhead durch
die mandantenspezifischen Metadaten und das SLO-basierte
Management die Skalierbarkeit und den laufenden Betrieb
des Datenbanksystems beeintra¨chtigen.</p>
    </sec>
    <sec id="sec-17">
      <title>LITERATUR</title>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          <article-title>[1] DB2 Workload Manager for Linux, Unix, and</article-title>
          <string-name>
            <given-names>Windows. IBM</given-names>
            <surname>Corp</surname>
          </string-name>
          .,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <surname>Oracle</surname>
            <given-names>R Database</given-names>
          </string-name>
          <string-name>
            <surname>Administrator</surname>
          </string-name>
          <article-title>'s Guide 11g Release 2</article-title>
          .
          <string-name>
            <surname>Oracle</surname>
          </string-name>
          ,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>C.</given-names>
            <surname>Anderson</surname>
          </string-name>
          .
          <article-title>The Long Tail: Why the Future of Business Is Selling Less of More</article-title>
          . Hyperion,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>S.</given-names>
            <surname>Aulbach</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Grust</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Jacobs</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Kemper</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J.</given-names>
            <surname>Rittinger</surname>
          </string-name>
          <article-title>. Multi-tenant databases for software as a service: schema-mapping techniques</article-title>
          .
          <source>In SIGMOD</source>
          , pages
          <fpage>1195</fpage>
          -
          <lpage>1206</lpage>
          . ACM,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>S.</given-names>
            <surname>Aulbach</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Jacobs</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Kemper</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Seibold</surname>
          </string-name>
          .
          <article-title>A comparison of flexible schemas for software as a service</article-title>
          .
          <source>In SIGMOD</source>
          , pages
          <fpage>881</fpage>
          -
          <lpage>888</lpage>
          . ACM,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>S.</given-names>
            <surname>Aulbach</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Jacobs</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Primsch</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Kemper</surname>
          </string-name>
          .
          <article-title>Anforderungen an Datenbanksysteme fu¨r Multi-Tenancy- und Software-as-a-ServiceApplikationen</article-title>
          . In BTW, pages
          <fpage>544</fpage>
          -
          <lpage>555</lpage>
          . GI,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>S.</given-names>
            <surname>Aulbach</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Seibold</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Jacobs</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Kemper</surname>
          </string-name>
          .
          <article-title>Extensibility and Data Sharing in evolving multi-tenant databases</article-title>
          .
          <source>In ICDE</source>
          , pages
          <fpage>99</fpage>
          -
          <lpage>110</lpage>
          ,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>D.</given-names>
            <surname>Banks</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Erickson</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Rhodes</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J. S.</given-names>
            <surname>Erickson.</surname>
          </string-name>
          Multi-tenancy
          <source>in Cloud-based Collaboration Services. Information Systems Journal</source>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>C.-P.</given-names>
            <surname>Bezemer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Zaidman</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Platzbeecker</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Hurkmans</surname>
          </string-name>
          , and A. 't Hart.
          <article-title>Enabling multi-tenancy: An industrial experience report</article-title>
          .
          <source>In ICSM</source>
          , pages
          <fpage>1</fpage>
          -
          <lpage>8</lpage>
          ,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>F.</given-names>
            <surname>Chong</surname>
          </string-name>
          and
          <string-name>
            <given-names>G.</given-names>
            <surname>Carraro</surname>
          </string-name>
          .
          <article-title>Architecture Strategies for Catching the Long Tail</article-title>
          .
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          [11]
          <string-name>
            <given-names>A.</given-names>
            <surname>Go</surname>
          </string-name>
          <article-title>¨bel. Anforderungen von Cloud-Anwendungen an Datenbanksysteme</article-title>
          .
          <source>In Workshop Database as a Service</source>
          ,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>D.</given-names>
            <surname>Jacobs</surname>
          </string-name>
          and
          <string-name>
            <surname>S. Aulbach.</surname>
          </string-name>
          <article-title>Ruminations on Multi-Tenant Databases</article-title>
          .
          <source>In BTW</source>
          , pages
          <fpage>514</fpage>
          -
          <lpage>521</lpage>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          [13]
          <string-name>
            <given-names>S.</given-names>
            <surname>Krompass</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            <surname>Gmach</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Scholz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Seltzsam</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Kemper</surname>
          </string-name>
          .
          <article-title>Quality of Service Enabled Database Applications</article-title>
          . In ICSOC, pages
          <fpage>215</fpage>
          -
          <lpage>226</lpage>
          ,
          <year>2006</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          [14]
          <string-name>
            <given-names>S.</given-names>
            <surname>Krompass</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Scholz</surname>
          </string-name>
          ,
          <string-name>
            <surname>M.-C. Albutiu</surname>
            ,
            <given-names>H. A.</given-names>
          </string-name>
          <string-name>
            <surname>Kuno</surname>
            ,
            <given-names>J. L.</given-names>
          </string-name>
          <string-name>
            <surname>Wiener</surname>
            ,
            <given-names>U.</given-names>
          </string-name>
          <string-name>
            <surname>Dayal</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Kemper</surname>
          </string-name>
          .
          <article-title>Quality of Service-enabled Management of Database Workloads</article-title>
          .
          <source>IEEE Data Eng. Bull.</source>
          ,
          <volume>31</volume>
          (
          <issue>1</issue>
          ):
          <fpage>20</fpage>
          -
          <lpage>27</lpage>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          [15]
          <string-name>
            <given-names>T.</given-names>
            <surname>Kwok</surname>
          </string-name>
          and
          <string-name>
            <given-names>A.</given-names>
            <surname>Mohindra</surname>
          </string-name>
          .
          <article-title>Resource Calculations with Constraints, and Placement of Tenants and Instances for Multi-tenant SaaS Applications</article-title>
          . In ICSOC, pages
          <fpage>633</fpage>
          -
          <lpage>648</lpage>
          . Springer-Verlag,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          [16]
          <string-name>
            <given-names>W.</given-names>
            <surname>Lang</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Shankar</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Patel</surname>
          </string-name>
          ,
          <article-title>and</article-title>
          <string-name>
            <given-names>A.</given-names>
            <surname>Kalhan</surname>
          </string-name>
          .
          <article-title>Towards Multi-Tenant Performance SLOs</article-title>
          .
          <source>In ICDE '12</source>
          ,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          [17]
          <string-name>
            <given-names>P. M.</given-names>
            <surname>Nadkarni</surname>
          </string-name>
          and
          <string-name>
            <given-names>C.</given-names>
            <surname>Brandt</surname>
          </string-name>
          .
          <article-title>Data extraction and ad hoc query of an entity-attribute-value database</article-title>
          .
          <source>Journal of American Medical Informatics Association</source>
          ,
          <volume>5</volume>
          (
          <issue>6</issue>
          ):
          <fpage>511</fpage>
          -
          <lpage>527</lpage>
          ,
          <year>1998</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          [18]
          <string-name>
            <surname>Pierre</surname>
            <given-names>Audoin</given-names>
          </string-name>
          <string-name>
            <surname>Consultants</surname>
          </string-name>
          .
          <source>Entry of the global players confirms Global SaaS Trends</source>
          .
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          [19]
          <string-name>
            <given-names>B.</given-names>
            <surname>Reinwald</surname>
          </string-name>
          .
          <article-title>Database support for multi-tenant applications</article-title>
          .
          <source>IEEE Workshop on Information and Software as Services</source>
          ,
          <volume>1</volume>
          :
          <fpage>2</fpage>
          ,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          [20]
          <string-name>
            <given-names>O.</given-names>
            <surname>Schiller</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Schiller</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Brodt</surname>
          </string-name>
          , and
          <string-name>
            <given-names>B.</given-names>
            <surname>Mitschang</surname>
          </string-name>
          .
          <article-title>Native support of multi-tenancy in RDBMS for software as a service</article-title>
          .
          <source>In EDBT/ICDT</source>
          , pages
          <fpage>117</fpage>
          -
          <lpage>128</lpage>
          . ACM,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          [21]
          <string-name>
            <given-names>M.</given-names>
            <surname>Seibold</surname>
          </string-name>
          and
          <string-name>
            <given-names>A.</given-names>
            <surname>Kemper</surname>
          </string-name>
          .
          <article-title>Database as a Service</article-title>
          .
          <source>Datenbank-Spektrum</source>
          ,
          <volume>12</volume>
          (
          <issue>1</issue>
          ):
          <fpage>59</fpage>
          -
          <lpage>62</lpage>
          ,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          [22]
          <string-name>
            <given-names>R.</given-names>
            <surname>Sturm</surname>
          </string-name>
          ,
          <string-name>
            <given-names>W.</given-names>
            <surname>Morris</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Jander</surname>
          </string-name>
          .
          <article-title>Foundations of Service Level Management</article-title>
          . SAMS Publishing,
          <year>Apr</year>
          .
          <year>2000</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>