6
PageBeat - Zeitreihenanalyse und Datenbanken Andreas Finger Institut für Informatik Universität Rostock 18051 Rostock andreas.finger@uni- rostock.de Ilvio Bruder Institut für Informatik Universität Rostock 18051 Rostock ilvio.bruder@uni- rostock.de Andreas Heuer Institut für Informatik Universität Rostock 18051 Rostock andreas.heuer@uni- rostock.de Steffen Konerow Mandarin Medien GmbH Graf-Schack-Allee 9 19053 Schwerin [email protected] Martin Klemkow Mandarin Medien GmbH Graf-Schack-Allee 9 19053 Schwerin mk@mandarin- medien.de ABSTRACT Zeitreihendaten und deren Analyse sind in vielen Anwen- dungsbereichen eine wichtiges Mittel zur Bewertung, Steue- rung und Vorhersage. F¨ ur die Zeitreihenanalyse gibt es ei- ne Vielzahl von Methoden und Techniken, die in Statistik- software umgesetzt und heutzutage komfortabel auch ohne eigenen Implementierungsaufwand einsetzbar sind. In den meisten F¨ allen hat man es mit massenhaft Daten oder auch Datenstr¨ omen zu tun. Entsprechend gibt es spezialisierte Management-Tools, wie Data Stream Management Systems ur die Verarbeitung von Datenstr¨ omen oder Time Series Databases zur Speicherung und Anfrage von Zeitreihen. Der folgende Artikel soll hier zu einen kleinen ¨ Uberblick geben und insbesondere die Anwendbarkeit an einem Projekt zur Analyse und Vorhersage von Zust¨ anden von Webservern ver- anschaulichen. Die Herausforderung innerhalb dieses Pro- jekts PageBeat“ ist es massenhaft Zeitreihen in Echtzeit zu analysieren und f¨ ur weiterf¨ uhrende Analyseprozesse zu speichern. Außerdem sollen die Ergebnisse zielgruppenspe- zifisch aufbereitet und visualisiert sowie Benachrichtigungen ausgel¨ ost werden. Der Artikel beschreibt den im Projekt ge- ahlten Ansatz und die daf¨ ur eingesetzten Techniken und Werkzeuge. Categories and Subject Descriptors H.4 [Information Systems Applications]: Miscellaneous; D.2.8 [Software Engineering]: Metrics—complexity mea- sures, performance measures General Terms Big Data, Data Mining and Knowledge Discovery, Streaming Data Copyright c by the paper’s authors. Copying permitted only for private and academic purposes. In: G. Specht, H. Gamper, F. Klan (eds.): Proceedings of the 26 th GI- Workshop on Foundations of Databases (Grundlagen von Datenbanken), 21.10.2014 - 24.10.2014, Bozen, Italy, published at http://ceur-ws.org. Keywords Datenanalyse, R, Time Series Database 1. EINFÜHRUNG Zeitreihen sind nat¨ urlich geordnete Folgen von Beobach- tungswerten. Die Zeitreihenanalyse besch¨ aftigt sich mit Me- thoden zur Beschreibung dieser Daten etwa mit dem Ziel der Analyse (Verstehen), Vorhersage oder Kontrolle (Steue- rung) der Daten. Entsprechende Methoden stehen in frei- er und kommerzieller Statistiksoftware wie R 1 , Matlab 2 , Weka 3 [7], SPSS 4 und anderen zur Verf¨ ugung wodurch ei- ne komfortable Datenauswertung ohne eigenen Implemen- tierungsaufwand erm¨ oglicht wird. Verfahren zur Zeitreihen- analyse sind etwa die Ermittlung von Trends und Saisona- lit¨ at, wobei der Trend den l¨ angerfristigen Anstieg und die Saisonalit¨ at wiederkehrende Muster (jedes Jahr zu Weih- nachten steigen die Verk¨ aufe) repr¨ asentieren. So werden Ab- angigkeiten in den Daten untersucht, welche eine Prognose zuk¨ unftiger Werte mit Hilfe geeigneter Modelle erm¨ oglichen. In einer Anwendung die in hoher zeitlicher Aufl¨ osung eine Vielzahl von Messwerten erfasst, entstehen schnell große Da- tenmengen. Diese sollen in Echtzeit analysiert werden und gegebenenfalls zur weiteren Auswertung persistent gespei- chert werden. Hierf¨ ur existieren zum Einen Ans¨ atze aus der Stromdatenverarbeitung und zum Anderen zur Speicherung von auf Zeitreihen spezialisierte Datenbanksysteme (Time Series Databases). Da statistische Analysen etwa mit stand- alone R Anwendungen nur funktionieren, solange die zu ana- lysierenden Daten die Gr¨ oße des Hauptspeichers nicht ¨ uber- schreiten, ist es notwendig die statistische Analyse in Daten- 1 R – Programmiersprache f¨ ur statistische Rechnen und Vi- sualisieren von der R Foundation for Statistical Computing, http://www.r-project.org. 2 Matlab – kommerzielle Software zum L¨ osen Veranschau- lichen mathematischer Probleme vom Entwickler The Ma- thworks, http://www.mathworks.de. 3 Weka – Waikato Environment for Knowledge Analysis, ein Werkzeugkasten f¨ ur Data Mining und Maschinelles Lernen von der University of Waikato, http://www.cs.waikato.ac. nz/ml/weka/. 4 SPSS – kommerzielle Statistik- und Analysesoftware von IBM, http://www-01.ibm.com/software/de/analytics/ spss.

