Konzeption und Realisierung eines Data Warehouses zur Analyse chirurgischer Workflows SS 07 Projekt-Praktikum Universität Konstanz Lehrstuhl: Datenbank & Informationssysteme Prof. Dr. Marc H. Scholl Betreuung: Svetlana Mansmann Matthias Röger; Information Engineering [email protected] Gliederung Einführung Entwurf und Konzeption eines Schemas zur Aufnahme chirurgischer Workflows • Transformation Geschäftsprozess-Beschreibung in das OLAP-System • • • Strukturierung und multidimensionale Perspektiven eines Prozesses Modellierung: Herausforderungen und Lösungen Struktur des Workflow Schemas Pentaho Business Intelligence Plattform • Vorstellung Business Intelligence Plattform Pentaho Überblick Pentaho Komponenten / Cube Designer • Praktische Vorführung • Konkrete Umsetzungen Fazit 2 Vorstellung Kooperations-Partner ICCAS Innovationszentrum für computerassistierte Chirurgie (ICCAS) an der medizinischen Fakultät der Universität Leipzig • Verfolgt die Vision einer möglichst perfekten Mensch-Maschine-Zusammenarbeit • Betreibt interdisziplinäre Forschung in den Disziplinen o Chirurgie o Informatik o Natur- u. Ingenieurwissenschaften • Unterziel ICCAS: o Analyse von chirurgischen Prozessen auf Basis von chirurgischen Arbeitsabläufen (Surgical Workflows) um Operationsabläufe verstehen, auswerten und optimieren zu können 3 Aufgabenstellung des Praktikums • Aufgabenstellung des Praktikums o Entwurf eines Data Warehouses zur Analyse chirurgischer Workflows • Rohdaten werden während der OP aufgenommen • Konzeption eines multidimensionales Datenmodells zur Datenanalyse • Implementierung des Datenmodells und Überführung der Daten in die Datenbanksysteme PostgreSQL bzw. DB2 o Pentaho Business-Intelligence (BI) Plattform • Administration der Pentaho-Plattform, des Cube Designers und des Reportings zum Zugriff auf verschiedene Datenbanksysteme • Erzeugung des zur Datenanalyse notwendigen Mondrian-Schemas • Integration der erzeugten Solution in die Pentaho-Plattform 4 Datenaufzeichnung / Ablauf • Datenaufzeichnung einer Operation o Aufzeichner: Speziell geschulte Medizinstudenten o Erfolgt über ein graphischen Workflow-Editor auf einem Tablet-PC o o o Aufzeichnungen erfolgen im Normalfall während der OP Daten werden nachbearbeitet, hierzu Unterstützung durch Video-Aufzeichnung Aufzeichnung kann auch komplett auf Basis von Videos erfolgen 5 Datenaufzeichnung • Welche Daten werden aufgezeichnet • o o Globale Daten, wie z.B. • Ort • Zeit • Beteiligte Personen • Patient • Diagnose • Therapie • Disziplin Typen von Queries o o o o Quantitative (Vorkommen, Dauer..) Wie oft wurde ein bestimmtes Instrument benutzt? Qualitative (Beziehungen, Muster..) An welcher Struktur wurde welches Instr. benutzt? Ergonomische (OP-Einrichtung) Blickrichtung des Chirurgen? … Die eigentliche OP betreffende Daten, wie z.B. • OP-Besteck • ausgeführte Aktionen • von welcher Person • an welcher Körperstruktur • von wem mit welcher Hand • sekundengenaue Aufzeichnung • Hinweise des Chirurgen, z.B. fehlendes OP-Besteck 6 Anwendungsgebiet Analyse chirurgischer Workflows Anwendungsgebiete der Analyse chirurgischer Workflows: • Untersuchung vorausgegangener Referenz-Fälle / Unterstützung chirurgischer Vorbereitungen • Suchen von Optimierungspotential hinsichtlich OP-Verfahren, -Besteck und -Geräte • Bewertung der operativen Leistungen und chirurgischen Fähigkeiten • Verifizierung von medizinischen Hypothesen • Bewertung des OP-Saal-Layouts • Verbesserung der chirurgischen Ausbildung und von Simulationssystemen • ... 7 Bisheriger Datenfluss Schaubild zeigt bisherigen Datenfluss bis zur Erzeugung des Protokolls als XML-File. • Multidimensionale Datenanalyse mit bisherigem Recording Schema nicht möglich • Recording Schema / XML-Protokoll wird durch Data Warehouse ersetzt 8 Bisheriger Datenfluss XML-Protokoll Aufzeichnungs-Ausschnitte aus dem Protokoll im XML-Format: Allgemeine Informationen einer OP: Informationen einer einzelnen Aktivität: 9 OLAP und multidimensionales Datenmodell Konzeption eines Data Warehouses auf dessen Basis die mehrdimensionale Datenanalyse erfolgt. • OLAP (OnLine Analytical Processing): Bezeichnung für die Analyse und Auswertung von großen Datenbeständen, welche multidimensional aufbereitet wurden. • Durch Multidimensionalität können Daten aus verschiedenen Blickwinkeln betrachtet und analysiert werden. OLAP-Würfel: • Grundlage für das mehrdimensionale Datenmodell • Kanten des Würfels: Dimensionen • Zellen: Kennzahl(en) als Funktion der Dimension 10 OLAP und multidimensionales Datenmodell OLAP-Funktionalität: • Pivotierung Vertauschen der Dimensionen: Sicht aus verschiedenen Perspektiven • Roll-Up Aggregation über vorgegebene Dimensionen • Drill-Down Navigation von aggregierten Daten zu Detaildaten nach bestimmten Dimensionen • Slicing Herausschneiden einer „Hyper-Scheibe“: Verringerung der Dimensionalität • Dicing Dimensionalität Herausschneiden eines „Teilwürfels“: Erhaltung der 11 Analyse chirurgischer Prozesse Neu entstandenes interdisziplinäres Feld „Analyse chirurgischer Prozesse“ • Intelligente Erfassung von Informationen von laufenden chirurgischen Eingriffen zur klinischen und technischen Analyse. • Medizinischer Begriff ‚chirurgischer Workflow‘ bezieht sich auf die Beschreibung von chirurgischen Eingriffen und stellt deren Abstraktion dar. • Recording-Schema: um die Nutzung der chirurgischen Workflows zu ermöglichen (z.B. Analyse), wird eine wohldefinierte Beschreibung des Eingriffs benötigt. 12 Business Process Intelligence (BPI) Neu entstandenes Feld „Business Process Intelligence“ Definition Anwendung von performance-getriebener Management-Technik zwischen Business Intelligence (BI) und Geschäfts-Prozessen. Durch die Annäherung von BI- und BPM-Technologie soll ein Mehrwert erzielt werden, der über die einzelnen jeweiligen Nutzen hinausgeht. Problem Zusammenführung der fluss-orientierten Prozess-Spezifikation und des snapshotbasierten multidimensionalen Designs zur quantitativen Analyse ist nicht trivial, da die Voraussetzungen und Ziele sehr verschieden und z.T. sogar inkompatibel sind. 13 Transformation Geschäftsprozess-Beschreibung in das OLAP-System • Um Zugang in ein OLAP-System zu erhalten, müssen die Beschreibungen der Geschäftsprozesse eine Transformation durch das zugrunde liegende multidimensionale Datenmodell durchleben. • Ein chirurgischer Prozess kann z.B. als Fakt-Eintrag Surgery modelliert werden, welcher durch die Dimensionen Location, Surgeon, Patient und Discipline charakterisiert wird. • Die Werte innerhalb einer Dimension werden typischerweise als Hierarchie gespeichert um multiple Granularitäten zu unterstützen. 14 Multidimensionale Perspektive eines Prozesses – logische/zeitliche und technische Strukturierung Zwei Ansatzarten zur Modellierung von chirurgischen Eingriffen: Logische / zeitliche Strukturierung • Aktivitäten (Activities) beschreiben chirurgische Aufgaben oder Arbeitsschritte wie es ein Beobachter aufnehmen würde: o o Entfernung von Blut mit Tupfer Schnitt mit Skalpell Technische Strukturierung • • • Konzept von Event und State kommt zum Einsatz Beschreibt die Status-Änderungen der entsprechenden Subsysteme zusammen mit dem auslösenden Event Zu den Subsystemen gehören z.B.: beteiligte Personen, ausführende Hand, Instrumente, Akteure, Geräte.. 15 Multidimensionale Perspektive eines Prozesses – Vertikale Zerlegung Gliederung der Prozess-Struktur: Vertikale / Horizontale Zerlegung Vertikale Zerlegung in zwei Granularitätsstufen der Fakten: • Surgery: jede einzelne OP mit entsprechenden Attributen und Dimensionen stellen einen Fakt-Typ der obersten Ebene dar. • Activity, State, Event: stellen drei Typen von Workflow-Komponenten dar. Jede hat ihre eigene Dimensionen; Behandlung als unabhängige Fakt-Typen. Abb.: vertikale Zerlegung des chirurgischen workflows in eine Fakt-Hierarchie 16 Multidimensionale Perspektive eines Prozesses – Vertikale Zerlegung Generelle Struktur eines chirurgischen Prozesses in UML-Klassen-Notation: Die Eigenschaften eines Prozesses sind entsprechend einer vertikalen Zerlegung angeordnet: workflow level Enthält charakteristische Beschreibung der OP als Ganzes. work step level Eigenschaften gehören zu einer bestimmten Komponente innerhalb eines Workflows. 17 Multidimensionale Perspektive eines Prozesses – Horizontale Zerlegung Horizontale Zerlegung in sachliche Perspektiven (analog zur Identifizierung von Dimensionen eines OLAP-Würfels): • Tätigkeit (Definiert Sub-Prozesse: gruppiert z.B. Aktivitäten in Phasen) • Arbeitsgang (Aktionen mit entsprechenden Instrumenten) • Verlauf (Ausführungsfolge) • Information (behandelt Daten-Input/-Output der Komponenten, z.B. Bilder, Signale, technische Parameter, Kommunikation..) • Organisation (welche Person / Ressource ist für welche Tätigkeit verantwortlich) 18 Modellierungs-Herausforderungen Zusätzlich zu klassischen OLAP-Einschränkungen, wie z.B.: • • Summierbarkeit von Dimensions-Hierarchien Verbot von Nullwerten als Fakt-Einträge bringt BPM folgende Herausforderungen mit: • Many-to-Many Beziehung zwischen Fakten und Dimensionen sind häufig • Variable Granularität infolge von Ungenauigkeiten z.B. Dimension Diagnose: Bezeichnung kann auf einem mehr oder weniger spezifischen Level erfolgen. 19 Modellierungs-Herausforderungen • Heterogenität von Fakt-Einträgen. o Prozesse bestehen aus unterschiedlichen Komponenten. o Modelliert man Komponenten als einen Fakt-Typ, führt dies zu einem Verlust der Unterklassen-Eigenschaften. o Mappt man die Subklasse auf verschiedene Fakt-Typen, verliert man die Fähigkeit, alle Komponenten wie eine einzige Klasse zu behandeln (bei den gemeinsamen Eigenschaften). • Austauschbarkeit von Kennzahlen und Dimensions-Rollen. o Im konventionellen Data Warehousing: Measure-Attribute sind zur DesignZeit bekannt. o Geschäftsprozess-Daten als solche besitzen keine expliziten mengenmäßigen Charakteristiken. o Measures variieren von Query zu Query. Wichtig: Möglichkeit, Measures während der Laufzeit von praktisch jedem Attribut spezifizieren zu können. 20 Modellierungs-Herausforderungen • Austauschbarkeit von Fakt und Dimensions-Rollen o Surgery hat selbst einen dimensionellen Charakter (Location, Patient) und kann daher als Fakt-Typ behandelt werden. o Hinsichtlich einer einzelnen Aktivität spielt Surgery jedoch die Rolle einer Dimension (z.B. Event rolls-up to Surgery). • Fakt-Schema ohne Measures o Die Measures können dynamisch definiert werden, d.h. es werden lediglich die Einträge der qualifizierenden Fakt-Einträge gezählt. 21 Modellierungs-Lösungen Schema eines chirurgischen Workflows Darstellung ist an das „Dimensional Fact Model“ angelehnt: Fakten Rechtecke Dimensions-Hierarchie Gerichtete Graphen mit runden Kategorie-Knoten „roll-up“-Beziehung Durchgezogene Pfeile „is-a“-Beziehung zwischen Fakten Gestrichelte Linien 22 Modellierungs-Lösungen Schema eines chirurgischen Workflows Fact constellation Fakt-Tabellen besitzen gemeinsame Dimensionen. Fact hierarchy Vertikale Zerlegung component rolls-up zu surgery. Satellite fact Extraktion jeder m:n-Beziehung zwischen Fakt und Dimension in eine sog. bridge-Tabelle, z.B. surgery_discipline. Fact generalization Gleichbehandlung von Fakt-Typen activity, state, event in gemeinsamer Superklasse component hinsichtlich gemeinsamer Eigenschaften. 23 Relationale Implementierung • • • • Star und Snowflake Schema sind die beiden Optionen des relationalen Data Warehouse Designs. Star Schema: Platzierung der gesamten Dimensions-Hierachie in eine einzelne Relation durch pre-joining aller Aggregations-Level. Snowflake Schema: Normalisierte Dimensions-Hierarchien. Einzige Option, wenn dimensionale Hierarchien zu Irregularien führen, wie z.B. Heterogenität, non-strictness, missing values, mixed granularität… Realisiert: Galaxy-Schema analog Snowflake Schema; jedoch sind mehrere Faktentabellen vorhanden, die mit denselben Dimensionstabellen verknüpft sind. Erweiterung des herkömmlichen Galaxy-Schema um zusätzliche Tabellen-Typen: Generalisierte Tabellen: Satellite Fact: 24 Pentaho – Vorstellung Open Source Pentaho Business Intelligence Plattform: • Bündelt Open Source BI-Projekte. • Stellt breites und integriertes Portfolio unterschiedlicher Open Source BI-Tools zusammen. • Zählt zu den 100 populärsten Open Source-Projekten; Marktführer in Open Source BI. • Gründung: 2004, Orlando (USA) • Gründungsteam: Zusammenschluss ehemaliger Manager und Branchenkenner auf dem BI-Gebiet verschiedener führender BI-Hersteller. • Zusätzlich zur Open Source – Version wird eine „professional edition“ angeboten. 25 Pentaho – Vorstellung Software unterstützt flexible Einsatzmöglichkeiten: • Komponenten für Entwickler o Nutzung einzelner Komponenten durch Web Service Interfaces. o BI-Funktionalitäten können z.B. in bestehende Applikationen integriert werden. o Auf Kundenbedarf zugeschnittene BI-Lösungen. • Out-of-the-box Produkte o Ready-to-deploy Applikationen für Reporting, Analyse, Dashboards, Data Mining und Workflow stehen zur Verfügung. o Können im Paket oder als stand-alone-Anwendungen genutzt werden. • Komplettes BI-Framework o Alle Ressourcen sind in einem umfassenden BI-Framework mit zentralen Repository, Security und anderen plattformweiten Features integriert. 26 Pentaho – Open BI Suite Pentaho BI-Projekt umfasst folgende Applikationsbereiche: • Reporting (JFreeReport) • Analyse o OLAP-Server (Mondrian) o Data Mining (Weka) • Dashboards • Prozess Management o Datenintegration (Kettle) • BI Plattform (Pentaho) 27 Pentaho – Komponente KETTLE Datenintegration Pentaho Datenintegration: KETTLE • Akronym KETTLE: „Kettle Extraction, Transformation, Transportation and Loading Environment“. • In Java geschriebenes ETL-Tool. • Enthält eine GUI-Komponente zur Konfiguration von Transformations- und Ladeprozessen. • Datenfluss kann mittels drag-and-drop über eine graphische Oberfläche gestaltet werden. Es wird spezifiziert WAS gemacht werden soll, jedoch nicht WIE. • Transformations-Bibliothek mit über 70 out-of-the-box Mapping-Objekten. 28 Pentaho – Komponente KETTLE Datenintegration KETTLE – besteht aus mehreren Komponenten: • Graphisches Tool zum Erstellen von Transformationen und Jobs. • Transformations-Engine, um Daten aus verschiedenen Quellen zu laden, zu transformieren und an das gewünschte Ziel auszugeben. • Komponente zur Verwaltung von Jobs, die zu bestimmten Zeiten ausgeführt werden sollen. 29 Pentaho – Komponente KETTLE Datenintegration Anwendungen • Import von Daten in Datenbanken. Quellen reichen von Text-Dateien bis Excel-Tabellen. • Export von Datenbanken in Text-Dateien oder andere Datenbanken. • Datenmigration zwischen Datenbank-Applikationen. • Exploration von Daten in vorhandenen Datenbanken (Tabellen, Views..). • Datenbereinigung durch Hinzufügen von komplexen Bedingungen in die DatenTransformationen. 30 Pentaho – Komponente Reporting Reporting - Eigenschaften • Basiert auf JFreeReport (freie Java Reporting Bibliothek) • Flexibler Einsatz o o • Zugriff auf unterschiedliche Datenquellen: o o o • Standalone desktop reporting Interaktives webbasiertes Reporting Relationale Datenbanksysteme XML-basierte Datenquellen OLAP u.a. Zusammenfassung der Daten aus diversen Quellen 31 Pentaho – Komponente Reporting • Exportmöglichkeit in verschiedenen Formaten: o PDF, HTML, Excel, Word… • Design Studio o Unterstützung durch Wizzard o Report Layout o Verteilung der Reports (Mail, Durchführungszeit..) o Berichte mit statischen / dynamischen Selektionen • Integration in nächste Entwicklerversion von OpenOffice. 32 Pentaho – Komponente Dashboards Pentaho Dashboards • Visuelle Bereitstellung wichtiger Kennzahlen • Sofortiger Einblick in individuelle, Abteilungs- oder Unternehmensleistungen • Versorgt Unternehmen mit kritischen Informationen • Möglichkeit zur Definition und Verfolgung von kritischen Geschäftsmetriken 33 Pentaho – Komponente Dashboards • Interaktive visuelle Displays o • Integration in Pentaho Plattform o o o • Nutzer erkennt sofort, welche Geschäftszahlen “im grünen Bereich” sind bzw. eine besondere Aufmerksamkeit erfordern. Zusammenspiel mit Reporting und Analysis Steht einer großen Menge von Nutzern zur Verfügung Integrierte Security, Scheduling Integrierte Alarmierung falls Ausnahmen auftreten sollten. 34 Pentaho – Komponente WEKA Data Mining Pentaho übernimmt 2006 Data Mining Projekt WEKA • WEKA wurde an der University of Waikato, Neuseeland, entwickelt. • Quelloffenes Data-Mining-Framework • Sammlung von Java-Klassen zur o Datenaufbereitung o Datensammlung o Klassifizierung o Visualisierung 35 Pentaho – Komponente WEKA Data Mining Unterstützte Data Mining-Verfahren: • • • • • Clustering Segmentierung Entscheidungsbäume PCA-Analyse Neuronale Netze Unterstützung durch graphische Tools: • • • Data Mining Design Administration Unterstützt neben verschiedenen Data Mining-Verfahren auch das Präprozessing 36 Pentaho – Komponente MONDRIAN OLAP-Server Einführung • Mondrian ist ein OS OLAP-Server. • Bietet multidimensionale Sicht der Daten. • Programmiert in Java. • Zugriff via JDBC auf fast alle relationale Datenbanksysteme. • Auswertung erfolgt im Kern mit MDX (Multidimensional Expressions). • Die Abfragen werden via HTTP/Tomcat an den Java-Mondrian Server geleitet und ausgeführt. • Mit der Bibliothek JPIVOT kann man Mondrian-Abfragen über JSP (Java Server Pages) in Weblösungen integrieren. 37 Pentaho – Komponente MONDRIAN OLAP-Server Anwendung / Navigation und Datenexploration: • Ermöglicht interaktive Analyse großer Datenmengen. • Für Analyse in der Pentaho-Plattform muss Anwender kein SQL beherrschen. • Webbasierte Frontends oder Excel 38 Pentaho – Komponente MONDRIAN OLAP-Server Funktionalität • Standard-OLAP-Funktionen o Slicing o Dicing o Drill-Down/Roll-up o Pivot • Auswahl gewünschter members zur Analyse • Filterung / Sortierung von Daten • Diagramm-Erzeugung • Export aktueller Daten in verschiedenen Formaten • Reportingmöglichkeiten (PDF Generierung..) 39 Pentaho – Komponente MONDRIAN OLAP-Server Realisiert in einer 4-Schichten-Architektur: • • • • Präsentationsschicht (Presentation layer) Kalkulationsschicht (Dimensional layer) Aggregationsschicht (Star layer) Speicherschicht (Storage layer) Mondrian Server 1. Schicht: Präsentationsschicht • • • • Bestimmt was der Nutzer auf dem Bildschirm sieht. Interaktionsmöglichkeiten zur Formulierung von Anfragen. Große Anzahl an Möglichkeiten zur Darstellung von multidimensionalen Daten, z.B. Pivottabellen, verschiedene Diagramm-Arten, fortgeschrittene Visualisierungen. Gemeinsam ist allen das zugrunde liegende Schema in Form von Dimensionen, Measures und Zellen. Auf dieser Basis werden Anfragen an den OLAP-Server gestellt und von diesem beantwortet. 40 Pentaho – Komponente MONDRIAN OLAP-Server 2. Schicht: Kalkulationsschicht • Parst, validiert und führt MDX-Queries aus. • Aus Effizienz-Gründen werden Zellen-Anfragen an die Aggregations-Schicht gesendet. • Ein Query-Transformer erlaubt der Anwendung, jede eingehende Query umzuschreiben und von Grund auf neue MDX-Statements zu formulieren. • Metadaten beschreiben das dimensionale Modell und wie es auf das relationale Modell gemappt wird („Mondrian-Schema“). 41 Pentaho – Komponente MONDRIAN OLAP-Server 3. Schicht: Aggregationsschicht • Pflegt die Aggregations-Caches. • Eine Aggregation ist ein Satz von Measure-Werten (Zellen) im Speicher. • Die Kalkulationsschicht prüft zunächst, ob die von ihr benötigten aggregierten Werte im Cache gehalten werden. • Falls Werte nicht im Cache bzw. auch nicht hergeleitet werden können, sendet der Aggregations-Manager eine Anfrage an die Speicherschicht. 4. Schicht: Speicherschicht • Ist ein RDBMS und der Zugriff kann über JDBC erfolgen. 42 Pentaho – Komponente MONDRIAN OLAP-Server Zugriff auf Mondrian • Mondrian bietet eine proprietäre API an, damit Client-Applikationen Queries ausführen können. • Die Query Language ist MDX (MultiDimensional eXpressions), um Queries zu spezifizieren. • MDX ist in der gleichen Weise eine Anfragesprache für multidimensionale Datenbanken wie SQL für relationale Datenbanken. 43 Pentaho – Komponente MONDRIAN OLAP-Server MDX-Bestandteile • • • • • Measures und Dimensions (analog Fakten und Dimensionen im DWH) Dimensionen bestehen aus einer Menge von Members (Klassifikationsknoten) Diese sind in verschiedenen Levels (Klassifikationsstufen) über Multiple Hierarchien (Klassifikationspfade) miteinander verbunden, worüber aggregiert werden kann. MDX-Anfrage (allgemein) SELECT axis ON COLUMNS, axis ON ROWS FROM cube WHERE slice From: Auswahl des Cubes Select: Auswahl Dimensionen u. Klassifikationsstufen Columns/Rows: Abbildung auf verschiedene Achsen der Ergebnis-Tabelle Slice: Auswahl innerhalb der Fakten 44 Pentaho – Mondrian Schema Mondrian Schema • Beschreibung der multidimensionalen Zusammenhänge von Daten. • Beinhaltet ein logisches Modell, bestehend aus o o o • Cubes Hierarchien Members Mappt das logische Modell auf ein physisches. Logisches Modell • Besteht aus den Konstrukten, mit welchen Queries in MDX geschrieben werden: cubes, dimensions, hierarchies, levels und members. Physisches Modell • ist eine Datenquelle, welche durch das logische Modell repräsentiert wird. • Bsp.: Star-Schema oder Snowflake-Schema (Satz von Tabellen in einer relationalen Datenbank) 45 Pentaho – Mondrian Schema Schema-Files • Mondrian Schema Files werden durch ein XML-File dargestellt. • Können „von Hand“ in einem gewöhnlichen Editor erstellt werden. • Mit Hilfe des Tools „Pentaho Cube Designer“ wird die Erzeugung dieses Schemas graphisch unterstützt. 46 Pentaho – Cube Designer Modellierungswerkzeug "Cube Designer" • Unterstützung beim Design von OLAP-Anwendungen • Wizzard führt Schritt für Schritt durch den Modellierungs-Vorgang: Verbindung zum relationalen Datenbanksystem Festlegung der analytischen Dimensionen Bestimmen von Measures und Angabe der Fakt-Tabelle o o o • Bietet graphische Oberfläche, keine Programmierung notwendig 47 Pentaho – Cube Designer • Erzeugt Mondrian Schema, worauf der Mondrian-OLAP-Server zugreift. • Befindet sich noch im Entwicklungs-Prozess • Einschränkungen vorhanden o Keine geteilten Dimensionen o Keine multiplen Hierarchien o Keine nachträglichen Änderungen o Snowflake-Schema wird nur mangelhaft unterstützt o Erzeugt z.T. fehlerhaften Output o .. Nachbearbeitung der erzeugten Solution notwendig. 48 Praktische Vorführung Pentaho Anwendung Pentaho Cube Designer • • Design eines OLAP-Würfels (Zugriff PostgreSQL) Erzeugung des Mondrian-Schemas Anwendung Pentaho BI-Plattform • • Integration des Mondrian-Schemas in die Pentaho-Plattform Mehrdimensionale Datenanalyse 49 Konkrete Umsetzungen Datenbankentwurf • Aufgezeichnete Daten standen im XML-Format ohne Schema zur Verfügung. • Auf dieser Basis und weiteren Anforderungen von ICCAS wurden während der konzeptionellen Entwurfsphase Objekte, deren Attribute und Beziehungen sowie entsprechende Kardinalitäten herausgearbeitet. • Logischer Entwurf und Umsetzung in das relationale Datenbankschema (Snowflake) • Datenbank-Implementierung: PostgreSQL / DB2 • Datenbankentwurf erfolgte iterativ und wurde schrittweise neuen Erkenntnissen / Anforderungen angepasst. 50 Konkrete Umsetzungen Programmierung Übersetzungsroutine • SAX-Parser wurde in Java programmiert und jeweils angepasst, um XML-Daten in entsprechende DB zu transformieren. ETL-Prozess • Basis: Simulationsdaten von OPs im CSV-Format • Korrektur fehlerhafter Daten • Programmierung Java-Routine zur Transformation und zum Ladevorgang in die DB Pentaho • Installation / Konfiguration Pentaho (z.B. Treiber, Pfade setzen, Probleme mit neuer jdk-Version, Dateien in falschen Verzeichnissen..) • Erstellung/Anpassung von XML-Daten zur JNDI Datenbank-Konfiguration für Datenbanksysteme PostgreSQL und DB2 • Einrichtung Remote-Zugang 51 Konkrete Umsetzungen Cube Designer (CD) und Mondrian Server (MS): Probleme / Lösungen • CD unterliegt Einschränkungen und liefert teilweise fehlerhaften Code des Mondrian-Schemas Nachbearbeitung notwendig. • CD nicht für Snowflake-Schema geeignet. Liefert z.B. ab dritter Hierarchie-Stufe falschen Code. Lösung: Fehlende Alias-Namen hinzufügen. • Ab bestimmten Hierarchie-Ebenen erzeugt CD keine Join-Anweisungen der Tabellen. Lösung: Fehlende Join-Anweisungen ergänzen. • Probleme mit Tabellen bei geteilten Dimensionen (MS). Lösung: Für jede mögliche Mehrfachnutzung separate Views erzeugen. 52 Konkrete Umsetzungen • Verwendung des Datentyps integer anstatt von string bei members führt zu Fehlern während des SQL-Zugriffs. (Kurzfristige) Lösung: Anpassen des Datentyps. • Kleinere Probleme: übernimmt man z.B. die vom CD vorgeschlagene Standardbezeichnung eines Levelnamens, führt dies zu einem Fehler beim späteren Zugriff auf die zugrunde liegenden Daten. Dokumentation • Vorgehensweise zur Administration der Pentaho-Plattform und des Cube Designers zur Solution-Erzeugung auf Basis einer PostgreSQL-Datenbank • Hinweise und Lösungen zu Problemen des Cube Designers bzw. des Mondrian Schemas 53 Fazit Modellierung • Großer Lernerfolg während der Entwicklung des Datenbank-Entwurfs • Interessant, sich mit dem Umfeld der Chirurgie auseinanderzusetzen. • Abwechslungsreiche Herausforderungen hinsichtlich der Transformation: Prozesse OLAP Pentaho BI-Plattform • Einstieg wird durch die schlechte Dokumentation sehr erschwert, jedoch hilfreiche Community. • Sind die vorhandenen Probleme jedoch gelöst, lässt sich mit Pentaho gut arbeiten. • OLAP-Server Mondrian stellt einen Großteil der gewünschten Funktionalität zur Verfügung. • Zur Modellierung von größeren OLAP-Würfeln ist die Weiterentwicklung des Cube Designers wünschenswert. • Pentaho ist für das Kennenlernen einer BI-Plattform auf jeden Fall empfehlenswert. 54 Fazit Allgemein • Zusätzlich zum Datenbankentwurf konnten zahlreiche praktische Erfahrungen gesammelt werden in den Bereichen • Anwendung Datenbanksysteme DB2 und PostgreSQL • Modellierung von OLAP-Würfeln • Anwendung BI-Plattform • SAX-Parser Programmierung • Betreuung und Unterstützung während des gesamten Praktikums war sehr gut. • Projekt-Praktikum machte großen Spaß und findet Fortsetzung in meiner Masterarbeit. 55 Fragen? Besten Dank für Ihre Aufmerksamkeit. 56