Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Oracle Warehouse Technologie Single-Engine-Based-Data-Warehouse.

Ähnliche Präsentationen


Präsentation zum Thema: "Oracle Warehouse Technologie Single-Engine-Based-Data-Warehouse."—  Präsentation transkript:

1 Oracle Warehouse Technologie Single-Engine-Based-Data-Warehouse

2 Performantes Data Warehouse Effiziente, integrierte Data Warehouse Architekturen auf der Basis von Oracle 10 g Stichpunkte zu Ressourcen – schonenden Techniken mit dem Oracle – basierten Data Warehouse Alfred Schlaucher Gerd Schoen

3 Agenda (Vormittag) 10:00 – 11:00 Data Warehouse Herausforderungen / Trends Oracle Data Warehouse Architektur 11:00 – 11:15 Kaffeepause 11:15 – 12:30 Oracle DW Komponentenübersicht Operative Daten identifizieren und qualifizieren Data Profiling / Data Quality Das Data Warehouse modellieren mit Oracle Warehouse Builder Der OWB basierte ETL Prozess Das Warehouse automatisieren mit Oracle Workflow 12:30 – 13:30 Mittagspause Information Management und Data Warehouse

4 Agenda (Nachmittag) 13:30 – ca. 16:00 Optimale Datenbankmodelle / Kennzahlensysteme Datenbankbasiertes Laden Metadaten ILM (Information Lifecycle Management) Ausblick ca. 15:00 Kaffeepause Information Management und Data Warehouse

5 Themen Anforderungen und Architekturen Vorgehensweisen und Modelle Datenintegration Datenqualität Aufbau eines Data Warehouse Systems Optimierungen der Datenhaltung Information Management und Data Warehouse

6 OLTP Transaktion Fokus Arbeits- plätze Markt Daten Call Center eCommerce Systeme OLTP Kundensegmentierung Verwendung von Produkten Kundenpflege/ -bindung Kaufverhalten Marketing Produkt Design Service Planung Sales Order Managmnt..... Kampagnen Mngt. (1) Zentrale, (2) historische, (3) nach Themen sortierte, (4) separierte Daten + Referenzdaten + weiche Daten Inkrementelles, ständiges Sammeln von Informationen BI-An- wendungen CRM Kampagnen Procurement Controlling Erklären Kombinieren Filtern Vervoll- ständigen Korrigieren Warehouse Das Data Warehouse Zentrale konsolidierte Sicht für qualitativ bessere Entscheidungen

7 Bei allen Diskussionen nicht vergessen 1.Zentral zugreifbar 2.Historische Sammlung 3.nach Themen sortiert (Geschäftsobjekte) 4.Daten separiert + Referenzdaten + weiche Daten (Entlastung op. Systeme)

8 Datenmengen Granularität Latenzzeit Anzahl Benutzer KlassischTrends Data Warehouse Anforderungen Anzahl Schnittstellen Anzahl Benutzergruppen

9 Datenmengen anstatt Information

10 Informations- und Datenmanagement Datenüberfluss Daten sind vermengt, codiert, nicht lesbar Fehlerhafte Daten Unauffindbare Daten Wertlose Daten Sensible Daten Verteilte Daten Zu hohe Datenmengen und fehlende Information Die richtigen Informationen zur richtigen Zeit an den richtigen Benutzer Datenqualitätsmanagement Datenaufbereitung, Datenintegration Metadatenmanagement Information Lifecycle Management Security-Management Master Data Management (MDM) Datenintegration Datenaufbereitung, Datenextraktion, Datenintegration (ETL) Data Warehouse Technologie

11 Effiziente und ineffiziente Systeme Abt. Kundenbetr. - spezieller Infobedarf - Beschränkte Ressourcen - spezielle Vorlieben Abt. Risiko-Controll. - spezieller Infobedarf - Beschränkte Ressourcen - spezielle Vorlieben Abt. Portfolio-Plan. - spezieller Infobedarf - Beschränkte Ressourcen - spezielle Vorlieben Region Bundes- land Ort Kunde Region Bundes- land Ort Kunde Region Bundes- land Ort Kunde

12 Anwendungsdaten Daten WWW Data Warehouse Data Mart Staging Area Mining Reports Ad hoc Analyse Data Mart ClearingDatenvorhaltungEndbenutzer Metadaten OWB Effiziente und ineffiziente Systeme

13 Kompromiss?.. RegZeit Org. Linie Prod Auswerteschicht (Data Mart) Org. Linie Prod.. granulare, konsolidierte zentrale Daten (DWH) operative Vorsysteme Reg Org. Linie Prod.. Stage

14 RegZeit Org. Linie Prod Umsatz P1 P2 P3 P4 P5 Region Produkt Select Speichermodelle

15 Ergebnis.. RegZeit Org. Linie Prod Auswerteschicht (Data Mart) Org. Linie Prod.. granulare, konsolidierte zentrale Daten (DWH) operative Vorsysteme.. Stage

16 Synergie-Effekte: ETL Auswerteschicht (Data Mart) granulare, konsolidierte zentrale Daten (DWH) operative Vorsysteme Stage Vorgelagerte Transformationen Einzel- Transformationen

17 Synergie-Effekte: ETL + RAC Auswerteschicht (Data Mart) granulare, konsolidierte zentrale Daten (DWH) operative Vorsysteme Stage RAC Verbund

18 Konsolidierung Soft- und Hardware Server 6 CPU Datenbank Server 8 CPU Server 4 CPU Datenbank ETL Server Server 2 CPU 16 OLAP / Rep.

19 Architektonische Vorteile RAC und ETL Voraussetzung ETL in der Datenbank Nur dieses bringt Last auf die RAC-Knoten Verteilung der Datenbank-basierten ETL-Jobs auf unterschiedliche Knoten Laufen keine ETL-Jobs Knoten frei für andere Datenbank-Aufgaben Geringere Hardware-Anschaffungskosten Wegfall Backup-Rechner Wegfall Netzlast Direkter ETL-Zugriff auf Daten der eigenen Datenbank und über schnelle Leitungen

20 Stage Prüfungen Data Warehouse Data Mart ODS Top Level Management Mitarbeiter operative Ebene Beliebig komplexe Abfragen Oracle DWH Referenzarchitektur Enterprise Service Bus AdapterRouting UDDI Unified Repository BPEL Process Manager Rules Nativ BPEL Work- flow operative und dispositive Metadaten Qualitätsstandards und Servives Wahlfreie Analysenzugriffe Kenn- zahlen- systeme Kunden Produkte Wahlfreie Positionierung ETL. Master Data Hub BI Services RAC Verbund

21 Oracle DWH Plattform Analyse- Komplexität Generische Verwendung Experten/ Spezial- anwendung Austauschbare Frontends und Anwendungen Data Mining Komplexe multidim. Ad HocStandard I n t e g r i e r t e D a t a W a r e h o u s e P l a t t f o r m Vorgelagerte zentrale Transformationen und generische Kennzahlen Data Quality Regelbausteine / abgebildete Business Rules Fachspezifische Transformationen Kennzahlen Abonnement Metadaten Flexible Bereitstellung von Business Intelligence Informationen Fachspez. Kennzahlen

22 Schema CRM Schema Planung Schema DWH Schema Data Mining Schema Stamm- daten Verteilung der Last in einem RAC-Verbund - Tagsüber Load-Job 1 Interaktive Analysen Standard- Reporting Interaktive Analysen Eine Datenbank CPU Knoten 1Knoten 2Knoten 3Knoten 4 Options: RAC

