Data Warehouse mit Visual Fox Pro Marc Voillat

  • Slides: 30
Download presentation
Data Warehouse mit Visual Fox. Pro Marc Voillat Interbrain AG 27. Mai 2004

Data Warehouse mit Visual Fox. Pro Marc Voillat Interbrain AG 27. Mai 2004

Übersicht Theorie n n n Interbrain AG und das Projekt „Sportamt ZH“ Grundlegendes zum

Übersicht Theorie n n n Interbrain AG und das Projekt „Sportamt ZH“ Grundlegendes zum Data Warehouse SQL Server Analysis Services oder Contour Cube? Praxis Contour Cube n n Demo anhand der mitgelieferten Beispielapplikation Definition des Cubes Laden und Speichern des Cubes Hinweise auf weitere Probleme beim praktischen Einsatz

Interbrain AG und das Projekt „Sportamt ZH“ Interbrain AG Projektübersicht Systemarchitektur Mengengerüst Zentrale Auswertungen:

Interbrain AG und das Projekt „Sportamt ZH“ Interbrain AG Projektübersicht Systemarchitektur Mengengerüst Zentrale Auswertungen: Data Warehouse?

Interbrain AG Online-Zutrittskontroll-, Abrechnungs- und Verwaltungslösungen für einzelne und verbundene Fitness- und Wellnessanlagen Umfassende

Interbrain AG Online-Zutrittskontroll-, Abrechnungs- und Verwaltungslösungen für einzelne und verbundene Fitness- und Wellnessanlagen Umfassende eigene Softwarelösung auf Basis von Visual Fox. Pro Integration verschiedenster Hardware. Komponten von Drittherstellern (POS, Datenträger, Automaten …)

