Open Data Warehouse. Aufbau eines Data Warehouse mit Pentaho ?· it-noum Best Practice Open Data Warehouse.…

Download Open Data Warehouse. Aufbau eines Data Warehouse mit Pentaho ?· it-noum Best Practice Open Data Warehouse.…

Post on 02-Feb-2019

214 views

Category:

Documents

0 download

Embed Size (px)

TRANSCRIPT

<p>Open Data Warehouse.Aufbau eines Data Warehousemit Pentaho</p> <p>Best Practice</p> <p>it-novum.com</p> <p>1. Zielsetzung und Nutzen 4</p> <p>2. Management Summary 5</p> <p>3. Aufbau des Data Warehouse-Systems 6</p> <p>4. Datenquellen 7</p> <p>5. Datenerfassung 8</p> <p> 5.1 Aufbau des ETL-Prozesses 9</p> <p> 5.1.1 Best Practices-Ansatz zum Umgang mit Lookup- und Join-Operationen 9</p> <p> 5.2 Praktische Umsetzung 12</p> <p> 5.3 Datenhaltung 18</p> <p> 5.3.1 Optimierung der Performance 19</p> <p> 5.4 Datenanalyse 21</p> <p> 5.5 Datenprsentation 22</p> <p>6. Resmee und Ausblick 23</p> <p>7. Anhang 24</p> <p>Inhalt</p> <p>2</p> <p>it-novum Best Practice | Open Data Warehouse. Aufbau eines Data Warehouse mit Pentaho</p> <p>1. Zielsetzung und NutzenDiese Best Practice zeigt, wie sich mit Open Source Produkten ein leistungsfhiges Data </p> <p>Warehouse aufbauen lsst. Die Best Practice ist interessant fr Sie, wenn Sie</p> <p> ber die Einfhrung eines Data Warehouse im Unternehmen nachdenken und auf der Suche </p> <p>nach einer geeigneten Lsung sind.</p> <p> lieber in Software-Anpassungen investieren als in Software-Lizenzen.</p> <p> eine offene und anpassbare Lsung haben wollen, die schnell aufzusetzen ist und mit Ihren </p> <p>Anforderungen mitwchst. </p> <p> bereits Open Source-Lsungen ins Auge gefasst haben, aber noch nicht wissen, wie Sie das </p> <p>Projekt angehen sollen.</p> <p> ein begrenztes Projektbudget haben.</p> <p>Sie profitieren vom Lesen dieses Best Practice, weil es Ihnen</p> <p> eine Beispielarchitektur fr ein Open Source-basiertes Data Warehouse aufzeigt und nach-</p> <p>vollziehbar beschreibt,</p> <p> Tipps fr die Konzeption und Implementierung gibt,</p> <p> ein Konzept zur Verfgung stellt, dass Sie an Ihre eigenen Bedrfnisse anpassen knnen,</p> <p> Empfehlungen fr Software-Produkte beinhaltet, die sich im Praxiseinsatz bewhrt haben.</p> <p>3</p> <p>it-novum Best Practice | Open Data Warehouse. Aufbau eines Data Warehouse mit Pentaho</p> <p>2. Management SummaryUnternehmen und ihr Umfeld produzieren immer schneller, immer grere Datenmengen. Die </p> <p>anfallenden Daten bergen ein riesiges wirtschaftliches Potenzial wenn sie richtig verarbei-</p> <p>tet und analysiert werden. Ein Data Warehouse bietet die optimale Grundlage dafr. Mit der </p> <p>Einrichtung und dem Aufbau eines Data Warehouse sind jedoch hufig hohe Lizenz- und Hard-</p> <p>warekosten verbunden. Das schreckt vor allem kleine und mittelstndische Unternehmen ab. </p> <p>Kostengnstige Open Source-Lsungen gibt es im Business Intelligence-Bereich schon lange. </p> <p>Doch eignen sie sich auch fr den Aufbau eines performanten Data Warehouse? Oder fhrt an </p> <p>kommerziellen Softwareprodukten kein Weg vorbei, wenn nicht auf Funktionalitt und Perfor-</p> <p>mance verzichtet werden soll?</p> <p>In dieser Best Practice geht es darum, ob und wie mit Open Source-Systemen ein leistungsfhi-</p> <p>ges Data Warehouse aufgebaut werden kann. </p> <p>Dazu wird eine prototypische Beispielarchitektur konzipiert und aufgebaut. Zum Einsatz kom-</p> <p>men die Lsungen Pentaho und Infobright. Die Architektur haben wir in ihren Grundzgen in </p> <p>mehreren Projekten umgesetzt, sie sind teils seit Jahren erfolgreich im Einsatz.</p> <p>Fr eine bessere Verstndlichkeit ist die Best Practice folgendermaen gegliedert:</p> <p> allgemeiner Aufbau eines Data Warehouse</p> <p> Anbindung der Datenquellen</p> <p> Aufbau des ETL-Prozesses</p> <p> Datenhaltung</p> <p> Datenanalyse</p> <p> Datenprsentation</p> <p> Resmee</p> <p>Dadurch werden alle wichtigen Punkte bei der Konzeption und Implementierung eines Data-</p> <p>Warehouse abgedeckt.</p> <p>4</p> <p>it-novum Best Practice | Open Data Warehouse. Aufbau eines Data Warehouse mit Pentaho</p> <p>3. Aufbau des Data Warehouse-SystemsEin Data Warehouse System besteht aus fnf Ebenen: Datenquelle, Datenerfassung, Daten-</p> <p>haltung, Datenanalyse und Datenprsentation. Die einzelnen Schichten werden dabei durch </p> <p>verschiedene Konzepte und Werkzeuge realisiert. Ihre jeweilige Umsetzung ist abhngig von den </p> <p>Anforderungen des entsprechenden Unternehmens. </p> <p>Das Data Warehouse-System unseres Prototyps besitzt die in der untenstehenden Abbildung </p> <p>dargestellte Struktur. Alle Komponenten sind Open Source. Als Datenquelle kommt die Mi-</p> <p>crosoft-Datenbank AdventureWorks zum Einsatz. Der ETL-Prozess auf der Ebene der Datenerfas-</p> <p>sung wird mit Pentaho Data Integration realisiert. Das Werkzeug ist Teil der Open Source Lsung </p> <p>Pentaho Business Analytics Suite, die in diesem Beispiel auch fr die Datenanalyse und Daten-</p> <p>prsentation verwendet wird. </p> <p>Das eigentliche Data Warehouse innerhalb der Datenhaltung wird mit dem analytischen Da-</p> <p>tenbankmanagementsystem Infobright abgebildet. Als OLAP-Server kommt Pentaho Mondrian </p> <p>zum Einsatz. Das notwendige XML-Schema wird mit der Pentaho Schema Workbench erzeugt. </p> <p>Sind diese Komponenten umgesetzt, knnen die Daten auf der Datenprsentationsebene durch </p> <p>verschiedene Tools von Pentaho in Form von Analysen, Dashboards und Reports aufbereitet wer-</p> <p>den. In den nachfolgenden Kapiteln werden die einzelnen Schichten und die dabei zum Einsatz </p> <p>kommenden Tools nher beschrieben.</p> <p>Aufbau der Beispielarchitektur</p> <p>5</p> <p>it-novum Best Practice | Open Data Warehouse. Aufbau eines Data Warehouse mit Pentaho</p> <p>4. DatenquellenBei unserem Prototyp kommen als Datengrundlage die Beispieldaten </p> <p>AdventureWorks2008R2(AWR2) zum Einsatz. Diese von Microsoft bereitgestellte OLTP-Datenbank </p> <p>kann kostenlos als Backup-Datei unter http://msftdbprodsamples.codeplex.com/ herunter-</p> <p>geladen werden. Die Daten reprsentieren ein fiktives, multinationales Unternehmen aus dem </p> <p>Produktionsbereich, das sich auf die Fertigung und den Vertrieb von Fahrrdern und Zubehr </p> <p>spezialisiert hat. Das Datenmodell besteht aus mehr als 70 Tabellen, die sich in fnf Bereiche </p> <p>unterteilen: Human Resources, Person, Production, Purchasing und Sales.</p> <p>Das Datenmodell hnelt hinsichtlich des Szenarios und der Komplexitt den Datenbankstruk-</p> <p>turen realer Unternehmen und ist daher gut fr Demonstrations- und Testzwecke geeignet. Die </p> <p>zur Verfgung gestellte Backup-Datei(.bak) kann problemlos im Microsoft SQL Server integriert </p> <p>werden. Dazu ist lediglich innerhalb des SQL Server Management Studios ber das Datenbank-</p> <p>symbol das Interface zur Datenbankwiederherstellung zu ffnen (siehe Abbildung). Danach wird </p> <p>die neue Datenbank im Objekt-Explorer angezeigt. </p> <p>Der Microsoft SQL Server stellt natrlich keine Open Source Software dar. Wir haben ihn aber fr </p> <p>dieses Beispiel herangezogen, um die Testdaten von Microsoft nutzen zu knnen. Alternativ kann </p> <p>das Backup auch in CSV-Dateien umgewandelt werden. Die Dateien lassen sich im Anschluss in </p> <p>jede Open Source Datenbank per Bulk Load laden.</p> <p>Import der Backup-Datei</p> <p>6</p> <p>it-novum Best Practice | Open Data Warehouse. Aufbau eines Data Warehouse mit Pentaho</p> <p>5. DatenerfassungDie Datenerfassung beschftigt sich mit dem Extrahieren, Transformieren und Laden (ETL) der operativen Daten in </p> <p>das Data Warehouse. Ziel ist es, eine homogene, qualitativ hochwertige Datenbasis im Data Warehouse zu schaffen, </p> <p>auf der Analysen ausgefhrt werden knnen. Zu den Aufgaben der Datenerfassung gehrt auch die Planung des </p> <p>Datenmodells.</p> <p>Das Datenmodell ist die Grundlage fr die spteren Transformationsprozesse der Daten. Dabei sind grundstzliche </p> <p>Entscheidungen zu treffen, die den zu analysierenden Geschftsprozess und den dabei angestrebten Detailgrad </p> <p>sowie mgliche Dimensionen und Kennzahlen betreffen.</p> <p>Im Rahmen des vorliegenden Prototyps wollen wir Vertriebsdaten auswerten. Am Detailgrad </p> <p>der Daten wird nichts verndert, so bleiben alle Hierarchiestufen erhalten. Insgesamt sollen </p> <p>fnf Dimensionen in Bezug auf die OLTP-Datenbank erstellt werden, und zwar zu Datum, Kunde, </p> <p>Produkt, Vertriebsgebiet und Whrung. Was die Kennzahlen betrifft, soll es mglich sein, Bestell-</p> <p>menge, Frachtkosten, gewhrte Rabatte, Steuern, Stckkosten sowie Umsatz zu analysieren. Die </p> <p>Daten werden in Form eines Star-Schemata aufbereitet, weil es die beste Modellierungsvariante </p> <p>fr unsere Ziele darstellt (siehe Abbildung). Es ist aber auch mglich, ein Snowflake- oder Flat-</p> <p>Schema zu verwenden.</p> <p>Star-Schema auf Basis der verwendeten AWR2-Datenbank</p> <p>7</p> <p>it-novum Best Practice | Open Data Warehouse. Aufbau eines Data Warehouse mit Pentaho</p> <p>Database Lookup</p> <p>5.1 Aufbau des ETL-ProzessesFr die Umsetzung des ETL-Prozesses verwenden wir das Open Source Tool Pentaho Data Integ-</p> <p>ration (PDI). Das Werkzeug bietet vordefinierte Schritte zum Extrahieren, Transformieren und La-</p> <p>den der Daten. Diese knnen ber eine graphische Drag-and-Drop-Oberflche, genannt Spoon, </p> <p>erstellt werden. Auf diese Weise lassen sich mit geringem Aufwand professionelle ETL-Routinen </p> <p>in Form von Transformationen und bergeordneten Jobs aufbauen. Der manuelle Programmier-</p> <p>aufwand ist dabei sehr gering, weshalb sich das Tool auch fr unerfahrene Nutzer eignet. </p> <p>5.1.1 Best Practices-Ansatz zum Umgang mit Lookup- und Join-Operationen</p> <p>Die Dimensionen des Star-Schemas bentigen Informationen aus verschiedenen Tabellen der </p> <p>OLTP-Datenbank. Um die Daten vergleichen und kombinieren zu knnen, bietet Pentaho Data </p> <p>Integration Lookup- und Join-Operationen. Jeder Schritt kann dabei angepasst werden, was im </p> <p>falschen Kontext zu Performanceproblemen fhren kann. Da in der Regel innerhalb des ETL-</p> <p>Prozesses meist viele Tabellen kombiniert werden mssen, erhht die Auswahl der richtigen </p> <p>Schritte signifikant die Verarbeitungsgeschwindigkeit. Wir erklren daher im Folgenden die </p> <p>wichtigsten Schritte.</p> <p>Database LookupDatabase Lookup ermglicht den Abgleich von Daten verschiedener Tabellen einer Datenbank. </p> <p>Damit lassen sich neue Attribute in die bestehende Datenbanktabelle integrieren. Der Database </p> <p>Lookup wurde fr kleine bis mittlere Data Sets konzipiert. Besonderes Augenmerk gilt dabei der </p> <p>Cache-Konfiguration: bei aktivem Cache lsst sich die Verarbeitungszeit deutlich verkrzen. Eine </p> <p>weitere Performance-Steigerung wird erreicht, indem die Checkbox Load All Data From Table </p> <p>aktiviert wird. Gerade bei greren Data Sets kann durch das Caching der Java Stack Space </p> <p>berlastet werden, was die Transformation zum Zusammenbruch bringt.</p> <p>8</p> <p>it-novum Best Practice | Open Data Warehouse. Aufbau eines Data Warehouse mit Pentaho</p> <p>Stream LookupStream Lookup hnelt Database Lookup mit aktivem Cache. Allerdings knnen die zu verglei-</p> <p>chenden Daten direkt aus dem Stream extrahiert werden. Durch das dauerhafte Caching ist der </p> <p>Stream Lookup sehr ressourcenintensiv und sollte daher nur bei kleineren Data Sets eingesetzt </p> <p>werden, die nicht direkt aus einer Datenbank geladen werden knnen. Mit der Checkbox Pre-</p> <p>serve Memory (Costs CPU) gibt es die Mglichkeit, den Speicherbedarf auf Kosten der CPU zu </p> <p>verringern. Bei Aktivierung dieser Funktion werden die geladenen Daten beim Sortieren kodiert </p> <p>(Hashing). Nachteil dieser Prozedur sind lngere Laufzeiten.</p> <p>Merge JoinMerge Join setzt die klassische Join-Operation innerhalb der Data Integration-Komponente um. </p> <p>Unterschieden wird zwischen Inner, Full Outer, Left Outer sowie Right Outer-Joins. Merge Join </p> <p>eignet sich vor allem fr groe Data Sets mit hoher Kardinalitt, also vielen unterschiedlichen </p> <p>Attributwerten innerhalb einer Spalte. Die Daten mssen zu Beginn nach den zu vergleichenden </p> <p>Attributen sortiert werden. Das sollte nach Mglichkeit direkt auf der Datenbank ber Order By </p> <p>realisiert werden. Alternativ lsst sich auch der Schritt Sort Rows verwenden, was allerdings die </p> <p>Performance schmlert.</p> <p>Stream Lookup</p> <p>Stream Lookup</p> <p>9</p> <p>it-novum Best Practice | Open Data Warehouse. Aufbau eines Data Warehouse mit Pentaho</p> <p>Database JoinMit Database Join lassen sich ebenfalls Datenbankentabellen verknpfen. Dabei lassen sich na-</p> <p>tive Abfragen erstellen und ausfhren. Die Parameter der bisherigen Transformation knnen in </p> <p>die native Abfrage integriert werden. Als Platzhalter dient ein Fragezeichen, das beim Ausfhren </p> <p>durch den entsprechenden Parameter ersetzt wird. Bei der Integration mehrerer Parameter, ist </p> <p>die richtige Reihenfolge im Bereich The parameters to use entscheidend. </p> <p>Dimension Lookup / UpdateDer Schritt Dimension Lookup / Update kombiniert die Funktionalitten von Insert / Update und </p> <p>Database Lookup. Dabei kann man zwischen den beiden Funktionen durch Aktivieren bzw. Deak-</p> <p>tivieren der Checkbox Update The Dimension wechseln. Zustzlich ermglicht der Schritt, auf </p> <p>effiziente Weise Slowly Caching Dimension zu integrieren. Dimension Lookup / Update wurde fr </p> <p>spezielle Anwendungsflle entwickelt und ist daher sehr rechenintensiv. Wir erwhnen ihn hier </p> <p>daher nur der Vollstndigkeit halber. </p> <p>Database Join</p> <p>Dimension Lookup / Update</p> <p>10</p> <p>it-novum Best Practice | Open Data Warehouse. Aufbau eines Data Warehouse mit Pentaho</p> <p>PerformancetestUm die Performanceunterschiede zu zeigen, haben wir die verschiedenen Schritte in Verbindung </p> <p>mit zwei Data Sets geprft, die den zu erwartenden Datenmengen der Demo entsprechen. </p> <p>Wie der Tabelle zu entnehmen ist, weist gerade der Database Join groe Performanceprobleme </p> <p>bei steigendem Datenvolumen. Bei den restlichen Schritten steigen die Verarbeitungszeiten </p> <p>trotz der deutlich greren Datenmenge kaum an.</p> <p>Operation 40.000 Datenstze 152.500 Datenstze</p> <p>Database Lookup 0,9 sek. 1,5 sek.</p> <p>Stream Lookup 1,6 sek. 2,3 sek. </p> <p>Merge Join 1,3 sek. 2,6 sek.</p> <p>Database Join 8,2 sek. 3 min.</p> <p>5.2 Praktische UmsetzungDie ETL-Prozesse richten sich nach den im Vorfeld festgelegten Spezifikationen des multidimen-</p> <p>sionalen Datenmodells. Pro Dimension bzw. Faktentabelle wird eine Transformation erstellt. </p> <p>Dadurch besteht ein besserer berblick und Fehler lassen sich einfacher lokalisieren. Auerdem </p> <p>verringert sich so die Gefahr, den Server zu berlasten. Die verschiedenen Transformationen </p> <p>werden ber einen zentralen Job verbunden und gesteuert:</p> <p>Transformationen des Performancetest</p> <p>Ergebnisse des Performancetest</p> <p>11</p> <p>it-novum Best Practice | Open Data Warehouse. Aufbau eines Data Warehouse mit Pentaho</p> <p>Bevor mit den eigentlichen Transformationsprozessen zur Aufbereitung und Befllung des Data </p> <p>Warehouse begonnen werden kann, mssen die Datenbankverbindungen zur Datenquelle und </p> <p>dem Data Warehouse definiert werden. Neue Datenbankverbindungen knnen in Pentaho Data </p> <p>Integration im Reiter View&gt;Database Connections angelegt werden. Entscheidend ist die Auswahl </p> <p>der richtigen Datenbank, des richtigen Treibers sowie benutzerspezifische Einstellungen wie </p> <p>Datenbankname oder Nutzer. </p> <p>Wichtig ist, dass die JDBC-Treiber der beiden Datenbanken im Verzeichnis lib des Data Integrati-</p> <p>on Tools hinterlegt sind. Standardmig kann auf MySQL ber Port 1433 und auf die Infobright-</p> <p>Datenbank ber Port 5029 zugegriffen werden. </p> <p>bergeordneter Job</p> <p>Details der Datenbankverbindungen</p> <p>12</p>

Recommended

View more >