23 Schema CRM Schema Planung Schema DWH Schema Data Mining Schema Stamm- daten Verteilung der Last in einem RAC-Verbund - Nachts Load-Job 1 Load-Job 2 Standard- Reporting Load-Job 3 Eine Datenbank CPU Knoten 1Knoten 2Knoten 3Knoten 4 Options: RAC

24 Verwaltung und Dokumentation Metadaten Ownerschaften Grid Control Technologien und Verfahren zum Aufbau und zur Verwaltung von Data Warehouse-Umgebungen Effiziente Datenhaltung Speichertechnik ILM Hardware ASM OLAP Datenintegration schnelles Bereitstellen DB-basiertes Laden MDM ETL-Option Qualitäts- management Data Profiling Data Auditing Daten-Zugriff Security Mandanten BI-Anwendungen Standard-Berichte Interaktive Berichte Data Mining Komplexe Analysen

25 Verwaltung und Dokumentation Metadaten Ownerschaften Grid Control B&R Technologien und Verfahren Effiziente Datenhaltung Speichertechnik ILM Hardware ASM OLAP Datenintegration schnelles Bereitstellen DB-basiertes Laden Master Data Management ETL-Option SAP Zugriff Qualitäts- management Data Profiling Data Auditing Data Rules Daten-Zugriff Security Mandanten BI-Anwendungen Standard-Berichte Interaktive Berichte Data Mining Komplexe Analysen Data Quality Option Enterprise-ETL Label Security Data Mining OBI SE OBI EE Gateways Oracle Enterprise Edition Compression Bitmapped Parallel Query Flashback Streams Data Guard Repository (OWB) Partition OLAP RAC RMAN Diagnostic Pack Tuning Pack SAP Connect Oracle EE

26 Themen Datenintegration und Modellbasiertes ETL Komponenten Information Management und Data Warehouse

27 Immer mehr Anwender benutzen Daten Die Anzahl der Systeme und damit der Schnittstellen steigt Die Bereitsstellungszeit der Daten wird zunehmend kürzer Datenmengen wachsen Herausforderungen für Datenintegration und Datenmanagement Neue Anforderungen an Datenintegration und Datenmanagement

28 Datenintegrations- und Datenmanagementaufgaben Zusammenführen von Daten aus heterogenen Systemen Korrigieren von Daten Garantieren von Datenqualität Datenmigration von System zu System Harmonisieren von Datenbeständen Inhaltliches Angleichen Synchronisieren z. B. Abstimmung von verschiedenen Schlüsseln Zuliefern von Daten Benutzergerechtes Bereitstellen Verwalten von Datenbeständen z. B. Historisieren / Archivieren / ILM

29 Lösungen der Vergangenheit Programmierung von Hand Zerstreute Programm-Sourcen Fehler bei der Entwicklung Unnötige Doppelarbeit Schlechte oder fehlende Dokumentation Schlechte Wartbarkeit Enorme Folgekosten Unkündbare Inselexperten Immer wieder Katastrophen im Echtbetrieb Wie war das nur?

30 Die Geschichte der ETL-Tools geht in Richtung integrierter Werkzeuge Handprogrammierung Programm- generatoren Separate Engine-gestützte ETL-Werkzeuge Datenbankbasierte ETL-Werkzeuge 2005

31 Es gibt 3 Hauptgründe für den Einsatz von OWB 1. Performance 2. Effizientere Warehouse Architekturen (integriert in Oracle) 3. Preis

32 Oracle Warehouse Builder ist das ETL- Tool der Wahl in Oracle-Umgebungen! Design des kompletten Data Warehouse Systems Logisches Design und Dokumentation Physisches Oracle Datenbank Design Fast alle Datenbankobjekte von Oracle 10g 100 % SQL 100 % PL / SQL - Generierung Bereitstellung der Datenbeschaffungsroutinen Laufzeit – System zur Fehlerkontrolle Universelles Metadaten-Repository Automatisiertes ETL durch Scriptsprache Data Quality / Data Profiling Hat bereits mehr Installationen als andere Mitbewerber

33

34 Warehouse Datenbank Tabellen Index View MView Sequenz Function Procedure Cube Log Access/Excel MessageBroker Siebel Peoplesoft Webservices DB2 OS390, UDB Sybase, Informix, SQL-Server... Oracle (Remote) XML PL/SQL UTL_FILE XML DB-Link Queue Gateway ODBC DB-Link Queue CDC tcp Adapter Streams Ext. Table SAP Int. Schnittstellenkomponenten Oracle Data Warehouse XML Port XML Port XML FlatFile FTP Port FTP Port FlatFile SQL Loader XML In Memory nnJCACOM+SOAP WSIF & JBI Enterprise Service Bus RoutingQOSBPELTransformRules

35 Graphische Entwicklung des Datenbank-basierten ETL-Verfahrens mit OWB SQL Partition-Exchange-Load Streams Change Data Capture Transport Tablespace External Tables Downstream Capture Table Functions Advanced Queuing Multi Table INSERT MERGE Errortable-Verfahren Flashback-Verfahren Datenkomprimierung Faktor 2 – 4 A6

36 Vorteile durch Generieren statt Programmieren Vermindern von Fehlern durch Handprogrammierung Tabellen- und Spaltennamen müssen nicht mehr mühsam geschrieben werden Steuerung vieler Entwicklungsschritte durch Wizards Automatische Steuerung von Ziel- und Quellschemen Automatische Validierung (z. B. Typverträglichkeiten) Debugging der Laderoutinen Laufzeitumgebung steht bereit Dokumentation

37 OWB live

38 Themen Datenbankbasiertes Laden Information Management und Data Warehouse

39 Datenbank – basiertes ETL SQL basiert, d. h. die Oracle Datenbank wird ausgenutzt Möglichkeit primär mengenbasierte Operationen durchzuführen Wesentlich höhere Performance Automatisiertes Datenbankgeregelte Parallelisieren Datenbankgestütztes Ressources - Management Unterstützung aller aktuellen Datenbank – ETL – Funktionen wie Multiple Inserts Merge (Insert/Update) Direct Path Load Table Functions Partition Exchange and Load

40 Datenbank – basiertes ETL Vollständige Hints – Bibliothek Verwendung aller Datenbank – Funktionen, z. B. auch analytische Funktionen Im Gegensatz zu den von 3. Herstellern nachgebildeten z. T. unvollständigen Funktionen (Beispiel SQL CASE, Decode) Datennahes Entwickeln Leichtes performantes und mengenbasiertes Updaten von Sätzen Ausnutzen temporärere Strukturen Temp – Tables Cache – Tables Ausnutzen besonders schneller Tabellen – Objekte Index – Based Tables Direkter Zugriff auf Tabelleninhalte

41 Datenbank - basiertes ETL Nähe zu Katalogstrukturen Alle Informationen stehen sofort zur Verfügung Komplett – Definition aller physikalischen Objekte im Data Warehouse (Tables, Index, Materialised Views, Partitioning...)

42 Datenbank – basiertes ETL im Zusammenhang mit OWB ETL - Integriertes Data Quality Data Cleansing / Data Profiling ETL – Makro – Bildung / Experts Integrierte datenbankbasierte Workflow – Umgebung Web – basiertes Auswerten von Metadaten und Laufzeitergebnissen Unterstützung der Datenbank – Near Realtime – Funktionalität wie Queues, Streams, CDC, Web Services

43 Themen Workflow-Steuerung Information Management und Data Warehouse

44 Column Transformation Tabellen- Mapping Teil- Prozess Gesamt- Prozess 4 – Schichten Prozessverwaltung

45 Repository Variablen Steuertabellen Metadaten gestützte Steuerungslogik für das Data Warehouse Workflow / BPEL A1