PageBeat - Zeitreihenanalyse und Datenbankenceur-ws.org/Vol-1313/paper_10.pdf · PageBeat - Zeitreihenanalyse und Datenbanken Andreas Finger Institut für Informatik Universität

  • Upload
    dotuyen

  • View
    218

  • Download
    0

Embed Size (px)

Citation preview

PageBeat - Zeitreihenanalyse und Datenbanken

Andreas FingerInstitut für InformatikUniversität Rostock

18051 Rostockandreas.finger@uni-

rostock.de

Ilvio BruderInstitut für InformatikUniversität Rostock

18051 Rostockilvio.bruder@uni-

rostock.de

Andreas HeuerInstitut für InformatikUniversität Rostock

18051 Rostockandreas.heuer@uni-

rostock.de

Steffen KonerowMandarin Medien GmbH

Graf-Schack-Allee 919053 Schwerin

[email protected]

Martin KlemkowMandarin Medien GmbH

Graf-Schack-Allee 919053 Schwerin

[email protected]

ABSTRACTZeitreihendaten und deren Analyse sind in vielen Anwen-dungsbereichen eine wichtiges Mittel zur Bewertung, Steue-rung und Vorhersage. Fur die Zeitreihenanalyse gibt es ei-ne Vielzahl von Methoden und Techniken, die in Statistik-software umgesetzt und heutzutage komfortabel auch ohneeigenen Implementierungsaufwand einsetzbar sind. In denmeisten Fallen hat man es mit massenhaft Daten oder auchDatenstromen zu tun. Entsprechend gibt es spezialisierteManagement-Tools, wie Data Stream Management Systemsfur die Verarbeitung von Datenstromen oder Time SeriesDatabases zur Speicherung und Anfrage von Zeitreihen. Derfolgende Artikel soll hier zu einen kleinen Uberblick gebenund insbesondere die Anwendbarkeit an einem Projekt zurAnalyse und Vorhersage von Zustanden von Webservern ver-anschaulichen. Die Herausforderung innerhalb dieses Pro-jekts

”PageBeat“ ist es massenhaft Zeitreihen in Echtzeit

zu analysieren und fur weiterfuhrende Analyseprozesse zuspeichern. Außerdem sollen die Ergebnisse zielgruppenspe-zifisch aufbereitet und visualisiert sowie Benachrichtigungenausgelost werden. Der Artikel beschreibt den im Projekt ge-wahlten Ansatz und die dafur eingesetzten Techniken undWerkzeuge.

Categories and Subject DescriptorsH.4 [Information Systems Applications]: Miscellaneous;D.2.8 [Software Engineering]: Metrics—complexity mea-sures, performance measures

General TermsBig Data, Data Mining and Knowledge Discovery, StreamingData

Copyright c© by the paper’s authors. Copying permitted onlyfor private and academic purposes.In: G. Specht, H. Gamper, F. Klan (eds.): Proceedings of the 26th GI-Workshop on Foundations of Databases (Grundlagen von Datenbanken),21.10.2014 - 24.10.2014, Bozen, Italy, published at http://ceur-ws.org.

KeywordsDatenanalyse, R, Time Series Database

