Please use this identifier to cite or link to this item: http://dx.doi.org/10.18419/opus-3589
Authors: Schiller, Oliver
Title: Supporting multi-tenancy in Relational Database Management Systems for OLTP-style software as a service applications
Other Titles: Unterstützung von Mandantenfähigkeit in Relationalen Datenbankmanagementsystemen für Software as a Service Anwendungen mit OLTP Charakteristik
Issue Date: 2015
metadata.ubs.publikation.typ: Dissertation
URI: http://nbn-resolving.de/urn:nbn:de:bsz:93-opus-102698
http://elib.uni-stuttgart.de/handle/11682/3606
http://dx.doi.org/10.18419/opus-3589
Abstract: The consolidation of multiple tenants onto a single relational database management system (RDBMS) instance, commonly referred to as multi-tenancy, turned out being beneficial since it supports improving the profit margin of the provider and allows lowering service fees, by what the service attracts more tenants. So far, existing solutions create the required multi-tenancy support on top of a traditional RDBMS implementation, i. e., they implement data isolation between tenants, per-tenant customization and further tenant-centric data management features in application logic. This is complex, error-prone and often reimplements efforts the RDBMS already offers. Moreover, this approach disables some optimization opportunities in the RDBMS and represents a conceptual misstep with Separation of Concerns in mind. For the points mentioned, an RDBMS that provides support for the development and operation of a multi-tenant software as a service (SaaS) offering is compelling. In this thesis, we contribute to a multi-tenant RDBMS for OLTP-style SaaS applications by extending a traditional disk-oriented RDBMS architecture with multi-tenancy support. For this purpose, we primarily extend an RDBMS by introducing tenants as first-class database objects and establishing tenant contexts to isolate tenants logically. Using these extensions, we address tenant-aware schema management, for which we present a schema inheritance concept that is tailored to the needs of multi-tenant SaaS applications. Thereafter, we evaluate different storage concepts to store a tenant’s tuples with respect to their scalability. Next, we contribute an architecture of a multi-tenant RDBMS cluster for OLTP-style SaaS applications. At that, we focus on a partitioning solution which is aligned to tenants and allows obtaining independently manageable pieces. To balance load in the proposed cluster architecture, we present a live database migration approach, whose design favors low migration overhead and provides minimal interruption of service.
Software as a Service (SaaS) ist eines der im Rahmen von Cloud Computing möglichen Diensterbringungsmodelle. Mandantenfähigkeit ist eine essentielle Eigenschaft für ein erfolgreiches SaaS Angebot. Mandantenfähigkeit beschreibt die Fähigkeit, mehrere Mandanten auf einer Resource konsolidieren zu können. Als Mandant versteht man hierbei eine datentechnisch und organisatorisch abgeschlossene Einheit, die den Dienst nutzt, z. B. ein Unternehmen. Im Rahmen von SaaS betrifft die Realisierung von Mandantenfähigkeit jede Schicht des Systemaufbaus und die jeweilig dazugehörenden Komponenten. Somit ergibt sich als eine Teilaufgabe einer SaaS Lösung üblicherweise die Implementierung von Mandantenfähigkeit in der Datenschicht mit den darin eingesetzten Datenbankmanagementsystemen. Die weite Verbreitung von relationalen Datenbankmanagementsystemen (RDBMS) führt dazu, dass die Realisierung von Mandantenfähigkeit unter Verwendung von RDBMS von zentraler Bedeutung für die Realisierung vieler mandantenfähiger SaaS Lösungen ist. Bisherige RDBMS Implementierungen bieten keine native Unterstützung für die Entwicklung und den Betrieb mandantenfähiger SaaS Anwendungen an. Aus diesem Grund benötigen existierende Lösungen eine zusätzliche Schicht über dem RDBMS, welche die notwendige Funktionalität realisiert. Hierdurch wird das Vermögen des RDBMS nicht mehr genutzt. Die Implementierung dieser zusätzlichen Schicht ist aufwändig und fehleranfällig, weiterhin fällt eine zusätzlich zu wartende Komponente an. Außerdem verliert eine solche Lösung an Optimierungspotential, z. B. verliert das RDBMS Information über die verwendeten Datentypen der Applikation. Zuletzt wird keine saubere Trennung der Verantwortlichkeiten für bestimmte Aufgaben eingehalten; die Datenverwaltung sollte in wesentlichen Teilen durch das RDBMS unterstützt werden. Eine native Unterstützung von Mandantenfähigkeit durch das RDBMS kann diese Nachteile aufheben. Diese Arbeit trägt wesentliche Erweiterungen zur nativen Unterstützung von mandantenfähigen SaaS Anwendungen mit OLTP Charakteristik durch ein RDBMS bei. Der erste Schritt hierzu ist die Einführung von Mandanten als explizite Datenbankobjekte. Hiermit verbunden wird das Konzept Tenant Context, zu deutsch Mandantenkontext, präsentiert. Ein Tenant Context stellt ein logischer Container für die Ausführung von Operationen eines bestimmten Mandanten dar. Dies erlaubt eine leichtgewichtige Art der Virtualisierung im RDBMS. Darauf basierend wird ein mandantenfähiges Schema Management, welches auf die Bedürfnisse von SaaS Anwendungen zugeschnitten ist, vorgestellt. Nachfolgend werden verschiedene Möglichkeiten zur Speicherung der Daten eines Manadanten untersucht und bewertet. Daraufhin wird die Architektur eines mandantenfähigen RDBMS Clusters für mandantenfähige SaaS Anwendungen addressiert. Ein besonderes Augenmerk wird hierbei auf eine sinnvolle Verarbeitungsgranularität von administrativen Operationen gelegt. Abschließend stellt die Arbeit einen Ansatz zur Migration einer Datenbank eines Mandanten von einem Knoten eines Clusters zu einem anderen Knoten des Clusters vor. Der vorgestellte Migrationsansatz besitzt einen minimalen Einfluss auf die parallel laufende Transaktionsverarbeitung und stellt damit ein wichtiges Mittel für die Balancierung der Last innerhalb des Clusters dar.
Appears in Collections:05 Fakultät Informatik, Elektrotechnik und Informationstechnik

Files in This Item:
File Description SizeFormat 
Final_Dissertation_Oliver_Schiller.pdf2,93 MBAdobe PDFView/Open


Items in OPUS are protected by copyright, with all rights reserved, unless otherwise indicated.