46 Themen Data Quality und Data Profiling Information Management und Data Warehouse

47 Ohne Daten kein Business Unternehmen funktionieren nur mit Daten Operative Prozesse Information Chain Kunde Kunden- betreuer Logistik- system Stamm- daten Marketing Buch- haltung Lager Spedition Kunde Bedarf Adresse Kredit- daten Angebot Bestand Bestell- daten KD-Daten Kredit OK Order Adresse Werbung Verkaufs- daten Rechnung Bezahlung Reklamation Mahnung Liefer- schein

48 Produktion KundensichtFinanzwesenIT-AbteilungMarketing Datenqualität: Verschiedene Perspektiven im Unternehmen Mehraufwand für Datenlieferung Fehlende Daten Synchronisation manuelle Pflege Daten nicht schnell genug Kostet bis zu 30% des IT-Budgets Nachverfolgung von Rechnungen Stornos Abweichende Zahlungen Kostet bis zu 5% des Umsatzes Richtige Daten für gezielte Werbung? Wie genau kennen wir den Kunden? Zielgerichtete Kunden-Daten: bessere Kampagnen Mehrarbeit Zeitverzug Schlechte Produktivität Kostet bis zu 10% des Umsatzes Wie spricht mich das Unternehmen an? Arbeitet das Unternehmen korrekt? Vertrauens- verlust Image- schaden

49 Die Auswirkungen sind oft nur mittelbar zu erkennen Schlechte Daten- qualität Kosten bis zu 50% weniger Umsatz bei Service- Unternehmen bis zu 10% weniger Umsatz Partner- organisationen dramatisch schwindendes Vertrauen DWH / IT Mitarbeiter- moral Unternehmens- reporting verzögerte Projektzeiten sinkt aufgrund unnützer Arbeit fehlendes Vertrauen in die Berichtsdaten Kunden Mitarbeiter- ressourcen Vertrauens- schwund Einsatz von teueren hochqalifizierten Mitarbeitern für nicht Mehrwert schaffende Tätigkeiten

50 Der Prozess zur Verbesserung der Datenqualität 1. Data Profiling (OWB*) Erkennen von Anomalien Domains Daten- strukturen 1. Data Profiling (OWB*) Erkennen von Anomalien Domains Daten- strukturen 4. Ursachenbeseitung mit der Fachabteilung Optimieren Daten produzieren Fehlerquellen beseitigen 4. Ursachenbeseitung mit der Fachabteilung Optimieren Daten produzieren Fehlerquellen beseitigen 3. Dokumentation der Qualitätsquoten (Metadaten Repository des OWB*) Dokumentation über Metadaten Datenqualität messen Daten-Owner / Nutzer 3. Dokumentation der Qualitätsquoten (Metadaten Repository des OWB*) Dokumentation über Metadaten Datenqualität messen Daten-Owner / Nutzer 2. Fehlererkennung und Korrektur (ETL mit OWB*) Datenqualitätsprüfungen Verwalten von Domains Bilden von neuen Strukturen Korrigieren von Daten 2. Fehlererkennung und Korrektur (ETL mit OWB*) Datenqualitätsprüfungen Verwalten von Domains Bilden von neuen Strukturen Korrigieren von Daten Fehler- bericht TrendsKorrektur Daten Prozesse Feedback *OWB: Data Quality Option Oracle Warehouse Builder generiert

51 Data Profiling Methodisches Vorgehen Domainanalyse / Dependancies / Pattern / Statistiken /.... Alle (!) Daten werden betrachtet Drill Down to Original Data Ermöglicht intuitive Betrachtungen Durch Visualisierung der Ergebnisse Gleichzeitiges Anzeigen unterschiedlicher Sichten Iterativer Prozess Data Profiling liefert ein Spiegelbild zu den operativen Unternehmensprozessen ( The use of analytical techniques about data for the purpose of developing a thorough knowledge of its content, structure and quality)

52 Oracle-Komponenten im Rahmen des Data Quality-Managements Oracle Warehouse Builder ETL / Transformationen Datenkorrekturen Methodisches und automatisiertes Feststellen von Daten-Anomalien Beschreibung von Geschäftsregeln auf einer logisch / fachlichen Ebene Monitoring von Datenqualitätsregeln Abgleich und Zusammenführen von Stammdaten Data Profiling Data Rules Data Audits Match/Merge Mapping Operator

53 Einsatz und Wirkung des Data Profiling Mitarbeiter Know how - Stammdaten - Bewegungsdaten Referenzdaten Bekannte Geschäfts- regeln neue Geschäfts- regeln Korrigierte -Stammdaten - Bewegungsdaten Verletzte Geschäfts- regeln Data Profiling Domains / Patterns / Dependencies Custom Rule Derived Rule Correction Data Quality Audit / Monitoring Metadaten Repository Data Quality Reporting

54 Daten werden öffentlich Einsatzgebiet Datenintegration System A System B System C Mit Defekten hat man sich arrangiert zunehmende Verflechtung von Prozessen unternehmensweite Sicht / erhöhter Informationsbedarf mehr als 50% der Aufwände v von Integrations- und Warehouse Projekten entfallen auf Datenfehler Defekte werden sichtbar

55 Datenqualitätsmanagement und Data Profiling Information Chain Kunde Kunden- betreuer Logistik- system Stamm- daten Marketing Buch- haltung Lager Spedition Kunde Bedarf Adresse Kredit- daten Angebot Bestand Bestell- daten KD-Daten Kredit OK Order Adresse Werbung Verkaufs- daten Rechnung Bezahlung Reklamation Mahnung Liefer- schein Daten-Korrekturen Empfehlungen geänderte Prozesse Regeln Anomalien Schwachstellen Methoden / Analysen / Statistiken

56 Vorteile Der Oracle-Lösung Integriert in die Datenbank und damit sehr schnell Integriert in ein ETL-Tool und damit sehr flexibel Schnell und intuitiv erlernbar Wesentlich kostengünstiger als andere Tools Data Profiling Data Profiling Data Quality Data Quality Rules ETL Rules Oracle Warehouse Builder

57 Data Profiling mit OWB Methoden Feintuning zu den Analyse- methoden Die operativen Daten Proto- kollierung laufende Analysen Drill Down zu den operativen Daten

58 Analyseumgebung Oracle Datenquellen Alle Gateway- lesbare Quellen SAP-Daten Flat Files Adress-/LDAP- Verzeichnisse Source Schema Profiling Stage Oracle Source Schema Transportable Module External Table SAP Integrator non Oracle Gateway / ODBC / FTP Oracle 9i / 10g RAC DB2, SQL Server Informix, Teradata LDAP / DBMS_LDAP / Table Function

59 Unterstützung von Software-Projekten ! Übereinstimmung von Feldname...nr und Feldtyp Durch den Feldnamen vermutet man rein numerische Inhalte sieht gut aus ? Kundennr ist ein wichtiges Feld. Es sollte stimmig sein. Firmenrabatt ist in der Regel ein Rechenfeld

60 Unterstützung von Software-Projekten kritisch! da es sich um einen Schlüssel- kandidaten handelt Felder sind nicht gepflegt Die Zahl 17 kommt häufig vor, hier muss es eine systematische Ursache geben kritisch! weil doppelte Kundennummern ? ? OK

61 Metadatenmanagement

62 Daten-Ownerschaft Die Rolle von Metadaten Wem gehören welche Daten? Wer nutzt welche Daten? Wer hat an welchen Daten welches Interesse? Wer hat welche Daten wie oft benutzt? Welche Prozesse sich auf welche Daten angewiesen? Welche Prozesse sind datenabhängig von anderen Prozessen?