1. EINFÜHRUNGZeitreihen sind naturlich geordnete Folgen von Beobach-tungswerten. Die Zeitreihenanalyse beschaftigt sich mit Me-thoden zur Beschreibung dieser Daten etwa mit dem Zielder Analyse (Verstehen), Vorhersage oder Kontrolle (Steue-rung) der Daten. Entsprechende Methoden stehen in frei-er und kommerzieller Statistiksoftware wie R1 , Matlab2,Weka3 [7], SPSS4 und anderen zur Verfugung wodurch ei-ne komfortable Datenauswertung ohne eigenen Implemen-tierungsaufwand ermoglicht wird. Verfahren zur Zeitreihen-analyse sind etwa die Ermittlung von Trends und Saisona-litat, wobei der Trend den langerfristigen Anstieg und dieSaisonalitat wiederkehrende Muster (jedes Jahr zu Weih-nachten steigen die Verkaufe) reprasentieren. So werden Ab-hangigkeiten in den Daten untersucht, welche eine Prognosezukunftiger Werte mit Hilfe geeigneter Modelle ermoglichen.In einer Anwendung die in hoher zeitlicher Auflosung eineVielzahl von Messwerten erfasst, entstehen schnell große Da-tenmengen. Diese sollen in Echtzeit analysiert werden undgegebenenfalls zur weiteren Auswertung persistent gespei-chert werden. Hierfur existieren zum Einen Ansatze aus derStromdatenverarbeitung und zum Anderen zur Speicherungvon auf Zeitreihen spezialisierte Datenbanksysteme (TimeSeries Databases). Da statistische Analysen etwa mit stand-alone R Anwendungen nur funktionieren, solange die zu ana-lysierenden Daten die Große des Hauptspeichers nicht uber-schreiten, ist es notwendig die statistische Analyse in Daten-

1R – Programmiersprache fur statistische Rechnen und Vi-sualisieren von der R Foundation for Statistical Computing,http://www.r-project.org.2Matlab – kommerzielle Software zum Losen Veranschau-lichen mathematischer Probleme vom Entwickler The Ma-thworks, http://www.mathworks.de.3Weka – Waikato Environment for Knowledge Analysis, einWerkzeugkasten fur Data Mining und Maschinelles Lernenvon der University of Waikato, http://www.cs.waikato.ac.nz/ml/weka/.4SPSS – kommerzielle Statistik- und Analysesoftware vonIBM, http://www-01.ibm.com/software/de/analytics/spss.

banksysteme zu integrieren. Ziel ist dabei der transparenteZugriff auf partitionierte Daten und deren Analyse mittelspartitionierter statistischen Modelle. In [6] werden verschie-dene Moglichkeiten der Integration beschrieben und sindin Prototypen basierend auf postgreSQL bereits umgesetzt.Auch kommerzielle Produkte wie etwa Oracle R Enterpri-se[4] integrieren statistische Analyse auf Datenbankebene.Im Open-Source-Bereich existiert eine Vielzahl von Ansat-zen zum Umgang mit Zeitreihen, wobei uns InfluxDB5 alsbesonders geeignetes Werkzeug aufgefallen ist.Die Herausforderung innerhalb des im Weiteren beschriebe-nen Projekts

”PageBeat“ ist es innovative und anwendungs-

reife Open-Source-Losungen aus den genannten Bereichenzur Verarbeitung großer Zeitreihendaten innerhalb des Pro-jektes miteinander zu kombinieren. Im Folgenden wird dasProjekt vorgestellt, um dann verschiedene in Frage kommen-den Techniken und abschließend das gewahlte Konzept underste Ergebnisse vorzustellen.

2. PROJEKT PAGEBEATMit

”PageBeat“ wird eine als

”Software as a Service“ (SAAS)

angebotene Softwaresuite speziell zur Beobachtung und Uber-prufung von Webanwendungen entwickelt. Dies erfolgt zu-nachst im Rahmen eines vom Bundeswirtschaftsministeri-um geforderten ZIM-Kooperationsprojektes. Ziel der Soft-ware ist das Beobachten des und das Berichten uber denaktuellen technischen Status einer Webanwendung (Web-site, Content Management System, E-Commerce System,Webservice) sowie das Prognostizieren technischer Proble-me anhand geeigneter Indikatoren (Hardware- und Software-spezifische Parameter). Die Berichte werden dabei fur un-terschiedliche Nutzergruppen (Systemadministratoren, Soft-wareentwickler, Abteilungsleiter, Geschaftsfuhrung, Marke-ting) und deren Anforderungen aufbereitet und prasentiert.Mittels

”PageBeat“ werden somit automatisiert Fehlerbe-