Projekt „Sportamt ZH“ (1) Kassensystem: n n Verkauf von lokal gültigen Einzeleintritten (Tickets mit

Projekt „Sportamt ZH“ (1) Kassensystem: n n Verkauf von lokal gültigen Einzeleintritten (Tickets mit Barcode) Verkauf von verbundweit gültigen, unpersönlichen Punktekarten sowie persönlichen Saison- und Jahreskarten (Chipkarten mit Pfand) Verkauf und Verwaltung von verbundweit gültigen Gutscheinen (mit Barcode) Verkauf und Vermietung von Artikeln

Projekt „Sportamt ZH“ (2) Zutrittskontrolle mit Drehkreuzen und kombinierten Chip- und Barcodelesern Verwaltung der

Projekt „Sportamt ZH“ (2) Zutrittskontrolle mit Drehkreuzen und kombinierten Chip- und Barcodelesern Verwaltung der persönlichen Abonnemente Zentrale Verwaltung: n n Konfiguration der Applikation für alle oder einzelne Anlagen Abschlussarbeiten für Rechnungswesen Statistische Auswertungen für einzelne, mehrere oder alle Anlagen Fernwartung für alle Stationen des Verbundes

Systemarchitektur Lokale VFP-Datenbank auf dem Server jeder Anlage Replikation der relevanten Daten über WAN

Systemarchitektur Lokale VFP-Datenbank auf dem Server jeder Anlage Replikation der relevanten Daten über WAN (VPN über ADSL; Austausch der Basisdaten alle 24 h und Leistungsverbuchung sofort über FTP) Zugriff der zentralen Verwaltung auf die einzelne Anlage über Terminal Server Fernwartung durch Verwaltung mit Dame. Ware Verdichtung der Eintritts- und Verkaufszahlen in einem zentralen Data Warehouse (VFP mit CC)

Mengengerüst Verbund mit 21 Standorten in Zürich (Anlagen des Sportamtes und fremdbetriebene Anlagen) Total

Mengengerüst Verbund mit 21 Standorten in Zürich (Anlagen des Sportamtes und fremdbetriebene Anlagen) Total ca. 50 Server und Arbeitsstationen Mehr als 2 Mio. Eintritte im Jahr 2003, bis zu 30‘ 000 an Spitzentagen Etwa 50‘ 000 Jahres-, Saison und Punktekarten im Umlauf

Zentrale Auswertungen: Data Warehouse? Verschiedenste zentrale Auswertungen über Eintritte und Verkäufe einzelner, mehrerer oder

Zentrale Auswertungen: Data Warehouse? Verschiedenste zentrale Auswertungen über Eintritte und Verkäufe einzelner, mehrerer oder aller Anlagen Bezüglich Sichtweise, Gruppierung und Filterung der Daten möglichst flexibel Endform, in der die Daten präsentiert werden, möglichst frei wählbar Aktualisierung alle 24 h genügt

Grundlegendes zum Data Warehouse Charakteristika Cubes, Fact Tables, Measures und Dimensions Star- und Snowflake-Schema

Grundlegendes zum Data Warehouse Charakteristika Cubes, Fact Tables, Measures und Dimensions Star- und Snowflake-Schema Star-, Snowflake-, Parent-Child, und Zeitdimensionen Teile des Data Warehouse: Staging Area und OLAP resp. Presentation Area Extraction – Transformation – Load Cube Processing: MOLAP, HOLAP oder ROLAP Offline Cubes (Data Marts)

Charakteristika Spezielle Art der Datenmodellierung Datenbank mit Fakten (offline) Meta-Datenbank mit Cube-Definitionen Vorberechnete aggregierte

Charakteristika Spezielle Art der Datenmodellierung Datenbank mit Fakten (offline) Meta-Datenbank mit Cube-Definitionen Vorberechnete aggregierte Werte Präsentationsschicht Tools zur Automatisierung des ETLProzesses (Überführung der Daten vom OLTP-System in die Cubes des DWH)

Cubes, Fact Tables, Measures und Dimensions (1) Cube: n n Data Warehouse besteht aus

Cubes, Fact Tables, Measures und Dimensions (1) Cube: n n Data Warehouse besteht aus einem oder Cubes („Datenwürfel“) Strukturdefinition (eine Fact Table pro Cube, mehrere Dimensionen und Messwerte) Vorberechnete aggregierte Werte Präsentationsschicht zum Auswerten der Daten (Slice, Dice und Drill)

Cubes, Fact Tables, Measures und Dimensions (2) Fact Table: n n n Datenquelle des

Cubes, Fact Tables, Measures und Dimensions (2) Fact Table: n n n Datenquelle des Cubes (in der Staging Area) Flache Struktur mit Referenzwerten aus Dimension Tables und Messwerten Enthält einen Datensatz pro Vorgang (Fact) Measure (Messwert): n n Beispiele: Menge, Preis, Anzahl, Dauer… Basis für die im Cube aggregierten Werte, wie Anzahl Datensätze, Summe von Werten, Minimal- und Maximalwerte, Durchschnitte…

Cubes, Fact Tables, Measures und Dimensions (3) Dimension: n n n Beispiele: Zeit, Ort,

Cubes, Fact Tables, Measures und Dimensions (3) Dimension: n n n Beispiele: Zeit, Ort, Art der Vorgangs, Merkmale von Leistungserbringern und Leistungsempfängern… Referenztabelle mit Schlüsselwert und Bezeichnung sowie allfälligen Referenzwerten aus sekundären Dimensionen (Snowflake) Kriterium für Gruppierung, Gliederung und Filterung der Vorgänge (Facts)

Star- und Snowflake-Schema

Star- und Snowflake-Schema

Star-, Snowflake-, Parent-Childund Zeitdimensionen (1) Star-Dimension: n n Code in der Fact Table Code

Star-, Snowflake-, Parent-Childund Zeitdimensionen (1) Star-Dimension: n n Code in der Fact Table Code und zugehörige Bezeichnung in der Dimension Table Snowflake-Dimension: n Dimensionen, welche ihrerseits Referenzwerte (Codes) einer weiteren Dimension enthalten

Star-, Snowflake-, Parent-Childund Zeitdimensionen (2) Parent-Child-Dimension: n Dimensionen, welche einen rekursiven Verweis auf sich

Star-, Snowflake-, Parent-Childund Zeitdimensionen (2) Parent-Child-Dimension: n Dimensionen, welche einen rekursiven Verweis auf sich selbst enthalten (Stücklistenstruktur) Zeitdimension: n n n Basierend auf Datum-Zeit-Wert Granularität wählbar (Datum, Jahr, Monat, Tag, Stunde, Kalenderwoche, Wochentag…) Vom System zur Verfügung gestellt, keine Dimension Table notwendig

Teile des Data Warehouse: Staging Area und OLAP resp. Presentation Area Staging Area: Offline-Datenbank

Teile des Data Warehouse: Staging Area und OLAP resp. Presentation Area Staging Area: Offline-Datenbank mit den aus der OLTP Area extrahierten und geladenen Fact und Dimension Tables OLAP oder Presentation Area: Cubes mit den aus den Daten der Staging Area berechneten aggregierten Werten

Extraction – Transformation – Load Data Extraction: n n Extrahieren aus dem produktiven OLTP-System

Extraction – Transformation – Load Data Extraction: n n Extrahieren aus dem produktiven OLTP-System Übermitteln in die Staging Area Data Transformation: n n n Transformation auf einheitliche Standards Prüfung und Bereinigung der Daten (Cleansing) Anreicherung durch Denormalisierung und Informationen aus externen Quellen (Enrichment) Data Load: n n Laden der Dimension Tables Laden der Fact Tables

Cube Processing (1): MOLAP Multidimensional Online Analytical Processing: n n Struktur, aggregierte Werte und

Cube Processing (1): MOLAP Multidimensional Online Analytical Processing: n n Struktur, aggregierte Werte und Detaildaten im Data Warehouse Platzintensiv, lange Ladezeiten Schneller Zugriff, unabhängig vom OLTPSystem Normalfall

Cube Processing (2): HOLAP Hybrid Online Analytical Processing: n n n Struktur und aggregierte

Cube Processing (2): HOLAP Hybrid Online Analytical Processing: n n n Struktur und aggregierte Werte im Data Warehouse Detaildaten im OLTP-System Platzsparend, kurze Ladezeiten Abhängig vom OLTP-System Nur für sehr grosse, aber beständige DWH

Cube Processing (3): ROLAP Relational Online Analytical Processing: n n n Nur Struktur im

Cube Processing (3): ROLAP Relational Online Analytical Processing: n n n Nur Struktur im Data Warehouse Keine aggregierten Werte Detaildaten im OLTP-System Platzsparend Abhängig vom OLTP-System, ineffizient und extrem lastintensiv in der Ausführung Nur für Echtzeit-Cubes

Offline Cubes (Data Marts) Können, unabhängig vom Data Warehouse Server, als separate Datei verteilt

Offline Cubes (Data Marts) Können, unabhängig vom Data Warehouse Server, als separate Datei verteilt und mit Excel oder einem speziellen Viewer angezeigt werden Können, einmal erzeugt, nicht aktualisiert, sondern nur neu erstellt werden Erfordern bei grossen Datenmengen entsprechend viel Arbeitsspeicher auf den Arbeitsstationen, die darauf zugreifen

SQL Server Analysis Services oder Contour Cube? SQL Server Analysis Services: n n n

SQL Server Analysis Services oder Contour Cube? SQL Server Analysis Services: n n n Charakteristika Vorteile Nachteile Contour Cube: n n n Charakteristika Vorteile Nachteile

SQL Server Analysis Services: Charakteristika Microsoft-Produkt Eigenständige Applikation Basiert umfassend auf SQL Server und

SQL Server Analysis Services: Charakteristika Microsoft-Produkt Eigenständige Applikation Basiert umfassend auf SQL Server und dessen Tools Integration in eine VFP-Applikation anspruchsvoll, mit Pivot-Table-Assistent aber prinzipiell möglich Nahezu beliebige OLTP-Datenquellen (OLEDB und ODBC) verwendbar, Staging Area wird sinnvollerweise als SQL-Datenbank angelegt MOLAP, HOLAP und ROLAP möglich Online- und Offline-Cubes

SQL Server Analysis Services: Vorteile Auch für sehr grosse Datenmengen geeignet Defacto-Standard, viele Zusatzprodukte

SQL Server Analysis Services: Vorteile Auch für sehr grosse Datenmengen geeignet Defacto-Standard, viele Zusatzprodukte Grosser Funktionsumfang Starke Werkzeuge zur Automatisierung des ETLProzesses (DTS, SQL Server Agent) Ausführliche Dokumentation und Beispiele sowie diverse Literatur Sicherheit

SQL Server Analysis Services: Nachteile Gesamthaft betrachtet relativ teuer Hoher Einarbeitungsaufwand Hohe Komplexität Installation

SQL Server Analysis Services: Nachteile Gesamthaft betrachtet relativ teuer Hoher Einarbeitungsaufwand Hohe Komplexität Installation und Konfiguration beim Kunden und Verteilung von Updates relativ kompliziert Komplette Aktualisierung der Cubes braucht viel Zeit (mehrere Stunden) Nicht endanwendertauglich, Drittprodukte für professionelle Präsentation und Data Mining in der Regel sehr teuer

Contour Cube: Charakteristika Produkt einer Moskauer Software-Firma Visuelles Active-X-Control Integrierbar in jedes VFP-Formular und

Contour Cube: Charakteristika Produkt einer Moskauer Software-Firma Visuelles Active-X-Control Integrierbar in jedes VFP-Formular und damit direkt in eine VFP-Applikation Laden des Cubes über ADO (OLEDB und ODBC) und BDE direkt aus verschiedensten Datenquellen, auch aus Visual Fox. Pro Aussschliesslich MOLAP Offline-Cubes

Contour Cube: Vorteile Billige Entwicklerlizenz, Royalty free Runtime Licenses Kurze Einarbeitungszeit Gute Programmbeispiele auch

Contour Cube: Vorteile Billige Entwicklerlizenz, Royalty free Runtime Licenses Kurze Einarbeitungszeit Gute Programmbeispiele auch in Visual Fox. Pro Einfache Installation und Aktualisierung beim Kunden Integration in Webseiten problemlos Interbrain kann Vorlagen ausliefern, die der Kunde individuell anpassen kann Schnelles Reprocessing des Cubes

Contour Cube: Nachteile Für sehr grosse Datenmengen nicht oder nur bedingt geeignet (ohne Server)

Contour Cube: Nachteile Für sehr grosse Datenmengen nicht oder nur bedingt geeignet (ohne Server) Beschränkter Funktionsumfang Eingeschränkte Präsentations-, Druck- und Exportmöglichkeiten Knappe, nicht ganz fehlerfreie Dokumentation, stark Visual-Basic-lastig Relativ hohe Ladezeiten für bestehenden Cube Grosser Bedarf an Arbeitsspeicher auf dem Client (mindestens ½ GB, besser deutlich mehr)