Panhofer, P. (2013). Ein Technologieentwurf für eine Klasse skalierender Webapplikationen [Diploma Thesis, Technische Universität Wien]. reposiTUm. https://doi.org/10.34726/hss.2013.22390
E188 - Institut für Softwaretechnik und Interaktive Systeme
-
Date (published):
2013
-
Number of Pages:
94
-
Abstract:
Mit dem Aufkommen von Web 2.0 sind wir Zeuge einer dramatischen Änderung der geforderten Anforderungen an Web Applikationen und Softwaresysteme im Allgemeinen geworden. Wir erfahren eine neue Art von Applikationen, die einem veränderten Katalog nicht funktionaller Anforderungen gerecht werden muß. Im Zentrum der Arbeit steht der Versuch, eine im Sinne der technischen Umsetzung skalierende Architektur für eine Klasse von komplexen Softwareapplikationen zu finden. In diesem Zusammenhang ist die Differenzierung zwischen horizontal und vertikal skalierenden Lösungen essentiell und zu beachten. Als Stellvertreter für diese Klasse wird ein spezifisches Projekt gewählt, eine Biber Webapplikation. Im Zuge der Arbeit schenken wir der Datenverwaltung und damit dem Konsistenzmodell besondere Aufmerksamkeit. Das CAP Theorem [12][16] dient in diesem Zusammenhang als fundamentaler Fokuspunkt, um die komplementären Größen und deren Beziehungen im Umfeld der Architekturdiskussion zu verstehen. Der Vergleich diverser bestehender Technologien und Paradigmen soll ein allgemeines Verständnis für das Problem und dessen Lösung schaffen. Die gefundenen Ergebnisse dienen als Basis zur Erstellung der Softwarearchitektur. Zur Evaluierung der Ergebnisse werden 2 Prototypen erstellt. Die Prototypen werden im Sinne widersprüchlicher Paradigmen entworfen und gegeneinader verglichen. Das Resultat hilft, die gewünschten Ergebnisse zu etablieren. Die Prototypen weisen eine grundlegende Differenzierung in ihrem Daten-, Konsistenz- und Replikationsmodell auf. Ein Prototyp wird den Prinzipien der NoSQL Ansätze folgend gestaltet, der andere nutzt die Theorie der verteilten relationalen Datenbanken für die Datenverarbeitung. Lastentests werden eingesetzt um das Laufzeitverhalten der Prototypen zu bewerten und zu verstehen. Das Laufzeitverhalten ist in diesem Sinne als die Summe der verschiedenen umgesetzten Paradigmen für Datenkonsistenz, Replikation und Datenmodell zu beurteilen. Im Anschluß an die Lastentests werden die generierten Meßergebnisse ausgewertet und gesichtet. Die Meßergebnisse dienen als Grundlage zur Beurteilung der eingesetzten Modelle. Wir haben ein performantes Laufzeitverhalten und die Skalierbarkeit des Systems als primäre nicht funktionale Anorderung an das System gestellt. Die zentrale Frage ist ob es möglich ist ein solches System unter der Verwendung eines RDBMS Systems als Kern umzusetzten. Betrachten wir die Ergebnisse für die Skalierbarkeit des MySQL Prototypen bemerken wir daß das System nur horizontal skaliert. Unser Anspruch besteht jedoch darin ein System zur Verfügung zu stellen, daß linear skaliert. Diesen Anspruch erfüllt aber nur der NoSQL Prototyp. Wir müssen feststellen daß eine RDBMS Lösung für unser Problem nicht in Frage kommt.
de
Web 2.0 is becoming the Buzz Word in the Distributed Systems community. The technological standards for Web Applications are continually changing resulting in a new stack of non functional requirements. The focus of the thesis is to find a scaleable architecture for a special class of distributed softwaresystems. The processing of large amounts of data in a timely manner is key. The CAP Theorem helps us to establish a classification of dataprocessing distributed systems. This classification is key to understand the different properties and requirements in the process of developing the software architecture in question. The comparison of different classes of dataprocessing systems gives us an idea of the problem. RDBMS and NoSQL Systems are the current dataprocessing technologies. We have created two Softareprototypes. One prototype has been created as a NoSQL System the other one is using RDBMS for dataprocessing. We have been running different tests to learn about the performance, scalability and elastic speed up of the prototypes. We have learned that RDBMS as a dataprocessing technology is not able to give us the scalability we need. On the other hand NoSQL solutions are a tool that helps us to develop a scalable architecture.
en
Additional information:
Abweichender Titel laut Übersetzung der Verfasserin/des Verfassers Zsfassung in engl. Sprache