63 Entity Data Set / Record (Name Location) Stakeholder Data Owner Role Abteilung Mitarbeiter Cost Subject Area Org

64 Zurück Impact / Lineage - Metadatenanalyse

65 Aufbau eines DWH

66 Starschema Mviews Analytische Funktionen Mandantenfähigkeit Partitioning Transportable Tablespace Bitmap Indizierung Table Function

67 Ergebnis.. RegZeit Org. Linie Prod Auswerteschicht (Data Mart) Org. Linie Prod.. granulare, konsolidierte zentrale Daten (DWH) operative Vorsysteme.. Stage

68 Umsetzung in technische Lösungen - Dimensionale Sicht und relationale Datenbank Produkttabelle P1 P2 P3 P4 P1 P2 P3 P Verkäufe Prod1 Prod3 Prod5 Prod6 Lief1 Lief4 Lief5 Lief9 1 : n Z1 Z2 Z3 Z Zeit Q3 Z1 Z2 Z3 Z4 n : 1 Regionen R1 R2 R3 R4 München Berlin Hamburg Frankfurt R1 R2 R3 R4 Verkäufer Maier Müller Schmid Engel V1 V2 V3 V4 V1 V2 V3 V4 1:n1:n N : 1 Starschema flexibel Graphisch auch für Business-User verständlich Einstiegspunkte für Abfragen

69 Spielarten des Starschemas Degenerate Facts Degenerate Dimensions Conforming Dimensions Factless Facts Slow changing dimensions Zeit Produkte Zentrale Fakt- Tabelle Ort Kreis Land Hierarchie Intersection- Table Verkäufer Verkaufs- anteil Teil von Parent Connect by Lieferant Gelieferte Teile Bestell- kosten Fakt Umsatz Pro Verk. Heterogenious Fact Drill Down Roll up Drill Across Slice / Dice Pivot

70 Umsätze Orte Regionen Länder Level 1 Definitionen Attribute Level 2 Definitionen Attribute Level 3 Definitionen Attribute Die Datenbank für das Warehouse fit machen (Beispiele) Dimension Ort Zeit Produkt FK_Ort FK_Zeit FK_Produkt Kunde Query Rewrite Materialized View Partitions Parallel+ Cluster Bitmap-Index Star-Transformation Analytical- Functions

71 Mview

72 Warum nicht andere arbeiten lassen Automatisierte Aggregatbildung Performance-Repository Spezielle Indizierung bei geringer Kardinalität Aggregate Aware Pflege von Aggregaten im Backend anstatt in den Analysetools (Materialized Views) Zurück

73 Produktgruppen Verkaufsgebiete Kundengruppen Fertigungsmaterial Fertigungslöhne Var. Gemeinkosten Unternehmensleitung Finanz+Rech.wesen Allg. Verwaltung Konzessionen, Liz. Gesch.-Firmenwert Grundst. Gebäude Maschinen, Anl. Fuhrpark Betriebs.+Geschausst. Beteilungen Ausleihungen Roh-Hilfsstffe Halb-Fertigfabrikate Ford. Liefer+Leistung sonst. Ford. Kasse Bank Giro UmsatzVariable Kosten Allgemeine Fixkosten Marketing+Vertriebl Produktion Materialwirtschaft Spezielle Fixkosten Immaterielle Verm.Gegenst. SachanlagenFinanzanlagenVorräteForderungenLiquide MittelDeckungsbeitragFixe Kosten Anlage Vermögen Umlauf Vermögen Gewinn Fremdkapital- Zinsen Eigen- Kapital Fremd- Kapital Sich selbst aktualisierende Kennzahlen- Systeme

74 RegZeit Org. Linie Prod Mview Aggregations- level 1 Aggregations- level 2.. Top – Management (wenige hochverdichtete Kennzahlen).. Sachmitarbeiter Planung / Marketing (Verdichtete Daten).. Mitarbeiter Operative Ebene (Detaildaten auf dem Level von operativen Transaktionen) Beispiel: Skalierung Auswertung Architekturbasierte Anwendergruppenunterstützung mit Materialized Views Aggregat Summentabelle Summentabelle (Meier) Summentabelle (Müller)

75 Komponenten des Summary Managements / Materialized Views Dimensions Materialized Views Refresh Query Rewrite SQL Access Advisor

76 Hilfsmittel rund um Materialized Views DBMS_MVIEW.EXPLAIN_VIEW DBMS_ADVISOR.TUNE_VIEW DBMS_MVIEW.EXPLAIN_REWRITE DBMS_ADVISOR DBMS_STATS

77 Anwendungsarten Exact Match Join Back Rollup & Aggregate Rollup Data Subset Multiple Materialized View (R2)

78 Analytische Funktionen / Kennzahlensysteme

79 Die Top 10 Artikel Artikel Artikelgruppe Artikel- Sparte Dimension Artikel Zeit Region Umsatz Kunde Top 10 Artikel Select * from (select substr(A.Artikel,1,15),sum(U.umsatz) AS Wert, RANK() OVER (ORDER BY sum(U.umsatz) DESC ) AS Rangfolge from f_umsatz U,dim_artikel A where U.artikel_ID = A.artikel_ID group by a.Artikel) where rownum < 11;

80 Die Top 3 Artikel pro Artikelgruppe Artikel Artikelgruppe Artikel- Sparte Dimension Artikel Zeit Region Umsatz Kunde Top 3 Artikel pro Gruppe select substr(Artikel,1,25) as Artikel, substr(Artikelgruppe,1,25) as Artikelgruppe, Wert, Rangfolge FROM (select Artikel, Artikelgruppe, sum(U.umsatz) AS Wert, RANK() OVER (partition by a.Artikelgruppe ORDER BY sum(U.umsatz) DESC ) AS Rangfolge from f_umsatz U,dim_artikel A where U.artikel_ID = A.artikel_ID group by a.Artikelgruppe,a.Artikel order by A.Artikelgruppe) where Rangfolge < 4;

81 Über Quartale kumulierte Umsätze pro Kunde Name Dimension Kunde Zeit Region Umsatz Kunde select substr(k.kunden_Name,1,25) as kunde, z.jahr, z.quartal_des_jahr as Quartal, sum(u.umsatz) as Umsatz, sum(sum(u.umsatz)) over (Partition By k.kunden_Name ORDER BY k.kunden_Name, z.jahr,z.quartal_des_jahr ROWS UNBOUNDED PRECEDING) as Umsatz_Summe from dim_kunde K,f_Umsatz U, dim_zeit Z where k.kunde_id = u.kunde_id and to_char(Z.Datum) = to_char(u.Datum) group by K.kunden_Name,z.jahr,z.quartal_des_jahr; Quartal Jahr Q1_2003 Q4_2002 Q3_2002 Q2_2002 Q1_2002

82 ¼ der Kunden tragen zu ? % des Umsatzes bei? Name Dimension Kunde Zeit Region Umsatz Kunde select sum(umsatz), anteil, (sum(umsatz)*100/Gesamt_umsatz) as Prozent from (select substr(k.kunden_Name,1,25) as kunde, sum(u.umsatz) as Umsatz, ntile(4) over (order by sum(u.umsatz)) as Anteil from dim_kunde K,f_Umsatz U where k.kunde_id = u.kunde_id group by K.kunden_Name), (select sum(u.umsatz) as Gesamt_Umsatz from f_Umsatz U) group by anteil,Gesamt_umsatz; Buckets

