<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>PageBeat - Zeitreihenanalyse und Datenbanken</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Andreas Finger</string-name>
          <email>andreas.finger@unirostock.de</email>
          <email>nger@uni-</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Ilvio Bruder</string-name>
          <email>ilvio.bruder@uni-</email>
          <email>ilvio.bruder@unirostock.de</email>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Andreas Heuer</string-name>
          <email>andreas.heuer@unirostock.de</email>
          <xref ref-type="aff" rid="aff3">3</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Steffen Konerow</string-name>
          <email>sk@mandarin-medien.de</email>
          <xref ref-type="aff" rid="aff4">4</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Martin Klemkow</string-name>
          <email>mk@mandarin-</email>
          <email>mk@mandarinmedien.de</email>
          <xref ref-type="aff" rid="aff4">4</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Big Data, Data Mining and Knowledge Discovery, Streaming</string-name>
          <email>sk@mandarin-medien.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Data</institution>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Institut für Informatik, Universität Rostock</institution>
          ,
          <addr-line>18051 Rostock</addr-line>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>Institut für Informatik, Universität Rostock</institution>
          ,
          <addr-line>18051 Rostock</addr-line>
        </aff>
        <aff id="aff3">
          <label>3</label>
          <institution>Institut für Informatik, Universität Rostock</institution>
          ,
          <addr-line>18051 Rostock</addr-line>
        </aff>
        <aff id="aff4">
          <label>4</label>
          <institution>Mandarin Medien GmbH</institution>
          ,
          <addr-line>Graf-Schack-Allee 9, 19053 Schwerin</addr-line>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2014</year>
      </pub-date>
      <abstract>
        <p>Zeitreihendaten und deren Analyse sind in vielen Anwendungsbereichen eine wichtiges Mittel zur Bewertung, Steuerung und Vorhersage. Fur die Zeitreihenanalyse gibt es eine Vielzahl von Methoden und Techniken, die in Statistiksoftware umgesetzt und heutzutage komfortabel auch ohne eigenen Implementierungsaufwand einsetzbar sind. In den meisten Fallen hat man es mit massenhaft Daten oder auch Datenstromen zu tun. Entsprechend gibt es spezialisierte Management-Tools, wie Data Stream Management Systems fur die Verarbeitung von Datenstromen oder Time Series Databases zur Speicherung und Anfrage von Zeitreihen. Der folgende Artikel soll hier zu einen kleinen U berblick geben und insbesondere die Anwendbarkeit an einem Projekt zur Analyse und Vorhersage von Zustanden von Webservern veranschaulichen. Die Herausforderung innerhalb dieses Projekts "PageBeat\ ist es massenhaft Zeitreihen in Echtzeit zu analysieren und fur weiterfuhrende Analyseprozesse zu speichern. Au erdem sollen die Ergebnisse zielgruppenspezi sch aufbereitet und visualisiert sowie Benachrichtigungen ausgelost werden. Der Artikel beschreibt den im Projekt gewahlten Ansatz und die dafur eingesetzten Techniken und Werkzeuge. H.4 [Information Systems Applications]: Miscellaneous; D.2.8 [Software Engineering]: Metrics|complexity measures, performance measures General Terms</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Categories and Subject Descriptors</title>
      <p>1.</p>
    </sec>
    <sec id="sec-2">
      <title>EINFÜHRUNG</title>
      <p>
        Zeitreihen sind naturlich geordnete Folgen von