richte erstellt, die uber akute sowie vorhersehbare kritischeAnderungen der Betriebsparameter einer Webanwendung in-formieren und zielgruppenspezifisch dargestellt werden.Bei den zugrunde liegenden Kennzahlen handelt es sich umeine Reihe von Daten, die den Zustand des Gesamtsystemsim Anwendungsbereich Webshopsysteme widerspiegeln. Diessind Kennzahlen des Serverbetriebssystems (etwa CPU oderRAM Auslastung) als auch anwendungsspezifische Kennda-ten (etwa die Laufzeit von Datenbankanfragen). Diese Datensind semantisch beschrieben und entsprechende Metadatensind in einer Wissensbasis abgelegt. Daruber hinaus ist dieVerwendung weiterer Kontextinformationen angedacht, dieEinfluss auf den technischen Status des Systems haben kon-nen. Hierbei kann es sich etwa um Wetterdaten handeln:beim Kinobetreiber Cinestar ist ein regnerisches Wochenen-de vorausgesagt, dass auf eine hohe Auslastung des Kinokar-tenonlineshops schließen lasst. Ein anderes Beispiel warenInformationen aus der Softwareentwicklung: bei Codeande-rungen mit einem bestimmten Zeitstempel konnen Effekte inden Auswertungen zu diesem Zeitpunkt nachgewiesen wer-den. Das Andern oder Hinzufugen bzw. Beachten von rele-vanten Inhalten auf den Webseiten konnen signifikante An-derungen in Analysen ergeben, z.B. bei der Schaltung vonWerbung oder bei Filmbewertungen zu neu anlaufenden Fil-men auf sozialen Plattformen.

5InfluxDB - An open-source distributed time series databasewith no external dependencies. http://influxdb.com.

Es wird derzeit ein moglichst breites Spektrum an Datenin hoher zeitlicher Auflosung erfasst, um in einem Prozessder Datenexploration auf Zusammenhange schließen zu kon-nen, die zunachst nicht offensichtlich sind bzw. um Vermu-tungen zu validieren. Derzeit werden uber 300 Kennzahlenalle 10 s auf 14 Servern aus 9 Kundenprojekten abgetas-tet. Diese Daten werden gespeichert und außerdem unmit-telbar weiterverarbeitet. So findet etwa ein Downsamplingfur alle genannten 300 Kennzahlen statt. Dabei werden diezeitliche Auflosung unter Verwendung verschiedener Aggre-gatfunktionen auf Zeitfenster unterschiedlicher Große redu-ziert und die Ergebnisse gespeichert. Andere Analysefunk-tionen quantisieren die Werte hinsichtlich ihrer Zugehorig-keit zu Statusklassen (etwa optimal, normal, kritisch) undspeichern die Ergebnisse ebenfalls. So entstehen sehr schnellgroße Datenmengen. Derzeit enthalt der Datenspeicher etwa40 GB Daten und wir beobachten bei der aktuellen Anzahlbeobachteter Werte einen Zuwachs von etwa 1 GB Datenpro Woche. Auf Basis der erhobenen Daten mussen zeit-kritische Analysen wie etwa eine Ausreißererkennung oderdie Erkennung kritischer Muster nahezu in Echtzeit erfol-gen, um Kunden ein rechtzeitiges Eingreifen zu ermoglichen.Weiterhin soll eine Vorhersage zukunftiger Werte fruhzeitigkritische Entwicklungen aufzeigen. Die Herausforderung imProjekt ist die Bewaltigung des großen Datenvolumens un-ter Gewahrleistung einer echtzeitnahen Bearbeitung durchAnalysefunktionen.

3. ZEITREIHENANALYSE UND DATENBAN-KEN

Im Rahmen der Evaluierung von fur das Projekt geeigneterSoftware haben wir verschiedene Ansatze zur Datenstrom-verarbeitung und der Analyse und Verwaltung von Zeitrei-hen untersucht. Ziel war die Verwendung frei verfugbarerSoftware die zudem auf im Unternehmen vorhandener tech-nischer Expertise basiert.

3.1 Data Stream Management SystemsDie Verarbeitung kontinuierlicher Datenstrome stellt einenAspekt unseres Projektes dar. Datenstromverarbeitende Sys-teme bieten hierzu die Moglichkeit kontinuierliche Anfragenauf in temporare Relationen umgewandelte Datenstrome zuformulieren. Dies kann etwa mit Operatoren der im Pro-jekt Stream[1] entwickelten an SQL angelehnten ContinuousQuery Language[2] erfolgen. Sollen nun komplexere Mus-ter in Datenstromen erkannt werden, spricht man auch vonder Verarbeitung komplexer Ereignisse. Im Kontext unseresProjektes entspricht so ein Muster etwa dem Anstieg derAufrufe einer Seite aufgrund einer Marketingaktion, welchereine hohere Systemauslastung zur Folge hat (cpu-usage),was sich wiederum in steigenden time-to-first-byte-Wertenniederschlagt und in einem kritischen Bereich zur Benach-richtigung oder gar zur automatischen Aufstockung der ver-fugbaren Ressourcen fuhren soll. Complex Event Proces-sing Systems wie Esper[5] bieten die Moglichkeit Anfragennach solchen Mustern auf Datenstrome zu formulieren undentsprechende Reaktionen zu implementieren. Da etwa Es-per als eines der wenigen frei verfugbaren und fur den pro-duktiven Einsatz geeigneten Systeme, in Java und .net im-plementiert ist, entsprechende Entwicklungskapazitaten je-doch nicht im Unternehmen zur Verfugung stehen, wird imProjekt keines der erwahnten DSMS oder CEPS zum Ein-

