=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== https://ceur-ws.org/Vol-1313/paper_10.pdf
              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.