Hochreiner, C. (2018). An Elastic data stream processing ecosystem for distributed environments [Dissertation, Technische Universität Wien]. reposiTUm. https://doi.org/10.34726/hss.2018.36368
Im Laufe der letzten Jahre konnte ein konstantes Wachstum von Datenströmen beobachtet werden. Bisher waren diese Datenströme in der Regel primär im Betrieb von sozialen Netzwerken, in der Finanzindustrie oder in der Medizintechnik zu finden. Durch die zunehmende Verbreitung des Internets der Dinge existieren heute jedoch Sensor-basierte Datenquellen in vielen verschiedenen Anwendungsbereichen. Diese Datenquellen liefern volatile Datenströme, welche jedoch von aktuellen Datenverarbeitungssystemen nicht effizient verarbeitet werden können, da diese nur für konstante Datenströme konzipiert wurden. Des Weiteren sind neue Benutzergruppen mit den bestehenden Systemen oft überfordert, da diese in erster Linie für Experten entwickelt wurden. Aus diesem Grund ist es notwendig, die Architektur von etablierten Datenverarbeitungslösungen zu überdenken, um dem verteilten Aspekt des Internets der Dinge gerecht zu werden und neue Ansätze für die Erstellung von benutzerfreundlichen Anwendungen zur Datenstromverarbeitung zu entwickeln. Daher wird in dieser Dissertation das VISP-Ökosystem präsentiert, welches sowohl die Bedürfnisse neuer Benutzergruppen als auch die verteilte Struktur des Internets der Dinge berücksichtigt. In diesem Zusammenhang wurde auch eine neue Konfigurationssprache für Anwendungen zur Datenstromverarbeitung geschaffen, da viele nicht-funktionale Anforderungen von bestehenden Konfigurationssprachen nur eingeschränkt unterstützt werden. Zusätzlich zu den Grundfunktionalitäten für die Erstellung und Ausführung von Anwendungen zur Datenstromverarbeitung wurden zwei Ansätze entwickelt, um die benötigten IT-Ressourcen elastisch an die sich ändernden Anforderungen anpassen zu können. Der erste Ansatz basiert auf einer kontinuierlichen Analyse von verschiedenen Kennzahlen, welche bei Bedarf eine Veränderung der Ressourcenkonfiguration veranlasst. Der zweite Ansatz ist eine Verfeinerung des ersten Ansatzes, da dieser neben den Kennzahlen auch zusätzliche Faktoren wie die Mietvereinbarungen für Ressourcen berücksichtigt und daher in vielen Fällen unnötige Anpassungen vermeidet. Beide Ansätze wurden auf Basis verschiedener Szenarien evaluiert und ermöglichen eine Kostenreduktion ohne die Verarbeitungsgeschwindigkeit zu beeinträchtigen.
de
In the last couple of years, we have observed a trend towards an ever-growing number and volume of data streams. Up to now, these data streams were mainly originating from social media services running in the cloud but today the emergence of the Internet of Things (IoT) also contributes to the growth of data streams. Besides the growth of the data volume, the IoT also introduces several new challenges, like the geographically distributed locations of IoT-devices, i.e., data sources and processing capabilities, as well as a differentiation of the user base who uses Stream Processing Applications (SPAs). Previously, SPAs were only used by data stream processing experts to process large data volume primarily for social media, medical or financial purposes in a centralized setting. However, the emergence of the IoT allows a larger user base, like companies from the manufacturing domain or even individual users, to process data streams to extract valuable insights. To address these challenges, it is required to evolve the system design of today's stream processing engines and create an ecosystem for data stream processing, which considers all aspects of designing and operating SPAs. Therefore, we introduce the VISP Ecosystem in this thesis, which provides a holistic approach for creating SPAs and propose novel concepts to operate SPAs in a distributed environment. To improve the creation of SPAs, we present a novel description language for SPAs that supports distributed deployments as well as several non-functional aspects for SPAs that are not considered in today's approaches. In addition to the fundamental aspects of designing and operating SPAs, we also introduce two resource provisioning approaches. These two approaches use the resource elasticity provided by the cloud computing paradigm to reduce the operational cost for running SPAs under volatile data volume. The first resource provisioning approach is threshold-based approach and can find the optimal resource configuration depending on the current data volume for the SPA. This dynamic resource provisioning approach allows this approach to outperform established fixed resource provisioning strategies regarding cost efficiency. The second approach represents an evolution of the first approach by considering additional external aspects like the billing time units to avoid any unnecessary operational overhead for updating the resource configuration. According to our evaluation, we can see that our second approach outperforms the first one for most real-world scenarios and allows for an even more cost-efficient operation of SPAs while ensuring the timely processing of data streams.