satz kommen. Deren Architektur diente jedoch zur Orientie-rung bei der Entwicklung eines eigenen mit im Unternehmeneingesetzten Techniken (etwa node.js6, RabbitMQ7, Mon-goDB8, u.a.) Systems fur PageBeat.

3.2 Werkzeuge zur DatenanalyseZur statistischen Auswertung der Daten im Projekt werdenWerkzeuge benotigt, die es ohne großen Implementierungs-aufwand ermoglichen verschiedene Verfahren auf die erhobe-nen Daten anzuwenden und auf ihre Eignung hin zu untersu-chen. Hierfur stehen verschiedene mathematische Werkzeugezur Verfugung. Kommerzielle Produkte sind etwa die bereitserwahnten Matlab oder SPSS. Im Bereich frei verfugbarerSoftware kann man auf WEKA und vor allem R zuruckgrei-fen. Besonders R ist sehr weit verbreitet und wird von ei-ner großen Entwicklergemeinde getragen. Dadurch sind furR bereits eine Vielzahl von Verfahren zur Datenaufberei-tung und deren statistischer Analyse bis hin zur entspre-chenden Visualisierung implementiert. Gerade in Bezug aufdie Analyse von Zeitreihen ist R aufgrund vielfaltiger ver-fugbarer Pakete zur Zeitreihenanalyse gegenuber WEKA diegeeignetere Wahl. Mit RStudio9 steht außerdem eine kom-fortable Entwicklungsumgebung zur Verfugung. Weiterhinkonnen mit dem Web Framework Shiny10 schnell R Anwen-dungen im Web bereit gestellt werden und unterstutzt so-mit eine zugige Anwendungsentwicklung. Somit stellt R mitden zugehorigen Erweiterungen die fur das Projekt geeigneteUmgebung zur Evaluierung von Datenanalyseverfahren undzur Datenexploration dar. Im weiteren Verlauf des Projektesund in der Uberfuhrung in ein produktives System wird dieDatenanalyse, etwa die Berechnung von Vorhersagen, inner-halb von node.js reimplementiert.

3.3 DatenbankunterstützungKlassische objektrelationale DBMS wie Oracle11, IBM In-formix12 oder PostgreSQL13 unterstutzen in unterschiedli-chem Umfang die Speicherung, Anfrage und Auswertungvon Zeitreihen. PostgreSQL ermoglicht bswp. die Verwen-dung von Fensterfunktionen etwa zur Berechnung von Ag-gregatwerten fur entsprechende Zeitabschnitte. Die IBM In-formix TimeSeries Solution[3] stellt Container zur Speiche-rung von Zeitreihendaten zur Verfugung, wodurch der Spei-cherplatzbedarf optimiert, die Anfragegeschwindigkeit erhohtsowie die Komplexitat der Anfragen reduziert werden sol-len. Oracle unterstutzt nicht nur die Speicherung und An-frage von Zeitreihen, sondern integriert daruber hinaus um-fassende statistische Analysefunktionalitat mittels Oracle RTechnologies[4]. Dabei hat der R-Anwendungsentwickler die

6node.js - a cross-platform runtime environment for server-side 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 professionalsoftware 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/.