83 Durchschnittliche Bestellquote eines Kunden über 3 Monate Name Dimension Kunde Zeit Region Umsatz Kunde select substr(k.kunden_Name,1,25) as kunde, z.jahr as Jahr, Monat_des_jahres as Mon, sum(u.umsatz) as Umsatz, avg(sum(u.umsatz)) over (order by K.kunden_Name, z.jahr, z.Monat_des_jahres Rows 2 Preceding) as Mov_3M_AVG from dim_kunde K,f_Umsatz U, dim_zeit Z where k.kunde_id = u.kunde_id and to_char(Z.Datum) = to_char(u.Datum) and k.kunden_name = 'Bauer' group by K.kunden_Name,z.jahr,z.Monat_des_jahres order by z.jahr,z.Monat_des_jahres; Monat Jahr M5_2002 M4_2002 M3_2002 M2_2002 M1_2002

84 Das Bundesland mit dem stärksten Umsatz für jede Artikelgruppe Artikelgruppe Dimension Artikel Region Umsatz select ArtGr, Land,Umsatz from (select ARTIKELGRUPPE as ArtGr, BUNDESLAND as Land, sum(umsatz) as Umsatz, max(sum(umsatz)) over (partition by ARTIKELGRUPPE) as Max_Ums_Land from dim_region R, dim_artikel A, f_umsatz U where R.ort_ID = U.ort_ID and A.Artikel_ID = U.artikel_ID group by ARTIKELGRUPPE,BUNDESLAND order by ARTIKELGRUPPE,BUNDESLAND ) where Umsatz = Max_Ums_Land ; Ort Bundesland Kreis Region Artikel

85 Vergleiche Umsätze mit Vorjahreszeitraum Name Dimension Kunde Zeit Region Umsatz Kunde select substr(k.kunden_Name,1,25) as kunde, z.jahr as Jahr, Monat_des_jahres as Mon, sum(u.umsatz) as Umsatz, lag(sum(u.umsatz),12) over (order by z.jahr,z.Monat_des_jahres) as vorjahr from dim_kunde K,f_Umsatz U, dim_zeit Z where k.kunde_id = u.kunde_id and to_char(Z.Datum) = to_char(u.Datum) and k.kunden_name = 'Bauer' group by K.kunden_Name,z.jahr,z.Monat_des_jahres order by z.jahr,z.Monat_des_jahres; Monat Jahr M6_2002 M5_2002 M4_2002 M3_2002 M2_2002 M1_2002 M10_2002 M9_2002 M8_2002 M7_2002 M11_2002 M12_2002 M1_2003 M2_2003

86 SQL Model Clause Land Artikelgruppe Jahr Umsatz Hessen KFZ-Zubehoer Hessen KFZ-Zubehoer Berlin Haushaltswaren Berlin Haushaltswaren Bayern KFZ-Zubehoer Bayern KFZ-Zubehoer JahrArtikelgruppe Bundesland Umsatz Select Land, Artikelgruppe, Jahr, Umsatz from Artikel, Zeit, Region

