Post on 05-Apr-2015
transcript
Projektarbeit
Erstellen einer Webseitenstatistikmithilfe eines OLAP-Servers
Jan LübeckEnvers AG
Jan LübeckErstellen einer Webseitenstatistik mithilfe eines OLAP-
Servers
Ist - Aufnahme
Soll - Konzept
Realisierung
Fazit
Einleitung
Ist - Aufnahme
Soll - Konzept
Realisierung
Fazit
Einleitung
Agenda
Jan LübeckErstellen einer Webseitenstatistik mithilfe eines OLAP-
Servers
Einleitung
Jan LübeckErstellen einer Webseitenstatistik mithilfe eines OLAP-
Servers
Ist - Aufnahme
Soll - Konzept
Realisierung
Fazit
Einleitung
• Seit 2000 in DU-Rheinhausen• Zur Zeit 11 Mitarbeiter• IT Dienstleistungen• Entwicklung/Vermarktung von
Softwarelösungen
Die Envers AG
Jan LübeckErstellen einer Webseitenstatistik mithilfe eines OLAP-
Servers
Ist - Aufnahme
Soll - Konzept
Realisierung
Fazit
Einleitung
• Eigenes CMS “Flexcove 3”• Modularer Aufbau• Serverseitiges Sessionsystem• Administration über
Controlcenter
Das CMS
Jan LübeckErstellen einer Webseitenstatistik mithilfe eines OLAP-
Servers
Ist - Aufnahme
Jan LübeckErstellen einer Webseitenstatistik mithilfe eines OLAP-
Servers
Ist - Aufnahme
Soll - Konzept
Realisierung
Fazit
Einleitung
• Speicherung pro Seitenzugriff– Relationale Datenbank ( MySQL )– 2 Tabellen• 1. Tabelle: Zugriffsdaten• 2. Tabelle: Parameter pro Zugriff( 1:n )
• Große Datenmengen• Flexible Datensammlung
Datensammlung
Jan LübeckErstellen einer Webseitenstatistik mithilfe eines OLAP-
Servers
Ist - Aufnahme
Soll - Konzept
Realisierung
Fazit
Einleitung
• Anzeige pro Zeiteinheit/Zeitraum:– Benutzerzahlen – Seitenaufrufe– Referer– Javascript – Bildschirmauflösung
Auswertung
Jan LübeckErstellen einer Webseitenstatistik mithilfe eines OLAP-
Servers
Ist - Aufnahme
Soll - Konzept
Realisierung
Fazit
Einleitung
• Daten per SQL-Statements• Neuberechnung bei jeder
Abfrage• „Joins“ mit anderen
Datenbanken• Langsam:– 4 bis 11 Minuten
Performance
Jan LübeckErstellen einer Webseitenstatistik mithilfe eines OLAP-
Servers
Ist - Aufnahme
Soll - Konzept
Realisierung
Fazit
Einleitung
• Google Analytics:– Javascript nötig– Keine Benutzer-Auswertung
• Log-Auswertung:– Langsam oder Statisch–Wenig Information
• Generell:– Abhängigkeit vom Datenformat
Externe Tools
Jan LübeckErstellen einer Webseitenstatistik mithilfe eines OLAP-
Servers
Soll - Konzept
Jan LübeckErstellen einer Webseitenstatistik mithilfe eines OLAP-
Servers
Ist - Aufnahme
Soll - Konzept
Realisierung
Fazit
Einleitung
• Online Analytics Processing• Daten in “Cubes”– “Cube” ist Sinnbild– Enthält Werte
• Dimensionen– Definieren die Bedingungen– Enthalten Elemente– Summenelemente
OLAP
Jan LübeckErstellen einer Webseitenstatistik mithilfe eines OLAP-
Servers
Ist - Aufnahme
Soll - Konzept
Realisierung
Fazit
Einleitung
Abfrage von Werten• Wert( 2008, Januar, Bot)• Wert( 2008, Jahr, Benutzer )• Wert( Gesamt, Jahr, Zugriffe )
OLAP
Monat- Jahr - Januar - Februar - …
Monat- Jahr - Januar - Februar - …
Jahr- Gesamt - … - 2007 - 2008
Jahr- Gesamt - … - 2007 - 2008
Schlüssel- Zugriffe - Admin - Benutzer - Bot
Schlüssel- Zugriffe - Admin - Benutzer - Bot
Jan LübeckErstellen einer Webseitenstatistik mithilfe eines OLAP-
Servers
Ist - Aufnahme
Soll - Konzept
Realisierung
Fazit
Einleitung
• Operationen– Slicing/Dicing ( Scheiben/Würfel )– Drill-Down / Drill-Up ( Detailgrad )– Pivoting ( Drehen )
• Methoden zur Speicherung–MOLAP ( Multidimensionales
„Array“ )– ROLAP– HOLAP
OLAP
Jan LübeckErstellen einer Webseitenstatistik mithilfe eines OLAP-
Servers
Ist - Aufnahme
Soll - Konzept
Realisierung
Fazit
Einleitung
• Beschleunigung der Auswertung• Einsatz eines OLAP-Servers• Abfrage per Webbrowser• Linux/Apache/PHP• Gleiches UI• Gleicher Datenumfang
Sollkonzept
Jan LübeckErstellen einer Webseitenstatistik mithilfe eines OLAP-
Servers
Ist - Aufnahme
Soll - Konzept
Realisierung
Fazit
Einleitung
• Linux, Apache, PHP ( Anforderung )
• OLAP-Server Bedingungen:– Linux–Möglichst kostengünstig– PHP-Schnittstelle
Software
PALO
Jan LübeckErstellen einer Webseitenstatistik mithilfe eines OLAP-
Servers
Realisierung
Jan LübeckErstellen einer Webseitenstatistik mithilfe eines OLAP-
Servers
Ist - Aufnahme
Soll - Konzept
Realisierung
Fazit
Einleitung
Softwareinstallation
Palo
Jan LübeckErstellen einer Webseitenstatistik mithilfe eines OLAP-
Servers
Ist - Aufnahme
Soll - Konzept
Realisierung
Fazit
Einleitung
• Zeitliche Einteilung– Datum( “Year”, “Month”, “Day” )– “Hour”, “Minute”, “Second”
• Art der Zusammenfassung– “Request”– “Session” ( Bot, User, Admin )
Definition der Dimensionen
Jan LübeckErstellen einer Webseitenstatistik mithilfe eines OLAP-
Servers
Ist - Aufnahme
Soll - Konzept
Realisierung
Fazit
Einleitung
• Schlüssel-Wert-Paare– HTTP-Variablen:– Übergabeparameter– Javascript-Parameter, wenn
verfügbar
• Summierung als Hierarchie– Typ– Schlüssel–Wert
Definition der Dimensionen
Jan LübeckErstellen einer Webseitenstatistik mithilfe eines OLAP-
Servers
Ist - Aufnahme
Soll - Konzept
Realisierung
Fazit
Einleitung
Beispiel
HTTP
HTTP|Referer
HTTP|Referer|www.goo
gle.de
HTTP|Referer|
www.msn.com
HTTP|User_Agent
HTTP|User_Age
nt|Firefox
HTTP|User_Age
nt|IE_7
Jan LübeckErstellen einer Webseitenstatistik mithilfe eines OLAP-
Servers
Ist - Aufnahme
Soll - Konzept
Realisierung
Fazit
Einleitung
Importscript
- Auslesen der Daten von MySQL- Füllen der Dimensionen- Benutzer- Zugriffe- Schlüssel
-Füllen des Cubes
Jan LübeckErstellen einer Webseitenstatistik mithilfe eines OLAP-
Servers
Ist - Aufnahme
Soll - Konzept
Realisierung
Fazit
Einleitung
• Trennung von Daten und Darstellung– Klasse „Analysis“• Wertet Überparameter aus• Ermittelt Daten• Erstellt XML-Daten
– XSLT-Prozessor• Erhält XML-Daten• Benutzt XSLT-Template• Erstellt HTML-Daten
Auswertung
Jan LübeckErstellen einer Webseitenstatistik mithilfe eines OLAP-
Servers
Fazit
Jan LübeckErstellen einer Webseitenstatistik mithilfe eines OLAP-
Servers
Ist - Aufnahme
Soll - Konzept
Realisierung
Fazit
Einleitung
Vergleich
Bisherige
Auswertung
Neue Auswertun
gZeitvorteil
Erster Seitenaufruf
11 Minuten 4 Minuten 275%
Weitere Seitenaufruf
e1-6 Minuten 15-45
Sekunden400-800%
Import Ad-HocCa. 10
Minuten -
Jan LübeckErstellen einer Webseitenstatistik mithilfe eines OLAP-
Servers
Ist - Aufnahme
Soll - Konzept
Realisierung
Fazit
Einleitung
• Erfahrungen mit PALO– Relativ unflexibel– Skaliert nicht– Langsam im Import
• Alternative: HOLAP• Zu bewältigende Hürden– Zugriff über PHP– Einsatz Linux oder Windows
Ausblick
Vielen Dank für Ihre Aufmerksamkeit