Moglichkeit Oracle Data Frames zu verwenden, um Daten-lokalitat zu erreichen. Dabei wird der Code in der Oracle-Umgebung ausgefuhrt, dort wo die Daten liegen und nichtumgekehrt. Außerdem erfolgt so ein transparenter Zugriffauf die Daten und Aspekte der Skalierung werden durch dasDBMS abgewickelt.Neben den klassischen ORDBMS existieren eine Vielzahlvon auf Zeitserien spezialisierte Datenbanken wie OpenTSDB14,KairosDB15, RRDB16. Dabei handelt es sich jeweils um einenauf Schreibzugriffe optimierten Datenspeicher in Form einerschemalosen Datenbank und darauf zugreifende Anfrage-,Analyse- und Visualisierungsfunktionalitat. Man sollte siedeshalb vielmehr als Ereignis-Verarbeitungs- oder Monitoring-Systeme bezeichnen. Neben den bisher genannten Zeitserien-datenbanken ist uns bei der Recherche von fur das Projektgeeigneter Software InfluxDB17 aufgefallen. InfluxDB ver-wendet Googles auf Log-structured merge-trees basierendenkey-value Store LevelDB18 und setzt somit auf eine hohenDurchsatz bzgl. Schreiboperationen. Einen Nachteil hinge-gen stellen langwierige Loschoperationen ganzer nicht mehrbenotigter Zeitbereiche dar. Die einzelnen Zeitreihen werdenbei der Speicherung sequenziell in sogenannte Shards unter-teilt, wobei jeder Shard in einer einzelnen Datenbank gespei-chert wird. Eine vorausschauenden Einrichtung verschiede-ner Shard-Spaces (4 Stunden, 1 Tag, 1 Woche etc.) ermog-licht es, das langsame Loschen von Zeitbereichen durch daseinfache Loschen ganzer Shards also ganzer Datenbanken(drop database) zu kompensieren. Eine verteilte Speicherungder Shards auf verschiedenen Rechnerknoten die wiederumin verschiedenen Clustern organisiert sein konnen, ermog-licht eine Verteilung der Daten, die falls gewunscht auch red-undant mittels Replikation auf verschiedene Knoten erfolgenkann. Die Verteilung der Daten auf verschiedene Rechner-knoten ermoglicht es auch die Berechnung von Aggregatenuber Zeitfenster die unterhalb der Shardgroße liegen, zu ver-teilen und somit Lokalitat der Daten und einen Performance-Vorteil zu erreichen. Auch hier ist es sinnvoll Shardgroßenvorausschauend zu planen. Die Anfragen an InfluxDB kon-nen mittels einer SQL-ahnlichen Anfragesprache uber einehttp-Schnittstelle formuliert werden. Es werden verschiedeneAggregatfunktionen bereitgestellt, die eine Ausgabe bspw.gruppiert nach Zeitintervallen fur einen gesamten Zeitbe-reich erzeugen, wobei die Verwendung Regularer Ausdruckeunterstutzt wird:

select median(used) from /cpu\.*/

where time > now() - 4h group by time(5m)

Hier wird der Median des”used“-Wertes fur alle 5-Minuten-

Fenster der letzten 4 Stunden fur alle CPUs berechnet undausgegeben. Neben normalen Anfragen konnen auch soge-nannte Continuous Queries eingerichtet werden, die etwa daseinfache Downsampling von Messdaten ermoglichen:

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/.

17InfluxDB - An open-source distributed time series databasewith no external dependencies. http://influxdb.com/.

18LevelDB - A fast and lightweight key-value database libraryby Google. http://code.google.com/p/leveldb/.

select count(name) from clicks

group by time(1h) into clicks.count.1h

InfluxDB befindet sich noch in einem fruhen Stadium derEntwicklung und wird standig weiterentwickelt. So ist etwaangekundigt, dass zukunftig bspw. das Speichern von Meta-daten zu Zeitreihen (Einheiten, Abtastrate, etc.) oder auchdie Implementierung nutzerdefinierter Aggregatfunktionenermoglicht wird. InfluxDB ist ein fur unsere Anwendung viel-versprechendes Werkzeug, wobei jedoch abzuwarten bleibt,inwiefern es sich fur den produktiven Einsatz eignet. Aus die-sem Grund wird derzeit zusatzlich zu InfluxDB, MongoDBparallel als im Unternehmen bewahrter Datenspeicher ver-wendet.

4. LÖSUNG IN PAGEBEATIm Projekt Pagebeat wurden verschiedene Losungsansatzegetestet, wobei die Praktikabilitat beim Einsatz im Unter-nehmen, die schnelle Umsetzbarkeit sowie die freie Verfug-barkeit der eingesetzten Werkzeuge die entscheidende Rollespielten.

4.1 DatenflussDer Datenfluss innerhalb der Gesamtarchitektur ist in Ab-bildung 1 dargestellt. Die Messdaten werden von einer Droh-ne19 sowie Clientsimulatoren und Lasttestservern in aquidi-stanten Zeitabschnitten (meist 10 s) ermittelt. Die erhobe-nen Daten werden einem Loggingdienst per REST-Schnittstellezur Verfugung gestellt und reihen sich in die Warteschlangeeines Nachrichtenservers ein. Von dort aus werden sie ihrerSignatur entsprechend durch registrierte Analyse- bzw. In-terpretationsprozesse verarbeitet, wobei die Validierung dereintreffenden Daten sowie die Zuordnung zu registriertenAnalysefunktionen mittels einer Wissensbasis erfolgt. Ergeb-nisse werden wiederum als Nachricht zur Verfugung gestelltund falls vorgesehen persistent gespeichert. So in die Nach-richtenschlange gekommene Ergebnisse konnen nun weitereAnalysen bzw. Interpretationen oder die Auslosung einer Be-nachrichtigung zur Folge haben. Der Daten Explorer ermog-licht eine Sichtung von Rohdaten und bereits in PageBeatintegrierten Analyseergebnissen sowie Tests fur zukunftigeAnalysefunktionen.