87 SQL Model Clause MODEL [main] [reference models] [PARTITION BY ( )] DIMENSION BY ( ) MEASURES ( ) [IGNORE NAV] | [KEEP NAV] [RULES..... [ITERATE (n) [UNTIL ] ] ( =... ) Land Artikelgruppe Jahr Umsatz Hessen KFZ-Zubehoer Hessen KFZ-Zubehoer Berlin Haushaltswaren Berlin Haushaltswaren Bayern KFZ-Zubehoer Bayern KFZ-Zubehoer PartitionDimensionMeasures

88 SQL Model Clause – Beispiel select bundesland,artikelgruppe,jahr,umsatz, wachstum_proz from sv MODEL RETURN UPDATED ROWS PARTITION BY (bundesland ) DIMENSION BY (artikelgruppe, jahr) MEASURES (umsatz, 0 wachstum_proz) RULES ( wachstum_proz[artikelgruppe,Jahr] = 100* (umsatz[CV(artikelgruppe), cv(jahr)] - umsatz[CV(artikelgruppe), cv(jahr) -1] ) / umsatz[CV(artikelgruppe), cv(jahr) -1] ) order by bundesland,artikelgruppe, jahr;

89 Partitioning

90 Fallbeispiel: 4 Terabyte Warehouse einer der grössten Banken Deutschlands Monatliches Ladevolumen von mehreren 100 GB Ergebnisrechnung von 3000 Profitcentern 4 Mill. Kunden 8000 zugel. Nutzer tägl ReportServer- Zugriffe tägl Discoverer Zugriffe tägl. Ca 800 Plain SQL Auswertungen 13 Tabellen Jan 02 Feb 02 Mar 02Apr 02Mai 02Jun 02Jul 02Aug 02Sep 02Okt 02Nov 02Dez 02 View

91 Partitioning Hauptgründe für das Partitioning Managebility Abfrageperformance Verfügbarkeit Arten des Partitioning Range List Hash Composite Range-Hash Composite Range-List

92 Geschickte Speicherung: Partitioning Range Hash Composite List (9i) Nord / Sued / West / Ost

93 Quartal Jahr Monat Range-Partitionierung Region Zeit Artikel FK_Ort FK_Zeit FK_Produkt Kunde Umsatz Qx9999 Q12000 Q22000 Q32000 Nach Quartalen und Jahren partitioniert

94 Quartal Jahr Monat Join-wise-Partitioning Region Zeit Artikel FK_Ort FK_Zeit FK_Produkt Kunde Umsatz Partition-Join 1:1 2:2 3:3 4:4 5:5 6:6 7:7 8:8 9:9 Hash- Partition

95 Quartal Jahr Monat Join-wise-Sub Partitioning (Range und Hash) Region Zeit Artikel FK_Ort FK_Zeit FK_Produkt Kunde Umsatz Partition-Join 1:1 2:2 3:3 4:4 5:5 6:6 7:7 8:8 9:9 Hash-Partition Q22000 Q32000 Q42000 Range- Partition nach Zeit

96 Beispieltabellen: Ca 7 Mio Sätze: - ohne Partitionierung - mit 12 Monatspartitionen – Verteilung zufällig Beispielabfragen

97 Arten der Indizierung bei der Partitionierung Partition 1 Partition 4 Partition 5 Partition 2 Partition 3 Partition 6 Partitionierte Tabelle Local Index Global Partitioned Index Global Non Partitioned Index

98 Partitions Eliminierung = Reduktion der zu bearbeitenden Datenmenge Lineitem Einzelpositionen/Fakttable week70 week1week2week3week4 Beispiel: Partition-pruning Warum mehr lesen als nötig?

99 Reduktion der zu bearbeitenden Datenmenge Lineitem Einzelpositionen/Fakttable week70 week1week2week3week4 Beispiel: Partition-wise-joining Tag/Woche_im_Jahr Monat/Quartal/Jahr Zeit Produkte ArtikelNr,Artikelgruppe Joins auf Fakten mit abermillionen Zeilen?

100 Beispiel: Verfügbarkeit im DW Was passiert wenn es doch mal passiert? Wie groß ist die größte Datenmenge, die sie noch recovern können?

101 Laden mit Hilfe von Tablespace und Partitioning

102 Partition Exchange and Load (PEL) Month 10 Month 11 Month 12 Month 13 Fakttable Time Region Financial Production Human Ress Store Supplier Marketing Service New Month P1 P2 P3 P Z1 Z2 Z3 Z4 Temp Table Index/Constraint free Parallel Direct Path Insert (Set Based) Create Table As Select.... (CTAS)

103 Aug Neue Daten Partition Exchange and Load ETL Prozess Create Table As Select... (CTAS) Archiv Aug Archiv Mrz Archiv Jan Archiv Apr Archiv Mai Archiv Jun Archiv Jul Archiv Feb Read-write JulJun Read-write Mai Read-write Apr Read-write Mrz Read-Only Feb Read-Only Jan Read-OnlyRead-write Warehouse Datenbank Betriebssystem Copy

104 AprMayJunJanFebMar Read-only TablespaceRead-write Tablespace Jul Read-write Tablespace Nur aktuelle Daten bleiben Update - fähigAlte Daten werden eingefroren Dez

105 Buchhaltung Produktion Personal Lager Lieferanten Marketing Service P1 P2 P3 P Z1 Z2 Z3 Z4 CREATE TABLE temp_jan_umsatz NOLOGGING TABLESPACE ts_temp_umsatz AS SELECT * FROM ????????? WHERE time_id BETWEEN '31-DEC-1999' AND '01-FEB-2000'; Index/Constraint free Parallel Direct Path Insert Set Based ALTER TABLESPACE ts_temp_umsatz READ ONLY; EXP TRANSPORT_TABLESPACE=y TABLESPACES=ts_temp_umsatz FILE=jan_umsatz.dmp Kopieren des Tablespace zur Zielplattform; BS-Copy Daten Meta daten Transportable Tablespace

106 IMP TRANSPORT_TABLESPACE=y DATAFILES='/db/tempjan.f' TABLESPACES=ts_temp_umsatz FILE=jan_umsatz.dmp ALTER TABLESPACE ts_temp_umsatz READ WRITE; ALTER TABLE umsatz ADD PARTITION umsatz_00jan VALUES LESS THAN (TO_DATE('01-feb-2000','dd-mon-yyyy')); ALTER TABLE umsatz EXCHANGE PARTITION umsatz_00jan WITH TABLE temp_umsatz_jan INCLUDING INDEXES WITH VALIDATION; Meta daten Fakttable Umsatz Neuer Monat Transportable Tablespace

107 Bitmap Indizierung

108 Bitmap-Index Ausprägungen 1 Keine Ausbildung 2 Hauptschule 3 Realschule 4 Gymnasium 5 Studium

109 Ulm 0 1 Umsätze Orte Regionen Länder Region Zeit Produkt FK_Ort FK_Zeit FK_Produkt Kunde Berlin Umsatz Bitmap-Join-Index

110 Fallbeispiel zur Lade- und Abfrageperformance

111 Customer Products Times Promotions Sales HP Proliant DL380 G3 6 GB RAM 2 CPU 3 GHz

112 Allgemeines zum Verfahren 300 Mio Sätze Insert into TGT Select * from SRC Index Temp Table

113 Jährliches Wachstum 20% Besonders viele Daten im November, Dezember, dafür weniger Daten im April, Juni, August (keine gleichmäßige Verteilung über alle Monate) Initial Load Jan 2002 – Nov 2004 External Tables ca. 27 Minuten für beide Varianten

114 Zeit für die Indexerzeugung Initial Load Platzverbrauch für Bitmap Gesamtindex ca. 30 MB

115 Nachladen 1 Zeitscheibe Dezember 2004 Oracle 10G Drop Partition ALTER TABLE sales EXCHANGE PARTITION sales_dec_2004 WITH TABLE sales_temp_dec_2004 INCLUDING INDEXES WITHOUT VALIDATION; CREATE BITMAP INDEX sales_cust_id_bix_dec_2004 ON sales_temp_dec_2004 (cust_id) NOLOGGING PARALLEL; INSERT INTO sales_temp_dec_2004 SELECT * FROM salesxt; CREATE TABLE sales_temp_dec_2004 AS SELECT * FROM sales WHERE ROWNUM < 1; ALTER TABLE sales ADD PARTITION sales_dec_2004 VALUES LESS THAN (TO_DATE('01-jan-2005','dd-mon-yyyy')); < 1 Sec Min 6 Sec 29 Sec

116 Nachladen 1 Zeitscheibe Dezember 2004 ohne 10G - Features Neuerzeugen des Index Laden neue Daten (parallel) mit External Table Drop auf alle Indexe wenige Sekunden Minuten Platzverbrauch für Btree Gesamtindex ca MB insgesamt 800 Minuten

117 Löschen des alten Monats Januar 2002 Oracle 10gTraditionell ALTER TABLE SALES DROP PARTITION SALES_JAN_2002; ca. 1 Sec. DELETE FROM SALES WHERE TIME_ID < TO_DATE('01-FEB-2002','DD-MON-YYYY'); 7 Stunden 51 Minuten 28 Sekunden Rollbacksegment wird genutzt: ca 4000 MB Plattenplatz

118 Abrageperformance SELECT p.prod_name, SUM(s.amount_sold) FROM sales s, products p, channels ch, promotions pm WHERE s.prod_id = p.prod_id AND s.channel_id = ch.channel_id AND s.promo_id = pm.promo_id AND ch.channel_desc = 'Catalog' AND pm.promo_category = 'flyer' AND p.prod_subcategory = 'Shorts - Men' GROUP BY p.prod_name; Abfrage 1Abfrage 2 select p.prod_name, sum(s.amount_sold) from sales s, products p, channels ch, promotions pm, times t where s.prod_id = p.prod_id and s.channel_id = ch.channel_id and s.promo_id = pm.promo_id and s.time_id = t.time_id and ch.channel_desc = 'Catalog' and pm.promo_category = 'flyer' and t.calendar_quarter_desc ='2000-Q2' and p.prod_subcategory = 'Shorts - Men' group by p.prod_name;

119 Abrageperformance 1.select count(*) from sales; 2. select count(*) from sales where promo_id = 714 and channel_id = 'S'; 3. select count(*) from sales where promo_id = 714 and time_id = to_date('20-MAY-2004','DD-MON-YYYY') and channel_id = 'S';

120 QuellenStage SRC1 SRC2 Mart Sich Selbstpflegende Materialized Views Viele Auswertemodelle sind zu komplex für Endbenutzer (z. B. Snowflake) Komplizierte ETL-Prozesse Aufwendige Erstellung und Wartung QuellenStage Summe SRC1 SRC2 Zusätzliche Verdichtungs- /Abfragelogik Summe Mart Inserts/ Updates External Tables / Multiple Inserts Merge... Aus 5 mach 3 Verfahren einfach halten

121 Mandantenfähigkeit

122 Mandantenfähige Data Marts Strukturen einmal definieren Daten unterschiedlich benutzen Data Marts müssen nicht aus Gründen der Zugriffssicherheit redundant vorgehalten werden. Unterschiedlichen Benutzer- gruppen kann innerhalb eines Data Marts unterschiedliche Sichten erteilt werden. Bereitstellung 1 Data Mart

123 Kunde / Umsatz Periode n-1 Periode n... I1In... I1 In... Anwendung 1 I1 I9... In DatenAnwender Zugriffe Konzern Gesamt Mandantenabhänginge Zugriffssteuerung Zurück

124 Org. Linie RegZeit Org. Linie Prod Mandantenfähige Data Marts Anwendungsbeispiel: Label-Security / Partitioning RegZeit Org. Linie Prod RegZeit Org. Linie Prod Mandant 1 (Abteilung A) Mandant 2 (Abteilung B) Mandant 3 (Abteilung C) Prod ZeitReg Eine Kenn- zahlentabelle! Physische getrennt gespeichert (als Partition) Mandant1 Mandant 2 Mandant 3 Options: - Label-Security - Partition

125 Information Lifecycle Management

126 Information Lifecycle Management (ILM)

127 Information Lifecycle Management (ILM) mit Oracle ASM Aktiv Weniger Aktiv HistorischArchiv Dieser MonatDieses JahrVorjahre Disk Gruppe L Disk Gruppe H Disk Gruppe P High End Storage $$$ Midrange Storage $$ Current Month Last 11 months Year 2002 and 2001 and 2000 Years Historisches Storage Low End Storage $

128 Siehe dazu auch online: ILM

129

130 Checkliste – Effizienter Betrieb DWH Alfred Schlaucher BU Database Oracle Data Warehouse Mit den Anforderungen wachsen Verfahren und Techniken zum Aufbau und Verwalten von Data Warehouse Umgebungen

131 Themen Sammlung von Effizienz steigernden Punkten im Data Warehouse Information Management und Data Warehouse

132 Drei Bereiche in denen effizienter gearbeitet werden kann Hardware Projekte Tools

133 Hardware Vor einer Hardware-Aufrüstung zunächst alle Software- gestützten Verfahren ausnutzen Investitionen hier veralten nicht Hardware bereits nach 1 Jahr 50% weniger wert Software-Verfahren Partitioning / Bitmapped-I. Mat. Views / Star Query Die Wahl der Platten an den tatsächlichen Bedürfnissen ausrichten Keine teueren Platten für weniger wichtige Daten ILM-Verfahren nutzen / Ownerschaften feststellen ASM Komprimierung nutzen -> weniger Plattenplatz Cluster-Technik statt Monoliten-Systeme

134 Effiziente Projektarbeit Verwendung von Data Profiling-Tools schnelleres Auffinden von Schwachstellen Iterative Vorgehensweise Nacheinander-Realisieren von Data Marts bei gleichzeitiger Pflege von zentralen, synchronisierenden Strukturen Ersetzen handgeschriebener Lade-Routinen durch Modelle und generierten Code

135 Effiziente Architektur und Verfahren (1/3) Mehr-Schichten-Architektur Trennung von Vorsystemen und Data Marts durch eine zentrale, synchronisierende (DWH-)Schicht Möglichst große Nähe zwischen DWH und operativen Vorsystemen Minimiert Ladeaufwand bei kürzeren Ladezyklen Keine 1:1 Kopien zwischen Vorsystemen und DWH (Stage) nach Möglichkeit bereits mit dem ersten Zugriff transformieren und filtern Keine Aggregat-Tabellen verwenden stattdessen sich selbst-aktualisierende Materialized Views -> spart ETL-Schritte

136 Effiziente Architektur und Verfahren (2/3) ETL-Verfahren ganzheitlich sehen zwischen zentralen und nachgelagerten ETL-Schritten unterscheiden Keine separaten ETL-Server Datenbank-interne Lademechanismen nutzen, weil schneller und billiger Bedingtes Mehrfachschreiben in unterschiedliche Ziele bei nur einmaligem Extrakt aus Quell-Strukturen Automatisierte Insert/Update-Steuerung Automatisierte Regelprüfung und Protokollierung durch den Kern der Datenbank Verschieben kompletter Datenbereiche mit gleichen Merkmalen (sog. Partitions) Flash-Back-Verfahren zum Zurückrollen kompletter Ladeläufe Datentransport auf Datenbank-Block-Ebene Datenbank-gesteuertes Wiederholen von Ladeläufen ohne Entwicklungsaufwand (keine Unterscheidung von Initial- und Delta-Load)

137 Effiziente Architektur und Verfahren (3/3) Sicherheitsanforderungen Tabellen-intern lösen nicht durch kopieren von Tabellen z. B. Label Security + Partitioning Zentrale Kennzahlen im Kern-DWH berechnen und nicht erst in den BI-Tools BI-Tools muss die Arbeit so leicht wie möglich gemacht werden Metadatendokumentation zu allen Objekten und Prozessen im DWH pflegen universelle Repositories verwenden

138 Tools Vor einer Tool-Auswahl auf die tatsächlichen Bedürfnisse achten Gesamtsystem betrachten Vereinheitlichung von Tools Vermeiden von Tools-Inseln Administrationsaufwand bei isolierten Systemen ist oft sehr hoch

139 Oracle Warehouse Technologie Single-Engine-Based-Data-Warehouse

140

141

142 Themen Entwicklung multidimensionaler Modelle in der relationalen Datenbank Information Management und Data Warehouse

143 Umsetzung in technische Lösungen Dimensionale Sicht P1 P2 P3 T1 T2 T3 T4 T P1 P2 P3 T1 T2 T3 T4 T Produkte P1 P2 P3 T1 T2 T3 T4 T Welche Produkte werden an welchen Tagen in welcher Stadt wie oft verkauft? München Hamburg Berlin Mehrere Sichten mit mit Spreadsheets (z. B. Excel) Tage Produkte Welche Produkte werden an welchen Tagen wie oft verkauft? Spreadsheet (z. B. Excel) P1 P2 P3 T1 T2 T3 T4 T

144 Umsetzung in technische Lösungen Dimensionale Sicht Welche Verkäufer verkauften welche Produkte an welchen Tagen in welcher Stadt wie oft P1 P2 P3 T1 T2 T3 T4 T P1 P2 P3 T1 T2 T3 T4 T Produkte P1 P2 P3 T1 T2 T3 T4 T München Hamburg Berlin Komplexere Sichten mit mit Spreadsheets (z. B. Excel) stoßen an Grenzen P1 P2 P3 T1 T2 T3 T4 T P1 P2 P3 T1 T2 T3 T4 T Produkte P1 P2 P3 T1 T2 T3 T4 T München Hamburg Berlin Meier Müller

145 Produkte P4 P3 P2 P1 T1 T2 T3 T4 T5 R1 R2 R3 R4 Zeit Region 10 Dimensionen umspannen einen Datenraum Angabe von x,y,z Koordinaten ergeben eindeutig die jeweiligen Werte. Die Achsen sind Einstiegspunkte für den Business-User Umsetzung in technische Lösungen Dimensionale Sicht Verkäufer Mathematisch lassen sich beliebig viele Dimensionen beschreiben f(x,y,z,w...) V1 V2 V3 V4 V5 8

146 Umsetzung in technische Lösungen - Dimensionale Sicht und relationale Datenbank Produkttabelle Zweidimensionale Darstellung P1 P2 P3 P Produkttabelle P1 P2 P3 P4 P1 P2 P3 P Verkäufe Prod1 Prod3 Prod5 Prod6 Lief1 Lief4 Lief5 Lief9 1 : n Auslagern der Werte Produkttabelle P1 P2 P3 P4 P1 P2 P3 P Verkäufe Prod1 Prod3 Prod5 Prod6 Lief1 Lief4 Lief5 Lief9 1 : n Z1 Z2 Z3 Z Zeit Q3 Z1 Z2 Z3 Z4 n : 1

147 Umsetzung in technische Lösungen - Dimensionale Sicht und relationale Datenbank Produkttabelle P1 P2 P3 P4 P1 P2 P3 P Verkäufe Prod1 Prod3 Prod5 Prod6 Lief1 Lief4 Lief5 Lief9 1 : n Z1 Z2 Z3 Z Zeit Q3 Z1 Z2 Z3 Z4 n : 1 Regionen R1 R2 R3 R4 München Berlin Hamburg Frankfurt R1 R2 R3 R4 Verkäufer Maier Müller Schmid Engel V1 V2 V3 V4 V1 V2 V3 V4 1:n1:n N : 1 Starschema flexibel Graphisch auch für Business-User verständlich Einstiegspunkte für Abfragen

148 Quellmodell

149 Struktur einer Dimension Artikelgruppe Sparte Dim_Artikel Artikel_Langtext Artikelsparte Artikel Artikel_Schluessel Artikelgruppe_Langtext Artikelsparte_Langname Parent Fakten Levelschlüssel

150 Themen RAC Information Management und Data Warehouse

151 Herausforderung: Insellösungen Limitierte Skalierbarkeit, keine Verteilung von Ressourcen Konfiguration für die Höchstlast und maximale Kapazität Single Point of Failure Schwierige Anpassung an neue Business Anforderungen Order Entry DWHCRM 1000 IO/Sec 30% Kapazit ä t 58% CPU 100% CPU 95% 70% 3500 IO/Sec, 23 % CPU 350 IO/Sec, Kapazit ä t

152 Dynamisches Load Balancing Optimale Resourcen Auslastung Reduzierter HW Bedarf Weniger Oracle Lizenzen ! DWH CRM Auslastung des GRID 100 % 60 % OE 65 % Kapazit ä t CPU Kostengünstige Maschinen In der Summe billiger Mehr Ausfallsicherheit Leichtere Skalierung Grid Computing mit Oracle 10g

153 Themen SQL Advisor Information Management und Data Warehouse

154

155

156

157

158 Themen Automatisches Error Logging Information Management und Data Warehouse

159 DBMS_ERRLOG.CREATE_ERROR_LOG ( dml_table_name IN VARCHAR2, err_log_table_name IN VARCHAR2 := NULL, err_log_table_owner IN VARCHAR2 := NULL, err_log_table_space IN VARCHAR2 := NULL, skip_unsupported IN BOOLEAN := FALSE); Fehlertabelle definieren Massen-DML (Set-Based) Ohne Abbruch Fehlerhafte Eingabesätze werden separat protokolliert (analog SQL Loader und External Table)

160 SQL> desc ERR$_T3; Name Type ORA_ERR_NUMBER$ NUMBER ORA_ERR_MESG$ VARCHAR2(2000) ORA_ERR_ROWID$ ROWID ORA_ERR_OPTYP$ VARCHAR2(2) ORA_ERR_TAG$ VARCHAR2(2000) F1 VARCHAR2(4000) F2 VARCHAR2(4000) SQL> desc ERR$_T3; Name Type ORA_ERR_NUMBER$ NUMBER ORA_ERR_MESG$ VARCHAR2(2000) ORA_ERR_ROWID$ ROWID ORA_ERR_OPTYP$ VARCHAR2(2) ORA_ERR_TAG$ VARCHAR2(2000) F1 VARCHAR2(4000) F2 VARCHAR2(4000) SQL> desc T3 Name Type F1 NUMBER F2 NUMBER SQL> desc T3 Name Type F1 NUMBER F2 NUMBER insert into t3 values(1,2) LOG ERRORS INTO err$_T3 insert into t3 values(1,2) LOG ERRORS INTO err$_T3 exec DBMS_ERRLOG.CREATE_ERROR_LOG ('T3') 1* select substr(ora_err_number$,1,10) Nr,substr(ora_err_mesg$,1,50) Err from ERR$_T3 SQL> / NR ERR ORA-00001: unique constraint (DWH4.IDX_T3) violate 1* select substr(ora_err_number$,1,10) Nr,substr(ora_err_mesg$,1,50) Err from ERR$_T3 SQL> / NR ERR ORA-00001: unique constraint (DWH4.IDX_T3) violate

161 Themen Tabellen-Komprimierung Information Management und Data Warehouse

162 Table Compression: Performance Impact Example: TPC-H benchmark NOTE: This is NOT an official TPC-H result Based on 300 GB HP (Compaq) configuration: Composite metric w/o compression:5976 Composite metric with compression:5957 Compression had only a.3% impact on overall performance Performance of individual queries varied by +/- 15%

163 Themen Real Application Cluster (RAC) Automatic Storage Manager (ASM) Information Management und Data Warehouse

164 Herausforderung: Insellösungen Limitierte Skalierbarkeit, keine Verteilung von Ressourcen Konfiguration für die Höchstlast und maximale Kapazität Single Point of Failure Schwierige Anpassung an neue Business Anforderungen Order Entry DWHCRM 1000 IO/Sec 30% Kapazit ä t 58% CPU 100% CPU 95% 70% 3500 IO/Sec, 23 % CPU 350 IO/Sec, Kapazit ä t

165 Dynamisches Load Balancing Optimale Resourcen Auslastung Reduzierter HW Bedarf Weniger Oracle Lizenzen ! DWH CRM Auslastung des GRID 100 % 60 % OE 65 % Kapazit ä t CPU Kostengünstige Maschinen In der Summe billiger Mehr Ausfallsicherheit Leichtere Skalierung Grid Computing mit Oracle 10g

166 Konsolidierung Soft- und Hardware Server 6 CPU Datenbank Server 8 CPU Server 4 CPU Datenbank ETL Server Serv 2 CPU 16

167 Schema CRM Schema Planung Schema DWH Schema Data Mining Schema Stamm- daten Verteilung der Last in einem RAC-Verbund - Tagsüber Load-Job 1 Interaktive Analysen Standard- Reporting Interaktive Analysen Eine Datenbank CPU Knoten 1Knoten 2Knoten 3Knoten 4 Options: RAC

168 Schema CRM Schema Planung Schema DWH Schema Data Mining Schema Stamm- daten Verteilung der Last in einem RAC-Verbund - Nachts Load-Job 1 Load-Job 2 Standard- Reporting Load-Job 3 Eine Datenbank CPU Knoten 1Knoten 2Knoten 3Knoten 4 Options: RAC

169 RAC senkt die Hardware-Kosten im Data Warehouse massiv! Geringere Anschaffungskosten weil kleine Maschine im Vergleich zu den großen Monoliten Wegfall Backup-Maschine die RAC-Knoten sichern sich gegenseitig Minimierte Anforderung an Rechenkapazität weil ETL- und Abfragelasten flexibler verteilt werden können Options: RAC Extrem-Referenz: Amazon Beispiel in Deutschland: Quelle

170 Schema CRM Schema Planung Schema DWH Schema Data Mining Rechner DW Anwendungen 1 ETL, Planung Rechner DW Anwendungen 1 ETL, Planung Rechner DW Anwendungen 2 (DWH, BI, Mining) Rechner DW Anwendungen 2 (DWH, BI, Mining) Cache Fusion Schema Stamm- daten Dispositive Anwendungen gemeinsam verwalten ETL Data Mart Planung Data Mart Planung Neutrales Data Warehouse Neutrales Data Warehouse Data Mart Mining Data Mart Mining Eine DatenbankSAN Storage Instanz 1Instanz 2

171 Automatic Storage Management (ASM) Storage Management SAN SAN Management Datenbank Management Dateisystemmanagement Volumemanagement Automatic Storage Management DWH A DWH B

172 ORACLE ASM Nutzen / Vorteile durch ORACLE ASM: Vereinfachtes Storagemanagement (weniger administrative Schritte) Kein Volumemanager notwendig manuelles IO-Tuning entfällt höhere Performance (ca. 15 %) durch SAME und Redistribute weniger Verschnitt durch freie Bereiche Ein Storage für alle Datenbank-Objekte (DataFiles,ArchiveLogs …) Spiegelung der Datenbereiche auf bis zu 3 Ziele automatische Reparatur durch Rebalance (via redundantem Storage) verringerte Downtimes (geplant und ungeplant)

173


Herunterladen ppt "Oracle Warehouse Technologie Single-Engine-Based-Data-Warehouse."

Ähnliche Präsentationen


Google-Anzeigen