=Paper=
{{Paper
|id=None
|storemode=property
|title=SLO-basiertes Management in relationalen Datenbanksystemen mit nativer Multi-Tenancy-Unterstützung
|pdfUrl=https://ceur-ws.org/Vol-850/paper_goebel.pdf
|volume=Vol-850
|dblpUrl=https://dblp.org/rec/conf/gvd/Gobel12
}}
==SLO-basiertes Management in relationalen Datenbanksystemen mit nativer Multi-Tenancy-Unterstützung==
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 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- 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 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- 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- 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.