4.2 WissensbasisDie Wissenbasis bildet die Grundlage fur die modular auf-gebauten Analyse- und Interpretationsprozesse. Die Abbil-dung 2 dargestellten

”ParameterValues“ reprasentieren die

Messdaten und deren Eigenschaften wie Name, Beschrei-bung oder Einheit. ParameterValues konnen zu logischenGruppen (Parameters) zusammengefasst werden (wie z.B.die ParameterValues:

”system“,

”load“,

”iowait“ und

”max“

zum Parameter”cpu“). Parameter sind mit Visualisierungs-

komponenten und Kundendaten sowie mit Analysen undInterpretationen verknupft. Analysen und Interpretationensind modular aufgebaut und bestehen jeweils aus Eingangs-und Ausgangsdaten (ParameterValues) sowie aus Verweisenauf den Programmcode. Weiterhin sind ihnen spezielle Me-thodenparameter zugeordnet. Hierbei handelt es sich etwaum Start und Ende eines Zeitfensters, Schwellenwerte oderandere Modellparameter. Die Wissensbasis ist mittels einesrelationalem Schemas in MySQL abgebildet.

19Auf dem zu beobachtenden System installierter Agent zurDatenerhebung.

Vorverarbeitung / Data Cleaning

Integration

Datenstrom (Drohne, Lasttestserver, Clientsimulation, etc.)

Adhoc‐Analyse(outlier, etc.)

Daten Speicher

Langzeit‐Analyse

Ergebnisse

Ergebnisse

WissensBasis

DatenExplorer

Abbildung 1: Datenfluss

4.3 Speicherung der ZeitreihenDie Speicherung der Messdaten sowie Analyse- und Inter-pretationsergebnisse erfolgt zum Einen in der im Unterneh-men bewahrten, auf hochfrequente Schreibvorgange opti-mierten schemafreien Datenbank MongoDB. Zum Anderensetzen wir mittlerweile parallel zu MongoDB auf InfluxDB.So kann z.B. uber die in InluxDB zur Verfugung stehen-den Continious Queries ein automatisches Downsamplingund somit eine Datenreduktion der im 10 Sekunden Takterhobenen Daten erfolgen. Das Downsampling erfolgt der-zeit durch die Berechnung der Mittelwerte von Zeitfensterneiner Lange von 1 Minute bis hin zu einem Tag und ge-neriert somit automatisch unterschiedliche zeitliche Auflo-sungen fur alle Messwerte. Außerdem stellt die SQL ahn-liche Anfragesprache von InfluxDB eine Vielzahl von furdie statistische Auswertung hilfreichen Aggregatfunktionen(min, max, mean, median, stddev, percentile, histogramm,etc.) zur Verfugung. Weiterhin soll es zukunftig moglich seinbenutzerdefinierte Funktionen mit eigener Analysefunktio-nalitat (etwa Autokorrelation, Kreuzkorrelation, Vorhersa-ge, etc.) auf Datenbankebene umzusetzen oder auch dasautomatische Zusammenfuhren verschiedener Zeitserien an-hand eines Timestamp-Attributs durchzufuhren. Dies wur-de schon auf Datenbankebene eine zeitreihenubergreifendeAnalyse (bspw. Korrelation) unterstutzen und senkt den Re-implentierungsaufwand von R Funktionalitat aus der Daten-explorationsphase. Da herkommliche Datenbanken nicht diehohe Performance bzgl. Schreibzugriffen erreichen und kaumauf Zeitreihen spezialisierte Anfragen unterstutzen, scheintInfluxDB ein geeigneter Kandidat fur den Einsatz innerhalbPageBeats zu sein.

Analysis

Interpretation

Parameter

Visualisation

Customer Data

Abbildung 2: Ausschnitt Schema Wissensbasis