Beobachtungswerten. Die Zeitreihenanalyse beschaftigt sich mit
Methoden zur Beschreibung dieser Daten etwa mit dem Ziel
der Analyse (Verstehen), Vorhersage oder Kontrolle
(Steuerung) der Daten. Entsprechende Methoden stehen in
freier und kommerzieller Statistiksoftware wie R1 , Matlab2,
Weka3 [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ], SPSS4 und anderen zur Verfugung wodurch
eine komfortable Datenauswertung ohne eigenen
Implementierungsaufwand ermoglicht wird. Verfahren zur
Zeitreihenanalyse sind etwa die Ermittlung von Trends und
Saisonalitat, wobei der Trend den langerfristigen Anstieg und die
Saisonalitat wiederkehrende Muster (jedes Jahr zu
Weihnachten steigen die Verkaufe) reprasentieren. So werden
Abhangigkeiten in den Daten untersucht, welche eine Prognose
zukunftiger Werte mit Hilfe geeigneter Modelle ermoglichen.
In einer Anwendung die in hoher zeitlicher Au osung eine
Vielzahl von Messwerten erfasst, entstehen schnell gro e
Datenmengen. Diese sollen in Echtzeit analysiert werden und
gegebenenfalls zur weiteren Auswertung persistent
gespeichert werden. Hierfur existieren zum Einen Ansatze aus der
Stromdatenverarbeitung und zum Anderen zur Speicherung
von auf Zeitreihen spezialisierte Datenbanksysteme (Time
Series Databases). Da statistische Analysen etwa mit
standalone R Anwendungen nur funktionieren, solange die zu
analysierenden Daten die Gro e des Hauptspeichers nicht
uberschreiten, ist es notwendig die statistische Analyse in
Daten1R { Programmiersprache fur statistische Rechnen und
Visualisieren von der R Foundation for Statistical Computing,
http://www.r-project.org.
2Matlab { kommerzielle Software zum Losen
Veranschaulichen mathematischer Probleme vom Entwickler The
Mathworks, http://www.mathworks.de.
3Weka { Waikato Environment for Knowledge Analysis, ein
Werkzeugkasten fur Data Mining und Maschinelles Lernen
von der University of Waikato, http://www.cs.waikato.ac.
nz/ml/weka/.
4SPSS { kommerzielle Statistik- und Analysesoftware von
IBM, http://www-01.ibm.com/software/de/analytics/
spss.
banksysteme zu integrieren. Ziel ist dabei der transparente
Zugri auf partitionierte Daten und deren Analyse mittels
partitionierter statistischen Modelle. In [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] werden
verschiedene Moglichkeiten der Integration beschrieben und sind
in Prototypen basierend auf postgreSQL bereits umgesetzt.
Auch kommerzielle Produkte wie etwa Oracle R
Enterprise[
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] integrieren statistische Analyse auf Datenbankebene.
Im Open-Source-Bereich existiert eine Vielzahl von
Ansatzen zum Umgang mit Zeitreihen, wobei uns In uxDB5 als
besonders geeignetes Werkzeug aufgefallen ist.
      </p>
      <p>Die Herausforderung innerhalb des im Weiteren
beschriebenen Projekts PageBeat\ ist es innovative und
anwendungs"
reife Open-Source-Losungen aus den genannten Bereichen
zur Verarbeitung gro er Zeitreihendaten innerhalb des
Projektes miteinander zu kombinieren. Im Folgenden wird das
Projekt vorgestellt, um dann verschiedene in Frage
kommenden Techniken und abschlie end das gewahlte Konzept und
erste Ergebnisse vorzustellen.</p>
    </sec>
    <sec id="sec-3">
      <title>PROJEKT PAGEBEAT</title>
      <p>Mit "PageBeat\ wird eine als "Software as a Service\ (SAAS)
angebotene Softwaresuite speziell zur Beobachtung und U
berprufung von Webanwendungen entwickelt. Dies erfolgt
zunachst im Rahmen eines vom
Bundeswirtschaftsministerium geforderten ZIM-Kooperationsprojektes. Ziel der
Software ist das Beobachten des und das Berichten uber den
aktuellen technischen Status einer Webanwendung
(Website, Content Management System, E-Commerce System,
Webservice) sowie das Prognostizieren technischer
Probleme anhand geeigneter Indikatoren (Hardware- und
Softwarespezi sche Parameter). Die Berichte werden dabei fur
unterschiedliche Nutzergruppen (Systemadministratoren,
Softwareentwickler, Abteilungsleiter, Geschaftsfuhrung,
Marketing) und deren Anforderungen aufbereitet und prasentiert.
Mittels PageBeat\ werden somit automatisiert
Fehlerbe"
richte erstellt, die uber akute sowie vorhersehbare kritische
A nderungen der Betriebsparameter einer Webanwendung
informieren und zielgruppenspezi sch dargestellt werden.
Bei den zugrunde liegenden Kennzahlen handelt es sich um
eine Reihe von Daten, die den Zustand des Gesamtsystems
im Anwendungsbereich Webshopsysteme widerspiegeln. Dies
sind Kennzahlen des Serverbetriebssystems (etwa CPU oder
RAM Auslastung) als auch anwendungsspezi sche
Kenndaten (etwa die Laufzeit von Datenbankanfragen). Diese Daten
sind semantisch beschrieben und entsprechende Metadaten
sind in einer Wissensbasis abgelegt. Daruber hinaus ist die
Verwendung weiterer Kontextinformationen angedacht, die
Ein uss auf den technischen Status des Systems haben
konnen. Hierbei kann es sich etwa um Wetterdaten handeln:
beim Kinobetreiber Cinestar ist ein regnerisches
Wochenende vorausgesagt, dass auf eine hohe Auslastung des
Kinokartenonlineshops schlie en lasst. Ein anderes Beispiel waren
Informationen aus der Softwareentwicklung: bei
Codeanderungen mit einem bestimmten Zeitstempel konnen E ekte in
den Auswertungen zu diesem Zeitpunkt nachgewiesen
werden. Das A ndern oder Hinzufugen bzw. Beachten von
relevanten Inhalten auf den Webseiten konnen signi kante A
nderungen in Analysen ergeben, z.B. bei der Schaltung von
Werbung oder bei Filmbewertungen zu neu anlaufenden
Filmen auf sozialen Plattformen.
5In uxDB - An open-source distributed time series database
with no external dependencies. http://influxdb.com.
Es wird derzeit ein moglichst breites Spektrum an Daten
in hoher zeitlicher Au osung erfasst, um in einem Prozess
der Datenexploration auf Zusammenhange schlie en zu
konnen, die zunachst nicht o ensichtlich sind bzw. um
Vermutungen zu validieren. Derzeit werden uber 300 Kennzahlen
alle 10 s auf 14 Servern aus 9 Kundenprojekten
abgetastet. Diese Daten werden gespeichert und au erdem
unmittelbar weiterverarbeitet. So ndet etwa ein Downsampling
fur alle genannten 300 Kennzahlen statt. Dabei werden die
zeitliche Au osung unter Verwendung verschiedener
Aggregatfunktionen auf Zeitfenster unterschiedlicher Gro e
reduziert und die Ergebnisse gespeichert. Andere
Analysefunktionen quantisieren die Werte hinsichtlich ihrer
Zugehorigkeit zu Statusklassen (etwa optimal, normal, kritisch) und
speichern die Ergebnisse ebenfalls. So entstehen sehr schnell
gro e Datenmengen. Derzeit enthalt der Datenspeicher etwa
40 GB Daten und wir beobachten bei der aktuellen Anzahl
beobachteter Werte einen Zuwachs von etwa 1 GB Daten
pro Woche. Auf Basis der erhobenen Daten mussen
zeitkritische Analysen wie etwa eine Ausrei ererkennung oder
die Erkennung kritischer Muster nahezu in Echtzeit
erfolgen, um Kunden ein rechtzeitiges Eingreifen zu ermoglichen.
Weiterhin soll eine Vorhersage zukunftiger Werte fruhzeitig
kritische Entwicklungen aufzeigen. Die Herausforderung im
Projekt ist die Bewaltigung des gro en Datenvolumens
unter Gewahrleistung einer echtzeitnahen Bearbeitung durch
Analysefunktionen.
3.</p>
    </sec>
    <sec id="sec-4">
      <title>ZEITREIHENANALYSE UND DATENBANKEN</title>
      <p>Im Rahmen der Evaluierung von fur das Projekt geeigneter
Software haben wir verschiedene Ansatze zur
Datenstromverarbeitung und der Analyse und Verwaltung von
Zeitreihen untersucht. Ziel war die Verwendung frei verfugbarer
Software die zudem auf im Unternehmen vorhandener
technischer Expertise basiert.
3.1</p>
    </sec>
    <sec id="sec-5">
      <title>Data Stream Management Systems</title>
      <p>
        Die Verarbeitung kontinuierlicher Datenstrome stellt einen
Aspekt unseres Projektes dar. Datenstromverarbeitende
Systeme bieten hierzu die Moglichkeit kontinuierliche Anfragen
auf in temporare Relationen umgewandelte Datenstrome zu
formulieren. Dies kann etwa mit Operatoren der im
Projekt Stream[
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] entwickelten an SQL angelehnten Continuous
Query Language[
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] erfolgen. Sollen nun komplexere
Muster in Datenstromen erkannt werden, spricht man auch von
der Verarbeitung komplexer Ereignisse. Im Kontext unseres
Projektes entspricht so ein Muster etwa dem Anstieg der
Aufrufe einer Seite aufgrund einer Marketingaktion, welcher
eine hohere Systemauslastung zur Folge hat (cpu-usage),
was sich wiederum in steigenden time-to- rst-byte-Werten
niederschlagt und in einem kritischen Bereich zur
Benachrichtigung oder gar zur automatischen Aufstockung der
verfugbaren Ressourcen fuhren soll. Complex Event
Processing Systems wie Esper[
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] bieten die Moglichkeit Anfragen
nach solchen Mustern auf Datenstrome zu formulieren und
entsprechende Reaktionen zu implementieren. Da etwa
Esper als eines der wenigen frei verfugbaren und fur den
produktiven Einsatz geeigneten Systeme, in Java und .net
implementiert ist, entsprechende Entwicklungskapazitaten
jedoch nicht im Unternehmen zur Verfugung stehen, wird im
Projekt keines der erwahnten DSMS oder CEPS zum
Einsatz kommen. Deren Architektur diente jedoch zur
Orientierung bei der Entwicklung eines eigenen mit im Unternehmen
eingesetzten Techniken (etwa node.js6, RabbitMQ7,
MongoDB8, u.a.) Systems fur PageBeat.
3.2
      </p>
    </sec>
    <sec id="sec-6">
      <title>Werkzeuge zur Datenanalyse</title>
      <p>Zur statistischen Auswertung der Daten im Projekt werden
Werkzeuge benotigt, die es ohne gro en
Implementierungsaufwand ermoglichen verschiedene Verfahren auf die
erhobenen Daten anzuwenden und auf ihre Eignung hin zu
untersuchen. Hierfur stehen verschiedene mathematische Werkzeuge
zur Verfugung. Kommerzielle Produkte sind etwa die bereits
erwahnten Matlab oder SPSS. Im Bereich frei verfugbarer
Software kann man auf WEKA und vor allem R
zuruckgreifen. Besonders R ist sehr weit verbreitet und wird von
einer gro en Entwicklergemeinde getragen. Dadurch sind fur
R bereits eine Vielzahl von Verfahren zur
Datenaufbereitung und deren statistischer Analyse bis hin zur
entsprechenden Visualisierung implementiert. Gerade in Bezug auf
die Analyse von Zeitreihen ist R aufgrund vielfaltiger
verfugbarer Pakete zur Zeitreihenanalyse gegenuber WEKA die
geeignetere Wahl. Mit RStudio9 steht au erdem eine
komfortable Entwicklungsumgebung zur Verfugung. Weiterhin
konnen mit dem Web Framework Shiny10 schnell R
Anwendungen im Web bereit gestellt werden und unterstutzt
somit eine zugige Anwendungsentwicklung. Somit stellt R mit
den zugehorigen Erweiterungen die fur das Projekt geeignete
Umgebung zur Evaluierung von Datenanalyseverfahren und
zur Datenexploration dar. Im weiteren Verlauf des Projektes
und in der U berfuhrung in ein produktives System wird die
Datenanalyse, etwa die Berechnung von Vorhersagen,
innerhalb von node.js reimplementiert.
3.3</p>
    </sec>
    <sec id="sec-7">
      <title>Datenbankunterstützung</title>
      <p>
        Klassische objektrelationale DBMS wie Oracle11, IBM
Informix12 oder PostgreSQL13 unterstutzen in
unterschiedlichem Umfang die Speicherung, Anfrage und Auswertung
von Zeitreihen. PostgreSQL ermoglicht bswp. die
Verwendung von Fensterfunktionen etwa zur Berechnung von
Aggregatwerten fur entsprechende Zeitabschnitte. Die IBM
Informix TimeSeries Solution[
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] stellt Container zur
Speicherung von Zeitreihendaten zur Verfugung, wodurch der
Speicherplatzbedarf optimiert, die Anfragegeschwindigkeit erhoht
sowie die Komplexitat der Anfragen reduziert werden
sollen. Oracle unterstutzt nicht nur die Speicherung und
Anfrage von Zeitreihen, sondern integriert daruber hinaus
umfassende statistische Analysefunktionalitat mittels Oracle R
Technologies[
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. Dabei hat der R-Anwendungsentwickler die
6node.js - a cross-platform runtime environment for
serverside and networking applications. http://nodejs.org/.
7RabbitMQ - Messaging that just works. http://www.
rabbitmq.com.
8MongoDB - An open-source document database. http://
www.mongodb.org/.
9RStudio - open source and enterprise-ready professional
software for the R statistical computing environment. http:
//www.rstudio.com.
10Shiny - A web application framework for R. http://shiny.
rstudio.com.
11Oracle. http://www.oracle.com.
12IBM Informix. http://www-01.ibm.com/software/data/
informix/.
13PostgreSQL. http://www.postgresql.org/.
      </p>
      <p>Moglichkeit Oracle Data Frames zu verwenden, um
Datenlokalitat zu erreichen. Dabei wird der Code in der
OracleUmgebung ausgefuhrt, dort wo die Daten liegen und nicht
umgekehrt. Au erdem erfolgt so ein transparenter Zugri
auf die Daten und Aspekte der Skalierung werden durch das
DBMS abgewickelt.</p>
      <p>Neben den klassischen ORDBMS existieren eine Vielzahl
von auf Zeitserien spezialisierte Datenbanken wie OpenTSDB14,
KairosDB15, RRDB16. Dabei handelt es sich jeweils um einen
auf Schreibzugri e optimierten Datenspeicher in Form einer
schemalosen Datenbank und darauf zugreifende Anfrage-,
Analyse- und Visualisierungsfunktionalitat. Man sollte sie
deshalb vielmehr als Ereignis-Verarbeitungs- oder
MonitoringSysteme bezeichnen. Neben den bisher genannten
Zeitseriendatenbanken ist uns bei der Recherche von fur das Projekt
geeigneter Software In uxDB17 aufgefallen. In uxDB
verwendet Googles auf Log-structured merge-trees basierenden
key-value Store LevelDB18 und setzt somit auf eine hohen
Durchsatz bzgl. Schreiboperationen. Einen Nachteil
hingegen stellen langwierige Loschoperationen ganzer nicht mehr
benotigter Zeitbereiche dar. Die einzelnen Zeitreihen werden
bei der Speicherung sequenziell in sogenannte Shards
unterteilt, wobei jeder Shard in einer einzelnen Datenbank
gespeichert wird. Eine vorausschauenden Einrichtung
verschiedener Shard-Spaces (4 Stunden, 1 Tag, 1 Woche etc.)
ermoglicht es, das langsame Loschen von Zeitbereichen durch das
einfache Loschen ganzer Shards also ganzer Datenbanken
(drop database) zu kompensieren. Eine verteilte Speicherung
der Shards auf verschiedenen Rechnerknoten die wiederum
in verschiedenen Clustern organisiert sein konnen,
ermoglicht eine Verteilung der Daten, die falls gewunscht auch
redundant mittels Replikation auf verschiedene Knoten erfolgen
kann. Die Verteilung der Daten auf verschiedene
Rechnerknoten ermoglicht es auch die Berechnung von Aggregaten
uber Zeitfenster die unterhalb der Shardgro e liegen, zu
verteilen und somit Lokalitat der Daten und einen
PerformanceVorteil zu erreichen. Auch hier ist es sinnvoll Shardgro en
vorausschauend zu planen. Die Anfragen an In uxDB
konnen mittels einer SQL-ahnlichen Anfragesprache uber eine
http-Schnittstelle formuliert werden. Es werden verschiedene
Aggregatfunktionen bereitgestellt, die eine Ausgabe bspw.
gruppiert nach Zeitintervallen fur einen gesamten
Zeitbereich erzeugen, wobei die Verwendung Regularer Ausdrucke
unterstutzt wird:
select median(used) from /cpu\.*/
where time &gt; now() - 4h group by time(5m)
Hier wird der Median des "used\-Wertes fur alle
5-MinutenFenster der letzten 4 Stunden fur alle CPUs berechnet und
ausgegeben. Neben normalen Anfragen konnen auch
sogenannte Continuous Queries eingerichtet werden, die etwa das
einfache Downsampling von Messdaten ermoglichen:
14OpenTSDB - Scalable Time Series Database. http://
opentsdb.net/.
15KairosDB - Fast Scalable Time Series Database. https:
//code.google.com/p/kairosdb/.
16RRDB - Round Robin Database. http://oss.oetiker.ch/
rrdtool/.
17In uxDB - An open-source distributed time series database
with no external dependencies. http://influxdb.com/.
18LevelDB - A fast and lightweight key-value database library
by Google. http://code.google.com/p/leveldb/.
select count(name) from clicks
group by time(1h) into clicks.count.1h
In uxDB be ndet sich noch in einem fruhen Stadium der
Entwicklung und wird standig weiterentwickelt. So ist etwa
angekundigt, dass zukunftig bspw. das Speichern von
Metadaten zu Zeitreihen (Einheiten, Abtastrate, etc.) oder auch
die Implementierung nutzerde nierter Aggregatfunktionen
ermoglicht wird. In uxDB ist ein fur unsere Anwendung
vielversprechendes Werkzeug, wobei jedoch abzuwarten bleibt,
inwiefern es sich fur den produktiven Einsatz eignet. Aus
diesem Grund wird derzeit zusatzlich zu In uxDB, MongoDB
parallel als im Unternehmen bewahrter Datenspeicher
verwendet.
Im Projekt Pagebeat wurden verschiedene Losungsansatze
getestet, wobei die Praktikabilitat beim Einsatz im
Unternehmen, die schnelle Umsetzbarkeit sowie die freie
Verfugbarkeit der eingesetzten Werkzeuge die entscheidende Rolle
spielten.
4.1</p>
    </sec>
    <sec id="sec-8">
      <title>Datenfluss</title>
      <p>Der Daten uss innerhalb der Gesamtarchitektur ist in
Abbildung 1 dargestellt. Die Messdaten werden von einer
Drohne19 sowie Clientsimulatoren und Lasttestservern in
aquidistanten Zeitabschnitten (meist 10 s) ermittelt. Die
erhobenen Daten werden einem Loggingdienst per REST-Schnittstelle
zur Verfugung gestellt und reihen sich in die Warteschlange
eines Nachrichtenservers ein. Von dort aus werden sie ihrer
Signatur entsprechend durch registrierte Analyse- bzw.
Interpretationsprozesse verarbeitet, wobei die Validierung der
eintre enden Daten sowie die Zuordnung zu registrierten
Analysefunktionen mittels einer Wissensbasis erfolgt.
Ergebnisse werden wiederum als Nachricht zur Verfugung gestellt
und falls vorgesehen persistent gespeichert. So in die
Nachrichtenschlange gekommene Ergebnisse konnen nun weitere
Analysen bzw. Interpretationen oder die Auslosung einer
Benachrichtigung zur Folge haben. Der Daten Explorer
ermoglicht eine Sichtung von Rohdaten und bereits in PageBeat
integrierten Analyseergebnissen sowie Tests fur zukunftige
Analysefunktionen.
4.2</p>
    </sec>
    <sec id="sec-9">
      <title>Wissensbasis</title>
      <p>Die Wissenbasis bildet die Grundlage fur die modular
aufgebauten Analyse- und Interpretationsprozesse. Die
AbbildMuensgsd2atdenarguensdteldlteernen"PEairgaemnsecthearVftaelnuews\iereNparamsee,ntBieersecnhrdeiiebung oder Einheit. ParameterValues konnen zu logischen
Gruppen (Parameters) zusammengefasst werden (wie z.B.
zkduoiemmPpPaoarnareamnmteetenetreVruan"lcdupeuKs\:u)".nsPdyeasntreadmma\tee,tne"rlossoaiwnd\di,em"miiotiwtVaAiits\unaaullniysdsieenr"umnuagnxsd\Interpretationen verknupft. Analysen und Interpretationen
sind modular aufgebaut und bestehen jeweils aus
Eingangsund Ausgangsdaten (ParameterValues) sowie aus Verweisen
auf den Programmcode. Weiterhin sind ihnen spezielle
Methodenparameter zugeordnet. Hierbei handelt es sich etwa
um Start und Ende eines Zeitfensters, Schwellenwerte oder
andere Modellparameter. Die Wissensbasis ist mittels eines
relationalem Schemas in MySQL abgebildet.
19Auf dem zu beobachtenden System installierter Agent zur
Datenerhebung.</p>
      <p>Datenstrom (Drohne, Lasttestserver, Clientsimulation, etc.)</p>
      <sec id="sec-9-1">
        <title>Ergebnisse</title>
      </sec>
      <sec id="sec-9-2">
        <title>Ergebnisse</title>
      </sec>
      <sec id="sec-9-3">
        <title>Vorverarbeitung  / Data Cleaning</title>
      </sec>
      <sec id="sec-9-4">
        <title>Integration</title>
      </sec>
      <sec id="sec-9-5">
        <title>Adhoc‐Analyse (outlier, etc.)</title>
      </sec>
      <sec id="sec-9-6">
        <title>Daten Speicher</title>
      </sec>
      <sec id="sec-9-7">
        <title>Langzeit‐ Analyse</title>
      </sec>
      <sec id="sec-9-8">
        <title>Wissens Basis</title>
      </sec>
      <sec id="sec-9-9">
        <title>Daten Explorer</title>
        <sec id="sec-9-9-1">
          <title>Abbildung 1: Daten uss</title>
          <p>4.3</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-10">
      <title>Speicherung der Zeitreihen</title>
      <p>Die Speicherung der Messdaten sowie Analyse- und
Interpretationsergebnisse erfolgt zum Einen in der im
Unternehmen bewahrten, auf hochfrequente Schreibvorgange
optimierten schemafreien Datenbank MongoDB. Zum Anderen
setzen wir mittlerweile parallel zu MongoDB auf In uxDB.
So kann z.B. uber die in InluxDB zur Verfugung
stehenden Continious Queries ein automatisches Downsampling
und somit eine Datenreduktion der im 10 Sekunden Takt
erhobenen Daten erfolgen. Das Downsampling erfolgt
derzeit durch die Berechnung der Mittelwerte von Zeitfenstern
einer Lange von 1 Minute bis hin zu einem Tag und
generiert somit automatisch unterschiedliche zeitliche Au
osungen fur alle Messwerte. Au erdem stellt die SQL
ahnliche Anfragesprache von In uxDB eine Vielzahl von fur
die statistische Auswertung hilfreichen Aggregatfunktionen
(min, max, mean, median, stddev, percentile, histogramm,
etc.) zur Verfugung. Weiterhin soll es zukunftig moglich sein
benutzerde nierte Funktionen mit eigener
Analysefunktionalitat (etwa Autokorrelation, Kreuzkorrelation,
Vorhersage, etc.) auf Datenbankebene umzusetzen oder auch das
automatische Zusammenfuhren verschiedener Zeitserien
anhand eines Timestamp-Attributs durchzufuhren. Dies
wurde schon auf Datenbankebene eine zeitreihenubergreifende
Analyse (bspw. Korrelation) unterstutzen und senkt den
Reimplentierungsaufwand von R Funktionalitat aus der
Datenexplorationsphase. Da herkommliche Datenbanken nicht die
hohe Performance bzgl. Schreibzugri en erreichen und kaum
auf Zeitreihen spezialisierte Anfragen unterstutzen, scheint
In uxDB ein geeigneter Kandidat fur den Einsatz innerhalb
PageBeats zu sein.
Parameter</p>
      <sec id="sec-10-1">
        <title>Abbildung 4: Autokorrelation</title>
        <p>gebnissen dient. Abbildung 5 zeigt etwa die Darstellung
aggregierter Parameter in Ampelform (rot = kritisch, gelb =
Warnung, grun = normal, blau = optimal) was schnell einen
Eindruck uber den Zustand verschiedener Systemparameter
ermoglicht.</p>
        <p>Customer Data</p>
      </sec>
      <sec id="sec-10-2">
        <title>Abbildung 5: Ampel</title>
      </sec>
      <sec id="sec-10-3">
        <title>Abbildung 2: Ausschnitt Schema Wissensbasis</title>
      </sec>
    </sec>
    <sec id="sec-11">
      <title>4I.n4terDpraetteanteioxnploration</title>
      <p>Die Datenexploration soll dazu dienen, Administratoren und
auch Endnutzern die Moglichkeit zu geben, die fur sie
relevanten Daten mit den richtigen Werkzeugen zu analysieren.
Wahrend der Entwicklung nutzen wir die Datenexploration
als Werkzeug zur Ermittlung relevanter Analysemethoden
und zur Evaluierung sowie Visualisierung der Datenstrome.
Abbildung 3 zeigt eine einfache Nutzerschnittstelle
umgesetzt mit Shiny zur Datenauswertung mittels R mit
Zugri auf unterschiedliche Datenbanken, In uxDB und
MongoDB. Verschiedene Parameter zur Auswahl des Zeitraumes,
der Analysefunktion und deren Parameter sowie
Visualisierungsparameter.</p>
      <p>Hier sind durchschnittliche CPU-Nutzung und
durchschnittliche Plattenzugri szeiten aus einer Auswahl aus 10
Zeitserien dargestellt. Mittels unterem Interaktionselement lassen
sich Intervalle selektieren und die Granularitat anpassen.
Mit ahnlichen Visualisierungsmethoden lassen sich auch
Autokorrelationsanalysen visualisieren, siehe Abbildung 4.
4.5</p>
    </sec>
    <sec id="sec-12">
      <title>Analyse und Interpretation</title>
      <p>Analysen sind Basisoperationen wie die Berechnung von
Mittelwert, Median, Standardabweichung, Autokorrelation u.a.
deren Ergebnisse falls notig persistent gespeichert werden
oder direkt anderen Verarbeitungsschritten als Eingabe
ubergeben werden konnen. Die Spezi zierung der
Analysefunktionen erfolgt in der Wissensbasis, die eigentliche
Implementierung ist moglichst nahe an den zu analysierenden Daten,
wenn moglich unter Verwendung von Aggregat- oder
benutzerde nierten Funktionen des Datenbanksystems,
umzusetzen. Wissensbasis und Analyse sind hierzu mittels eines me- 5. ZUSAMMENFASSUNG UND AUSBLICK
thod codepath\ verknu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 fur den Gesamtindex (Pagebeatd-er Daten ankommt. Dazu wurden verschiedene
LosungsanFaktor) des Systems bzw. einzelner Teilsysteme ab, in dem satze betrachtet und die favorisierte Losung auf Basis von
sie z.B. Analyseergebnisse einzelner Zeitreihen gewichtet zu- In uxDB und R beschrieben.
sammenfuhren. Weiterhin besitzen Interpretationen einen Die konzeptionelle Phase ist abgeschlossen, die
ProjektinInfotyp, welcher der nutzerspezi schen Aufbereitung von Er- frastruktur umgesetzt und erste Analysemethoden wie
AusAnalysefunktionalitat die uber Aggregationen auf
Datenbankebene hinausgehen wird von uns in einer
Experimentalumgebung umgesetzt und evaluiert. Diese basiert auf R.</p>
      <p>So stehen eine Vielzahl statistischer Analysemethoden und
Methoden zur Aufbereitung komplexer Datenstrukturen in
Form von R Paketen zur Verfugung. Daruber hinaus
ermoglicht das R-Paket "Shiny Server\ die komfortable
Bereitstellung von R Funktionalitat fur das Web. Ein wesentlicher Teil
unser Experimentalumgebung ist der Pagebeat Data
Explorer (siehe Abbildung 3). Dieser basiert auf den genannten
Techniken und ermoglicht die Sichtung der erfassten
Rohsagemodellen. "Spielen\ mit Analysemethoden und
Vorherdaten oder das
rei ererkennung oder Autokorrelation wurden ausprobiert.</p>
      <p>Derzeit beschaftigen wir uns mit den Moglichkeiten einer
Vorhersage von Zeitreihenwerten. Dazu werden Ergebnisse
der Autokorrelationsanalyse zur Identi kation von
Abhangigkeiten innerhalb von Zeitreihen verwendet um die
Qualitat von Vorhersagen abschatzen zu konnen. Weiterhin ist
geplant Analysen naher an der Datenbank auszufuhren um
Datenlokalitat zu unterstutzen.
6.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>A.</given-names>
            <surname>Arasu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Babcock</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Babu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Cieslewicz</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Datar</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Ito</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Motwani</surname>
          </string-name>
          ,
          <string-name>
            <given-names>U.</given-names>
            <surname>Srivastava</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J.</given-names>
            <surname>Widom</surname>
          </string-name>
          . Stream:
          <article-title>The stanford data stream management system</article-title>
          .
          <source>Technical Report 2004-20</source>
          ,
          <string-name>
            <surname>Stanford</surname>
            <given-names>InfoLab</given-names>
          </string-name>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>A.</given-names>
            <surname>Arasu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Babu</surname>
          </string-name>
          , and
          <string-name>
            <surname>J. Widom.</surname>
          </string-name>
          <article-title>The cql continuous query language: Semantic foundations and query execution</article-title>
          .
          <source>Technical Report 2003-67</source>
          ,
          <string-name>
            <surname>Stanford</surname>
            <given-names>InfoLab</given-names>
          </string-name>
          ,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>K.</given-names>
            <surname>Chinda</surname>
          </string-name>
          and
          <string-name>
            <given-names>R.</given-names>
            <surname>Vijay</surname>
          </string-name>
          .
          <article-title>Informix timeseries solution</article-title>
          . http://www.ibm.com/developerworks/data/library/ techarticle/dm-1203timeseries,
          <year>2012</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>O.</given-names>
            <surname>Corporation</surname>
          </string-name>
          .
          <article-title>R technologies from oracle</article-title>
          . http://www.oracle.com/technetwork/topics/ bigdata/r-offerings-
          <volume>1566363</volume>
          .html,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>EsperTech.</given-names>
            <surname>Esper</surname>
          </string-name>
          . http://esper.codehaus.org,
          <year>2014</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>U.</given-names>
            <surname>Fischer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Dannecker</surname>
          </string-name>
          ,
          <string-name>
            <given-names>L.</given-names>
            <surname>Siksnys</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Rosenthal</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Boehm</surname>
          </string-name>
          , and
          <string-name>
            <given-names>W.</given-names>
            <surname>Lehner</surname>
          </string-name>
          .
          <article-title>Towards integrated data analytics: Time series forecasting in dbms</article-title>
          .
          <source>Datenbank-Spektrum</source>
          ,
          <volume>13</volume>
          (
          <issue>1</issue>
          ):
          <volume>45</volume>
          {
          <fpage>53</fpage>
          ,
          <year>2013</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>M.</given-names>
            <surname>Hall</surname>
          </string-name>
          , E. Frank,
          <string-name>
            <given-names>G.</given-names>
            <surname>Holmes</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            <surname>Pfahringer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            <surname>Reutemann</surname>
          </string-name>
          ,
          <string-name>
            <given-names>and I. H.</given-names>
            <surname>Witten</surname>
          </string-name>
          .
          <article-title>The weka data mining software: An update</article-title>
          .
          <source>SIGKDD Explorations</source>
          ,
          <volume>11</volume>
          (
          <issue>1</issue>
          ),
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>