Projekt Ferienclub Business Intelligence Jan Weinschenker [email protected] Agenda Ziele und Aufgaben BI-Architektur Datenmodelle Extraktion, Transformation, Laden Vorgehen im Projekt Zusammenfassung und Ausblick Jan Weinschenker 2 Ziele und Aufgaben Business Intelligence im Ferienclub Testdaten generieren Unsere Anwendungsfälle realisieren Testschema mit Kundendaten Appointments (Tracking) Jan Weinschenker 3 BI-Architektur 80 70 Datenquelle 60 50 40 30 20 10 0 1 Arbeitsbereich Basisdatenbank Darstellung Datenquelle ETL Analyse Jan Weinschenker 4 Basisdatenbank ptt_dimension_place ptt_dimension_categories PK PK categoryid category ptt_facts ptt_dimension_home PK homeid PK id FK4 placeid age genderid categoryid stateid appointmentid beginyear beginmonth beginday beginhour beginminute begintimestamp endyear endmonth endday endhour endminute endtimestamp homeid FK3 FK2 FK5 FK1 country city FK6 placeid_extern name longitude latitude validrange ptt_dimension_gender PK genderid gender ptt_dimension_states ptt_dimension_appointments PK placeid PK appointmentid stateid statename appointmentid_extern Jan Weinschenker 5 Ausgangslage: PTT ptt_dimension_place ptt_dimension_categories PK ptt_appointment categoryid category ptt_place PK placeid ptt_facts name longitude PK id latitude FK4validrange placeid ptt_dimension_home PK homeid country city ptt_address PK addressid PK country province zipcode street email ptt_dimension_appointments phone PK appointmentid appointmentid_extern age genderid categoryid stateid appointmentid beginyear beginmonth beginday beginhour beginminute ptt_user begintimestamp endyear userid endmonth endday endhour name endminute anrede endtimestamp firstname FK6 homeid FK3 FK2 FK5 FK1 FK1 password addressid geburtsdatum PK placeid PK appointmentid placeid_extern name subject longitude latitude datetime duration validrange FK1 category placeid status lead ptt_dimension_gender PK genderid gender ptt_appointment_user PK,FK2 PK,FK1 userid appointmentid ptt_dimension_states PK stateid statename Jan Weinschenker 6 Extraktion und Transformation Extraktion der Daten Aus Produktivsystem in den Arbeitsbereich Transformation der Daten In eine analyseoptimierte Form Jan Weinschenker 7 Laden der Daten … in die Basisdatenbank Dort endgültige Lagerung Basis für Analysen Keine Änderungen mehr Jan Weinschenker 8 Verwendete Werkzeuge Arbeitsbereich und Basisdatenbank BizGres DBMS (ein PostGreSQL-Fork) ETL: Enhydra Octopus Java-basiert Konfiguration über XML Datenbankzugriff per JDBC (kein Bulkload) Diverse JDBC-Treiber Jan Weinschenker 9 Verwendete Werkzeuge Eclipse-Plugins XMLBuddy QuantumDB Fedora Linux Aqua Data Studio Ant Jan Weinschenker 10 Vorgehen im Projekt Installation und Konfiguration der Arbeitsumgebung (MS I) Erzeugen von Testdaten Testdaten und Testdatenschema (MS II) Testdaten für PTT-Schema (MS III) Jan Weinschenker 11 Vorgehen im Projekt ETL-Jobs verfassen (XML, SQL) Definition von Quell- und Zieldatenbank Quell- und Zielschema Kopier- und Transformationsvorgängen Fehlersuche und Debugging Eigenheiten von JDBC-Implementierungen Änderungen an Datenbankschemata Jan Weinschenker 12 Zusammenfassung und Ausblick ETL ist Fummelkram Man kennt die Datenschemata aller Beteiligten Ich hätte gerne noch Ein besseres Cleanup der Quelldaten gemacht Eine SOA-Adminschnittstelle implementiert Jan Weinschenker 13 Fragen? Jan Weinschenker 14 Quellen BizGres DMBS Enhydra Octopus ETL-Tool http://octopus.enhydra.org JTDS JDBC-Treiber (für MS SQLServer) http://www.bizgres.org http://jtds.sourceforge.net/ PostgresQL JDBC-Treiber (für BizGres) http://jdbc.postgresql.org/ Jan Weinschenker 15 Quellen XMLBuddy Eclipse Plugin QuantumDB Eclipse Plugin http://fedora.redhat.com/ Aqua Data Studio http://quantum.sourceforge.net/ Fedora Linux http://xmlbuddy.com/ http://www.aquafold.com/ Apache Ant http://ant.apache.org/ Jan Weinschenker 16