4.4 DatenexplorationDie Datenexploration soll dazu dienen, Administratoren undauch Endnutzern die Moglichkeit zu geben, die fur sie rele-vanten Daten mit den richtigen Werkzeugen zu analysieren.Wahrend der Entwicklung nutzen wir die Datenexplorationals Werkzeug zur Ermittlung relevanter Analysemethodenund zur Evaluierung sowie Visualisierung der Datenstrome.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-rien dargestellt. Mittels unterem Interaktionselement lassensich Intervalle selektieren und die Granularitat anpassen.Mit ahnlichen Visualisierungsmethoden lassen sich auch Au-tokorrelationsanalysen visualisieren, siehe Abbildung 4.

4.5 Analyse und InterpretationAnalysen sind Basisoperationen wie die Berechnung von Mit-telwert, Median, Standardabweichung, Autokorrelation u.a.deren Ergebnisse falls notig persistent gespeichert werdenoder direkt anderen Verarbeitungsschritten als Eingabe uber-geben werden konnen. Die Spezifizierung der Analysefunk-tionen erfolgt in der Wissensbasis, die eigentliche Implemen-tierung ist moglichst nahe an den zu analysierenden Daten,wenn moglich unter Verwendung von Aggregat- oder benut-zerdefinierten Funktionen des Datenbanksystems, umzuset-zen. Wissensbasis und Analyse sind hierzu mittels eines

”me-

thod codepath“ verknupft.Interpretationen funktionieren analog zur Analyse bilden je-doch Berechnungsvorschriften etwa fur den Gesamtindex (Pagebeat-Faktor) des Systems bzw. einzelner Teilsysteme ab, in demsie z.B. Analyseergebnisse einzelner Zeitreihen gewichtet zu-sammenfuhren. Weiterhin besitzen Interpretationen einenInfotyp, welcher der nutzerspezifischen Aufbereitung von Er-

Abbildung 4: Autokorrelation

gebnissen dient. Abbildung 5 zeigt etwa die Darstellung ag-gregierter Parameter in Ampelform (rot = kritisch, gelb =Warnung, grun = normal, blau = optimal) was schnell einenEindruck uber den Zustand verschiedener Systemparameterermoglicht.

Abbildung 5: Ampel

Analysefunktionalitat die uber Aggregationen auf Daten-bankebene hinausgehen wird von uns in einer Experimen-talumgebung umgesetzt und evaluiert. Diese basiert auf R.So stehen eine Vielzahl statistischer Analysemethoden undMethoden zur Aufbereitung komplexer Datenstrukturen inForm von R Paketen zur Verfugung. Daruber hinaus ermog-licht das R-Paket

”Shiny Server“ die komfortable Bereitstel-

lung von R Funktionalitat fur das Web. Ein wesentlicher Teilunser Experimentalumgebung ist der Pagebeat Data Explo-rer (siehe Abbildung 3). Dieser basiert auf den genanntenTechniken und ermoglicht die Sichtung der erfassten Roh-daten oder das

”Spielen“ mit Analysemethoden und Vorher-

sagemodellen.

5. ZUSAMMENFASSUNG UND AUSBLICKPagebeat ist ein Projekt, bei dem es insbesondere auf eineperformante Speicherung und schnelle Adhoc-Auswertungder Daten ankommt. Dazu wurden verschiedene Losungsan-satze betrachtet und die favorisierte Losung auf Basis vonInfluxDB und R beschrieben.Die konzeptionelle Phase ist abgeschlossen, die Projektin-frastruktur umgesetzt und erste Analysemethoden wie Aus-

Abbildung 3: Daten

reißererkennung oder Autokorrelation wurden ausprobiert.Derzeit beschaftigen wir uns mit den Moglichkeiten einerVorhersage von Zeitreihenwerten. Dazu werden Ergebnisseder Autokorrelationsanalyse zur Identifikation von Abhan-gigkeiten innerhalb von Zeitreihen verwendet um die Qua-litat von Vorhersagen abschatzen zu konnen. Weiterhin istgeplant Analysen naher an der Datenbank auszufuhren umDatenlokalitat zu unterstutzen.

6. REFERENCES[1] A. Arasu, B. Babcock, S. Babu, J. Cieslewicz,

M. Datar, K. Ito, R. Motwani, U. Srivastava, andJ. Widom. Stream: The stanford data streammanagement system. Technical Report 2004-20,Stanford InfoLab, 2004.

[2] A. Arasu, S. Babu, and J. Widom. The cql continuousquery language: Semantic foundations and queryexecution. 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 dataanalytics: Time series forecasting in dbms.Datenbank-Spektrum, 13(1):45–53, 2013.

[7] M. Hall, E. Frank, G. Holmes, B. Pfahringer,P. Reutemann, and I. H. Witten. The weka data miningsoftware: An update. SIGKDD Explorations, 11(1),2009.