=Paper=
{{Paper
|id=Vol-1313/paper_10
|storemode=property
|title=PageBeat - Zeitreihenanalyse und Datenbanken
|pdfUrl=https://ceur-ws.org/Vol-1313/paper_10.pdf
|volume=Vol-1313
|dblpUrl=https://dblp.org/rec/conf/gvd/FingerBHKK14
}}
==PageBeat - Zeitreihenanalyse und Datenbanken==
PageBeat - Zeitreihenanalyse und Datenbanken Andreas Finger Ilvio Bruder Andreas Heuer Institut für Informatik Institut für Informatik Institut für Informatik Universität Rostock Universität Rostock Universität Rostock 18051 Rostock 18051 Rostock 18051 Rostock andreas.finger@uni- ilvio.bruder@uni- andreas.heuer@uni- rostock.de rostock.de rostock.de Steffen Konerow Martin Klemkow Mandarin Medien GmbH Mandarin Medien GmbH Graf-Schack-Allee 9 Graf-Schack-Allee 9 19053 Schwerin 19053 Schwerin sk@mandarin-medien.de mk@mandarin- medien.de ABSTRACT Keywords Zeitreihendaten und deren Analyse sind in vielen Anwen- Datenanalyse, R, Time Series Database dungsbereichen eine wichtiges Mittel zur Bewertung, Steue- rung und Vorhersage. Für die Zeitreihenanalyse gibt es ei- 1. EINFÜHRUNG ne Vielzahl von Methoden und Techniken, die in Statistik- Zeitreihen sind natürlich geordnete Folgen von Beobach- software umgesetzt und heutzutage komfortabel auch ohne tungswerten. Die Zeitreihenanalyse beschäftigt sich mit Me- eigenen Implementierungsaufwand einsetzbar sind. In den thoden zur Beschreibung dieser Daten etwa mit dem Ziel meisten Fällen hat man es mit massenhaft Daten oder auch der Analyse (Verstehen), Vorhersage oder Kontrolle (Steue- Datenströmen zu tun. Entsprechend gibt es spezialisierte rung) der Daten. Entsprechende Methoden stehen in frei- Management-Tools, wie Data Stream Management Systems er und kommerzieller Statistiksoftware wie R1 , Matlab2 , für die Verarbeitung von Datenströmen oder Time Series Weka3 [7], SPSS4 und anderen zur Verfügung wodurch ei- Databases zur Speicherung und Anfrage von Zeitreihen. Der ne komfortable Datenauswertung ohne eigenen Implemen- folgende Artikel soll hier zu einen kleinen Überblick geben tierungsaufwand ermöglicht wird. Verfahren zur Zeitreihen- und insbesondere die Anwendbarkeit an einem Projekt zur analyse sind etwa die Ermittlung von Trends und Saisona- Analyse und Vorhersage von Zuständen von Webservern ver- lität, wobei der Trend den längerfristigen Anstieg und die anschaulichen. Die Herausforderung innerhalb dieses Pro- Saisonalität wiederkehrende Muster (jedes Jahr zu Weih- jekts PageBeat“ ist es massenhaft Zeitreihen in Echtzeit ” nachten steigen die Verkäufe) repräsentieren. So werden Ab- zu analysieren und für weiterführende Analyseprozesse zu hängigkeiten in den Daten untersucht, welche eine Prognose speichern. Außerdem sollen die Ergebnisse zielgruppenspe- zukünftiger Werte mit Hilfe geeigneter Modelle ermöglichen. zifisch aufbereitet und visualisiert sowie Benachrichtigungen In einer Anwendung die in hoher zeitlicher Auflösung eine ausgelöst werden. Der Artikel beschreibt den im Projekt ge- Vielzahl von Messwerten erfasst, entstehen schnell große Da- wählten Ansatz und die dafür eingesetzten Techniken und tenmengen. Diese sollen in Echtzeit analysiert werden und Werkzeuge. gegebenenfalls zur weiteren Auswertung persistent gespei- chert werden. Hierfür existieren zum Einen Ansätze aus der Categories and Subject Descriptors Stromdatenverarbeitung und zum Anderen zur Speicherung H.4 [Information Systems Applications]: Miscellaneous; von auf Zeitreihen spezialisierte Datenbanksysteme (Time D.2.8 [Software Engineering]: Metrics—complexity mea- Series Databases). Da statistische Analysen etwa mit stand- sures, performance measures alone R Anwendungen nur funktionieren, solange die zu ana- lysierenden Daten die Größe des Hauptspeichers nicht über- General Terms schreiten, ist es notwendig die statistische Analyse in Daten- 1 Big Data, Data Mining and Knowledge Discovery, Streaming R – Programmiersprache für statistische Rechnen und Vi- sualisieren von der R Foundation for Statistical Computing, Data http://www.r-project.org. 2 Matlab – kommerzielle Software zum Lösen Veranschau- lichen mathematischer Probleme vom Entwickler The Ma- thworks, http://www.mathworks.de. 3 Weka – Waikato Environment for Knowledge Analysis, ein Werkzeugkasten für Data Mining und Maschinelles Lernen Copyright c by the paper’s authors. Copying permitted only von der University of Waikato, http://www.cs.waikato.ac. for private and academic purposes. nz/ml/weka/. 4 In: G. Specht, H. Gamper, F. Klan (eds.): Proceedings of the 26th GI- SPSS – kommerzielle Statistik- und Analysesoftware von Workshop on Foundations of Databases (Grundlagen von Datenbanken), IBM, http://www-01.ibm.com/software/de/analytics/ 21.10.2014 - 24.10.2014, Bozen, Italy, published at http://ceur-ws.org. spss. banksysteme zu integrieren. Ziel ist dabei der transparente Es wird derzeit ein möglichst breites Spektrum an Daten Zugriff auf partitionierte Daten und deren Analyse mittels in hoher zeitlicher Auflösung erfasst, um in einem Prozess partitionierter statistischen Modelle. In [6] werden verschie- der Datenexploration auf Zusammenhänge schließen zu kön- dene Möglichkeiten der Integration beschrieben und sind nen, die zunächst nicht offensichtlich sind bzw. um Vermu- in Prototypen basierend auf postgreSQL bereits umgesetzt. tungen zu validieren. Derzeit werden über 300 Kennzahlen Auch kommerzielle Produkte wie etwa Oracle R Enterpri- alle 10 s auf 14 Servern aus 9 Kundenprojekten abgetas- se[4] integrieren statistische Analyse auf Datenbankebene. tet. Diese Daten werden gespeichert und außerdem unmit- Im Open-Source-Bereich existiert eine Vielzahl von Ansät- telbar weiterverarbeitet. So findet etwa ein Downsampling zen zum Umgang mit Zeitreihen, wobei uns InfluxDB5 als für alle genannten 300 Kennzahlen statt. Dabei werden die besonders geeignetes Werkzeug aufgefallen ist. zeitliche Auflösung unter Verwendung verschiedener Aggre- Die Herausforderung innerhalb des im Weiteren beschriebe- gatfunktionen auf Zeitfenster unterschiedlicher Größe redu- nen Projekts PageBeat“ ist es innovative und anwendungs- ziert und die Ergebnisse gespeichert. Andere Analysefunk- ” reife Open-Source-Lösungen aus den genannten Bereichen tionen quantisieren die Werte hinsichtlich ihrer Zugehörig- zur Verarbeitung großer Zeitreihendaten innerhalb des Pro- keit zu Statusklassen (etwa optimal, normal, kritisch) und jektes miteinander zu kombinieren. Im Folgenden wird das speichern die Ergebnisse ebenfalls. So entstehen sehr schnell Projekt vorgestellt, um dann verschiedene in Frage kommen- große Datenmengen. Derzeit enthält der Datenspeicher etwa den Techniken und abschließend das gewählte Konzept und 40 GB Daten und wir beobachten bei der aktuellen Anzahl erste Ergebnisse vorzustellen. beobachteter Werte einen Zuwachs von etwa 1 GB Daten pro Woche. Auf Basis der erhobenen Daten müssen zeit- kritische Analysen wie etwa eine Ausreißererkennung oder 2. PROJEKT PAGEBEAT die Erkennung kritischer Muster nahezu in Echtzeit erfol- Mit PageBeat“ wird eine als Software as a Service“ (SAAS) gen, um Kunden ein rechtzeitiges Eingreifen zu ermöglichen. ” ” angebotene Softwaresuite speziell zur Beobachtung und Über- Weiterhin soll eine Vorhersage zukünftiger Werte frühzeitig prüfung von Webanwendungen entwickelt. Dies erfolgt zu- kritische Entwicklungen aufzeigen. Die Herausforderung im nächst im Rahmen eines vom Bundeswirtschaftsministeri- Projekt ist die Bewältigung des großen Datenvolumens un- um geförderten ZIM-Kooperationsprojektes. Ziel der Soft- ter Gewährleistung einer echtzeitnahen Bearbeitung durch ware ist das Beobachten des und das Berichten über den Analysefunktionen. aktuellen technischen Status einer Webanwendung (Web- site, Content Management System, E-Commerce System, Webservice) sowie das Prognostizieren technischer Proble- 3. ZEITREIHENANALYSE UND DATENBAN- me anhand geeigneter Indikatoren (Hardware- und Software- KEN spezifische Parameter). Die Berichte werden dabei für un- Im Rahmen der Evaluierung von für das Projekt geeigneter terschiedliche Nutzergruppen (Systemadministratoren, Soft- Software haben wir verschiedene Ansätze zur Datenstrom- wareentwickler, Abteilungsleiter, Geschäftsführung, Marke- verarbeitung und der Analyse und Verwaltung von Zeitrei- ting) und deren Anforderungen aufbereitet und präsentiert. hen untersucht. Ziel war die Verwendung frei verfügbarer Mittels PageBeat“ werden somit automatisiert Fehlerbe- ” Software die zudem auf im Unternehmen vorhandener tech- richte erstellt, die über akute sowie vorhersehbare kritische nischer Expertise basiert. Änderungen der Betriebsparameter einer Webanwendung in- formieren und zielgruppenspezifisch dargestellt werden. 3.1 Data Stream Management Systems Bei den zugrunde liegenden Kennzahlen handelt es sich um eine Reihe von Daten, die den Zustand des Gesamtsystems Die Verarbeitung kontinuierlicher Datenströme stellt einen im Anwendungsbereich Webshopsysteme widerspiegeln. Dies Aspekt unseres Projektes dar. Datenstromverarbeitende Sys- sind Kennzahlen des Serverbetriebssystems (etwa CPU oder teme bieten hierzu die Möglichkeit kontinuierliche Anfragen RAM Auslastung) als auch anwendungsspezifische Kennda- auf in temporäre Relationen umgewandelte Datenströme zu ten (etwa die Laufzeit von Datenbankanfragen). Diese Daten formulieren. Dies kann etwa mit Operatoren der im Pro- sind semantisch beschrieben und entsprechende Metadaten jekt Stream[1] entwickelten an SQL angelehnten Continuous sind in einer Wissensbasis abgelegt. Darüber hinaus ist die Query Language[2] erfolgen. Sollen nun komplexere Mus- Verwendung weiterer Kontextinformationen angedacht, die ter in Datenströmen erkannt werden, spricht man auch von Einfluss auf den technischen Status des Systems haben kön- der Verarbeitung komplexer Ereignisse. Im Kontext unseres nen. Hierbei kann es sich etwa um Wetterdaten handeln: Projektes entspricht so ein Muster etwa dem Anstieg der beim Kinobetreiber Cinestar ist ein regnerisches Wochenen- Aufrufe einer Seite aufgrund einer Marketingaktion, welcher de vorausgesagt, dass auf eine hohe Auslastung des Kinokar- eine höhere Systemauslastung zur Folge hat (cpu-usage), tenonlineshops schließen lässt. Ein anderes Beispiel wären was sich wiederum in steigenden time-to-first-byte-Werten Informationen aus der Softwareentwicklung: bei Codeände- niederschlägt und in einem kritischen Bereich zur Benach- rungen mit einem bestimmten Zeitstempel können Effekte in richtigung oder gar zur automatischen Aufstockung der ver- den Auswertungen zu diesem Zeitpunkt nachgewiesen wer- fügbaren Ressourcen führen soll. Complex Event Proces- den. Das Ändern oder Hinzufügen bzw. Beachten von rele- sing Systems wie Esper[5] bieten die Möglichkeit Anfragen vanten Inhalten auf den Webseiten können signifikante Än- nach solchen Mustern auf Datenströme zu formulieren und derungen in Analysen ergeben, z.B. bei der Schaltung von entsprechende Reaktionen zu implementieren. Da etwa Es- Werbung oder bei Filmbewertungen zu neu anlaufenden Fil- per als eines der wenigen frei verfügbaren und für den pro- men auf sozialen Plattformen. duktiven Einsatz geeigneten Systeme, in Java und .net im- plementiert ist, entsprechende Entwicklungskapazitäten je- 5 doch nicht im Unternehmen zur Verfügung stehen, wird im InfluxDB - An open-source distributed time series database with no external dependencies. http://influxdb.com. Projekt keines der erwähnten DSMS oder CEPS zum Ein- satz kommen. Deren Architektur diente jedoch zur Orientie- Möglichkeit Oracle Data Frames zu verwenden, um Daten- rung bei der Entwicklung eines eigenen mit im Unternehmen lokalität zu erreichen. Dabei wird der Code in der Oracle- eingesetzten Techniken (etwa node.js6 , RabbitMQ7 , Mon- Umgebung ausgeführt, dort wo die Daten liegen und nicht goDB8 , u.a.) Systems für PageBeat. umgekehrt. Außerdem erfolgt so ein transparenter Zugriff auf die Daten und Aspekte der Skalierung werden durch das 3.2 Werkzeuge zur Datenanalyse DBMS abgewickelt. Zur statistischen Auswertung der Daten im Projekt werden Neben den klassischen ORDBMS existieren eine Vielzahl Werkzeuge benötigt, die es ohne großen Implementierungs- von auf Zeitserien spezialisierte Datenbanken wie OpenTSDB14 , aufwand ermöglichen verschiedene Verfahren auf die erhobe- KairosDB15 , RRDB16 . Dabei handelt es sich jeweils um einen nen Daten anzuwenden und auf ihre Eignung hin zu untersu- auf Schreibzugriffe optimierten Datenspeicher in Form einer chen. Hierfür stehen verschiedene mathematische Werkzeuge schemalosen Datenbank und darauf zugreifende Anfrage-, zur Verfügung. Kommerzielle Produkte sind etwa die bereits Analyse- und Visualisierungsfunktionalität. Man sollte sie erwähnten Matlab oder SPSS. Im Bereich frei verfügbarer deshalb vielmehr als Ereignis-Verarbeitungs- oder Monitoring- Software kann man auf WEKA und vor allem R zurückgrei- Systeme bezeichnen. Neben den bisher genannten Zeitserien- fen. Besonders R ist sehr weit verbreitet und wird von ei- datenbanken ist uns bei der Recherche von für das Projekt ner großen Entwicklergemeinde getragen. Dadurch sind für geeigneter Software InfluxDB17 aufgefallen. InfluxDB ver- R bereits eine Vielzahl von Verfahren zur Datenaufberei- wendet Googles auf Log-structured merge-trees basierenden tung und deren statistischer Analyse bis hin zur entspre- key-value Store LevelDB18 und setzt somit auf eine hohen chenden Visualisierung implementiert. Gerade in Bezug auf Durchsatz bzgl. Schreiboperationen. Einen Nachteil hinge- die Analyse von Zeitreihen ist R aufgrund vielfältiger ver- gen stellen langwierige Löschoperationen ganzer nicht mehr fügbarer Pakete zur Zeitreihenanalyse gegenüber WEKA die benötigter Zeitbereiche dar. Die einzelnen Zeitreihen werden geeignetere Wahl. Mit RStudio9 steht außerdem eine kom- bei der Speicherung sequenziell in sogenannte Shards unter- fortable Entwicklungsumgebung zur Verfügung. Weiterhin teilt, wobei jeder Shard in einer einzelnen Datenbank gespei- können mit dem Web Framework Shiny10 schnell R Anwen- chert wird. Eine vorausschauenden Einrichtung verschiede- dungen im Web bereit gestellt werden und unterstützt so- ner Shard-Spaces (4 Stunden, 1 Tag, 1 Woche etc.) ermög- mit eine zügige Anwendungsentwicklung. Somit stellt R mit licht es, das langsame Löschen von Zeitbereichen durch das den zugehörigen Erweiterungen die für das Projekt geeignete einfache Löschen ganzer Shards also ganzer Datenbanken Umgebung zur Evaluierung von Datenanalyseverfahren und (drop database) zu kompensieren. Eine verteilte Speicherung zur Datenexploration dar. Im weiteren Verlauf des Projektes der Shards auf verschiedenen Rechnerknoten die wiederum und in der Überführung in ein produktives System wird die in verschiedenen Clustern organisiert sein können, ermög- Datenanalyse, etwa die Berechnung von Vorhersagen, inner- licht eine Verteilung der Daten, die falls gewünscht auch red- halb von node.js reimplementiert. undant mittels Replikation auf verschiedene Knoten erfolgen kann. Die Verteilung der Daten auf verschiedene Rechner- 3.3 Datenbankunterstützung knoten ermöglicht es auch die Berechnung von Aggregaten über Zeitfenster die unterhalb der Shardgröße liegen, zu ver- Klassische objektrelationale DBMS wie Oracle11 , IBM In- teilen und somit Lokalität der Daten und einen Performance- formix12 oder PostgreSQL13 unterstützen in unterschiedli- Vorteil zu erreichen. Auch hier ist es sinnvoll Shardgrößen chem Umfang die Speicherung, Anfrage und Auswertung vorausschauend zu planen. Die Anfragen an InfluxDB kön- von Zeitreihen. PostgreSQL ermöglicht bswp. die Verwen- nen mittels einer SQL-ähnlichen Anfragesprache über eine dung von Fensterfunktionen etwa zur Berechnung von Ag- http-Schnittstelle formuliert werden. Es werden verschiedene gregatwerten für entsprechende Zeitabschnitte. Die IBM In- Aggregatfunktionen bereitgestellt, die eine Ausgabe bspw. formix TimeSeries Solution[3] stellt Container zur Speiche- gruppiert nach Zeitintervallen für einen gesamten Zeitbe- rung von Zeitreihendaten zur Verfügung, wodurch der Spei- reich erzeugen, wobei die Verwendung Regulärer Ausdrücke cherplatzbedarf optimiert, die Anfragegeschwindigkeit erhöht unterstützt wird: sowie die Komplexität der Anfragen reduziert werden sol- len. Oracle unterstützt nicht nur die Speicherung und An- frage von Zeitreihen, sondern integriert darüber hinaus um- select median(used) from /cpu\.*/ fassende statistische Analysefunktionalität mittels Oracle R where time > now() - 4h group by time(5m) Technologies[4]. Dabei hat der R-Anwendungsentwickler die Hier wird der Median des used“-Wertes für alle 5-Minuten- ” 6 node.js - a cross-platform runtime environment for server- Fenster der letzten 4 Stunden für alle CPUs berechnet und side and networking applications. http://nodejs.org/. ausgegeben. Neben normalen Anfragen können auch soge- 7 RabbitMQ - Messaging that just works. http://www. nannte Continuous Queries eingerichtet werden, die etwa das rabbitmq.com. einfache Downsampling von Messdaten ermöglichen: 8 MongoDB - An open-source document database. http:// www.mongodb.org/. 14 OpenTSDB - Scalable Time Series Database. http:// 9 RStudio - open source and enterprise-ready professional opentsdb.net/. software for the R statistical computing environment. http: 15 KairosDB - Fast Scalable Time Series Database. https: //www.rstudio.com. //code.google.com/p/kairosdb/. 10 16 Shiny - A web application framework for R. http://shiny. RRDB - Round Robin Database. http://oss.oetiker.ch/ rstudio.com. rrdtool/. 11 17 Oracle. http://www.oracle.com. InfluxDB - An open-source distributed time series database 12 IBM Informix. http://www-01.ibm.com/software/data/ with no external dependencies. http://influxdb.com/. informix/. 18 LevelDB - A fast and lightweight key-value database library 13 PostgreSQL. http://www.postgresql.org/. by Google. http://code.google.com/p/leveldb/. select count(name) from clicks Datenstrom (Drohne, Lasttestserver, Clientsimulation, etc.) group by time(1h) into clicks.count.1h InfluxDB befindet sich noch in einem frühen Stadium der Entwicklung und wird ständig weiterentwickelt. So ist etwa angekündigt, dass zukünftig bspw. das Speichern von Meta- daten zu Zeitreihen (Einheiten, Abtastrate, etc.) oder auch Vorverarbeitung die Implementierung nutzerdefinierter Aggregatfunktionen / Data Cleaning ermöglicht wird. InfluxDB ist ein für unsere Anwendung viel- versprechendes Werkzeug, wobei jedoch abzuwarten bleibt, Integration inwiefern es sich für den produktiven Einsatz eignet. Aus die- sem Grund wird derzeit zusätzlich zu InfluxDB, MongoDB parallel als im Unternehmen bewährter Datenspeicher ver- wendet. Ergebnisse Adhoc‐Analyse Wissens (outlier, etc.) Basis 4. LÖSUNG IN PAGEBEAT Im Projekt Pagebeat wurden verschiedene Lösungsansätze getestet, wobei die Praktikabilität beim Einsatz im Unter- nehmen, die schnelle Umsetzbarkeit sowie die freie Verfüg- barkeit der eingesetzten Werkzeuge die entscheidende Rolle Daten Speicher spielten. 4.1 Datenfluss Daten Der Datenfluss innerhalb der Gesamtarchitektur ist in Ab- Explorer bildung 1 dargestellt. Die Messdaten werden von einer Droh- Langzeit‐ ne19 sowie Clientsimulatoren und Lasttestservern in äquidi- Analyse Ergebnisse stanten Zeitabschnitten (meist 10 s) ermittelt. Die erhobe- nen Daten werden einem Loggingdienst per REST-Schnittstelle zur Verfügung gestellt und reihen sich in die Warteschlange eines Nachrichtenservers ein. Von dort aus werden sie ihrer Abbildung 1: Datenfluss Signatur entsprechend durch registrierte Analyse- bzw. In- terpretationsprozesse verarbeitet, wobei die Validierung der eintreffenden Daten sowie die Zuordnung zu registrierten 4.3 Speicherung der Zeitreihen Analysefunktionen mittels einer Wissensbasis erfolgt. Ergeb- Die Speicherung der Messdaten sowie Analyse- und Inter- nisse werden wiederum als Nachricht zur Verfügung gestellt pretationsergebnisse erfolgt zum Einen in der im Unterneh- und falls vorgesehen persistent gespeichert. So in die Nach- men bewährten, auf hochfrequente Schreibvorgänge opti- richtenschlange gekommene Ergebnisse können nun weitere mierten schemafreien Datenbank MongoDB. Zum Anderen Analysen bzw. Interpretationen oder die Auslösung einer Be- setzen wir mittlerweile parallel zu MongoDB auf InfluxDB. nachrichtigung zur Folge haben. Der Daten Explorer ermög- So kann z.B. über die in InluxDB zur Verfügung stehen- licht eine Sichtung von Rohdaten und bereits in PageBeat den Continious Queries ein automatisches Downsampling integrierten Analyseergebnissen sowie Tests für zukünftige und somit eine Datenreduktion der im 10 Sekunden Takt Analysefunktionen. erhobenen Daten erfolgen. Das Downsampling erfolgt der- zeit durch die Berechnung der Mittelwerte von Zeitfenstern 4.2 Wissensbasis einer Länge von 1 Minute bis hin zu einem Tag und ge- Die Wissenbasis bildet die Grundlage für die modular auf- neriert somit automatisch unterschiedliche zeitliche Auflö- gebauten Analyse- und Interpretationsprozesse. Die Abbil- sungen für alle Messwerte. Außerdem stellt die SQL ähn- dung 2 dargestellten ParameterValues“ repräsentieren die liche Anfragesprache von InfluxDB eine Vielzahl von für ” Messdaten und deren Eigenschaften wie Name, Beschrei- die statistische Auswertung hilfreichen Aggregatfunktionen bung oder Einheit. ParameterValues können zu logischen (min, max, mean, median, stddev, percentile, histogramm, Gruppen (Parameters) zusammengefasst werden (wie z.B. etc.) zur Verfügung. Weiterhin soll es zukünftig möglich sein die ParameterValues: system“, load“, iowait“ und max“ benutzerdefinierte Funktionen mit eigener Analysefunktio- ” ” ” ” zum Parameter cpu“). Parameter sind mit Visualisierungs- nalität (etwa Autokorrelation, Kreuzkorrelation, Vorhersa- ” komponenten und Kundendaten sowie mit Analysen und ge, etc.) auf Datenbankebene umzusetzen oder auch das Interpretationen verknüpft. Analysen und Interpretationen automatische Zusammenführen verschiedener Zeitserien an- sind modular aufgebaut und bestehen jeweils aus Eingangs- hand eines Timestamp-Attributs durchzuführen. Dies wür- und Ausgangsdaten (ParameterValues) sowie aus Verweisen de schon auf Datenbankebene eine zeitreihenübergreifende auf den Programmcode. Weiterhin sind ihnen spezielle Me- Analyse (bspw. Korrelation) unterstützen und senkt den Re- thodenparameter zugeordnet. Hierbei handelt es sich etwa implentierungsaufwand von R Funktionalität aus der Daten- um Start und Ende eines Zeitfensters, Schwellenwerte oder explorationsphase. Da herkömmliche Datenbanken nicht die andere Modellparameter. Die Wissensbasis ist mittels eines hohe Performance bzgl. Schreibzugriffen erreichen und kaum relationalem Schemas in MySQL abgebildet. auf Zeitreihen spezialisierte Anfragen unterstützen, scheint 19 InfluxDB ein geeigneter Kandidat für den Einsatz innerhalb Auf dem zu beobachtenden System installierter Agent zur Datenerhebung. PageBeats zu sein. Analysis Visualisation Parameter Abbildung 4: Autokorrelation gebnissen dient. Abbildung 5 zeigt etwa die Darstellung ag- Abbildung 2: Ausschnitt Schema Wissensbasis gregierter Parameter in Ampelform (rot = kritisch, gelb = Warnung, grün = normal, blau = optimal) was schnell einen Eindruck über den Zustand verschiedener Systemparameter ermöglicht. Interpretation 4.4 Datenexploration Customer Data Die Datenexploration soll dazu dienen, Administratoren und auch Endnutzern die Möglichkeit zu geben, die für sie rele- vanten Daten mit den richtigen Werkzeugen zu analysieren. Während der Entwicklung nutzen wir die Datenexploration als Werkzeug zur Ermittlung relevanter Analysemethoden und zur Evaluierung sowie Visualisierung der Datenströme. Abbildung 3 zeigt eine einfache Nutzerschnittstelle umge- setzt mit Shiny zur Datenauswertung mittels R mit Zu- griff auf unterschiedliche Datenbanken, InfluxDB und Mon- goDB. Verschiedene Parameter zur Auswahl des Zeitraumes, der Analysefunktion und deren Parameter sowie Visualisie- rungsparameter. Hier sind durchschnittliche CPU-Nutzung und durchschnitt- liche Plattenzugriffszeiten aus einer Auswahl aus 10 Zeitse- Abbildung 5: Ampel rien dargestellt. Mittels unterem Interaktionselement lassen sich Intervalle selektieren und die Granularität anpassen. Analysefunktionalität die über Aggregationen auf Daten- Mit ähnlichen Visualisierungsmethoden lassen sich auch Au- bankebene hinausgehen wird von uns in einer Experimen- tokorrelationsanalysen visualisieren, siehe Abbildung 4. talumgebung umgesetzt und evaluiert. Diese basiert auf R. So stehen eine Vielzahl statistischer Analysemethoden und 4.5 Analyse und Interpretation Methoden zur Aufbereitung komplexer Datenstrukturen in Analysen sind Basisoperationen wie die Berechnung von Mit- Form von R Paketen zur Verfügung. Darüber hinaus ermög- telwert, Median, Standardabweichung, Autokorrelation u.a. licht das R-Paket Shiny Server“ die komfortable Bereitstel- ” deren Ergebnisse falls nötig persistent gespeichert werden lung von R Funktionalität für das Web. Ein wesentlicher Teil oder direkt anderen Verarbeitungsschritten als Eingabe über- unser Experimentalumgebung ist der Pagebeat Data Explo- geben werden können. Die Spezifizierung der Analysefunk- rer (siehe Abbildung 3). Dieser basiert auf den genannten tionen erfolgt in der Wissensbasis, die eigentliche Implemen- Techniken und ermöglicht die Sichtung der erfassten Roh- tierung ist möglichst nahe an den zu analysierenden Daten, daten oder das Spielen“ mit Analysemethoden und Vorher- ” wenn möglich unter Verwendung von Aggregat- oder benut- sagemodellen. zerdefinierten Funktionen des Datenbanksystems, umzuset- zen. Wissensbasis und Analyse sind hierzu mittels eines me- 5. ZUSAMMENFASSUNG UND AUSBLICK ” thod codepath“ verknüpft. Pagebeat ist ein Projekt, bei dem es insbesondere auf eine Interpretationen funktionieren analog zur Analyse bilden je- performante Speicherung und schnelle Adhoc-Auswertung doch Berechnungsvorschriften etwa für den Gesamtindex (Pagebeat- der Daten ankommt. Dazu wurden verschiedene Lösungsan- Faktor) des Systems bzw. einzelner Teilsysteme ab, in dem sätze betrachtet und die favorisierte Lösung auf Basis von sie z.B. Analyseergebnisse einzelner Zeitreihen gewichtet zu- InfluxDB und R beschrieben. sammenführen. Weiterhin besitzen Interpretationen einen Die konzeptionelle Phase ist abgeschlossen, die Projektin- Infotyp, welcher der nutzerspezifischen Aufbereitung von Er- frastruktur umgesetzt und erste Analysemethoden wie Aus- Abbildung 3: Daten reißererkennung oder Autokorrelation wurden ausprobiert. [7] M. Hall, E. Frank, G. Holmes, B. Pfahringer, Derzeit beschäftigen wir uns mit den Möglichkeiten einer P. Reutemann, and I. H. Witten. The weka data mining Vorhersage von Zeitreihenwerten. Dazu werden Ergebnisse software: An update. SIGKDD Explorations, 11(1), der Autokorrelationsanalyse zur Identifikation von Abhän- 2009. gigkeiten innerhalb von Zeitreihen verwendet um die Qua- lität von Vorhersagen abschätzen zu können. Weiterhin ist geplant Analysen näher an der Datenbank auszuführen um Datenlokalität zu unterstützen. 6. REFERENCES [1] A. Arasu, B. Babcock, S. Babu, J. Cieslewicz, M. Datar, K. Ito, R. Motwani, U. Srivastava, and J. Widom. Stream: The stanford data stream management system. Technical Report 2004-20, Stanford InfoLab, 2004. [2] A. Arasu, S. Babu, and J. Widom. The cql continuous query language: Semantic foundations and query execution. Technical Report 2003-67, Stanford InfoLab, 2003. [3] K. Chinda and R. Vijay. Informix timeseries solution. http://www.ibm.com/developerworks/data/library/ techarticle/dm-1203timeseries, 2012. [4] O. Corporation. R technologies from oracle. http://www.oracle.com/technetwork/topics/ bigdata/r-offerings-1566363.html, 2014. [5] EsperTech. Esper. http://esper.codehaus.org, 2014. [6] U. Fischer, L. Dannecker, L. Siksnys, F. Rosenthal, M. Boehm, and W. Lehner. Towards integrated data analytics: Time series forecasting in dbms. Datenbank-Spektrum, 13(1):45–53, 2013.