Microsoft SQL Server 2005 Analysis Services / Data Warehousing / Data Mining Architektur und Verwendung Einführung • OLTP und OLAP im Vergleich • Data WarehouseKomponenten • OLAP-Würfel OLTP und OLAP im Vergleich • Mithilfe der analytischen Onlineverarbeitung (Online Analytical Processing, OLAP) können Sie auf aggregierte und organisierte Daten aus Geschäftsdatenquellen, z. B. Data Warehouses, in einer multidimensionalen Struktur, die als Cube bezeichnet wird, zugreifen. • Microsoft SQL Server 2005 Analysis Services (SSAS) stellt Tools und Features für OLAP zur Verfügung, mit deren Hilfe Sie Cubes und andere unterstützende Objekte entwerfen, bereitstellen und verwalten können. OLTP und OLAP im Vergleich • • • OLTP OnLine Transaction Processing Merkmale – Verarbeitet Echtzeittransaktionen eines Unternehmens – Enthält für Einträge und Bearbeitungen optimierte Datenstrukturen – Stellt eingeschränkte Entscheidungsfindungsfunktionen bereit • Beispiele – Anwendungen zum Nachverfolgen von Aufträgen – Kundendienstanwendungen – Point-of-Sales-Anwendungen • • • OLAP OnLine Analytical Processing Merkmale – Es stellt Daten für Geschäftsanalysevorgänge bereit – Es integriert Daten aus heterogenen Quellsystemen – Es kombiniert überprüfte Quelldaten – Es organisiert Daten in themenspezifischen Gruppen, die sich nicht ständig ändern – Es speichert Daten in physischen Strukturen, die für das Verteilen und Abfragen von Daten optimiert sind • Beispiele – Matrix-/Pivot-Untersuchungen – Erweiterte Wissensgenerierung OLTP und OLAP im Vergleich • Allgemeine Kennzeichen – Optimiertes Schema für schnelle Benutzerabfragen – Stabiles Berechnungs-modul für numerische Analysen – Vorausberechnete Aggregate, Beziehungs-management – Konzeptionelles, intuitives Datenmodell – Multidimensionale Sicht von Daten • Drilldown und Drillup • Sichten von Daten mit Hilfe des Pivotprinzips • Einsatzmöglichkeiten – EIS-Systeme • Leistungswerte • Ausnahmeberichts-erstellung – Verkaufs- und Marketinganwendungen • Bestellungs- und Rechnungsanwendungen • Produktanalysen • Kundenanalysen • Zeitreihen-Trendanalysen OLTP und OLAP im Vergleich OLAP-Dimension Relationale Dimension REGION West CA OR East MA NY REGION West East STATE CA OR MA NY REGION West West East East OLTP und OLAP im Vergleich USA North West Oregon Washington South West California USA ist die übergeordnete Ebene von North West und South West North West und South West sind untergeordnete Ebenen von USA North West und California sind nachfolgende Elemente von USA North West und USA sind vorausgehende Elemente von Washington North West und South West sind gleichgeordnete Elemente Oregon und California sind Elemente mit übergeordneten Ebenen, die gleichgeordnete Elemente sind Alle sind Elemente ein und derselben Dimension Data Warehouse-Komponenten Datawarehouse Datenquellen Stagingbereich Dateneingabe Datenzugriff Datamarts Benutzerzugriff auf Daten Data Warehouse-Komponenten Relationale Datamarts OLAP-Cubes Relationale Datenstruktur Multidimensionale Datenstrukturen Dateninhalt Detaillierte und zusammengefasste Daten Zusammengefasste Daten Datenquellen Relationale und nicht relationale Quellen Relationale und nicht relationale Quellen Datenspeicherung Datenabruf Gute Abfrageleistung beim Sehr gute Abfrageleistung Extrahieren von Daten beim Extrahieren von Daten OLAP-Würfel: Struktur Atlanta Chicago Denver Grapes Cherries Melons Apples Detroit Q4 Q1 Q2 Q3 „Time“-Dimension OLAP-Würfel: Abfragen Atlanta Sales Fact Chicago Denver Grapes Cherries Melons Apples Dallas Q4 Q1 Q2 Q3 „Time“-Dimension OLAP-Würfel: Schneiden Atlanta Chicago Denver Grapes Cherries Melons Apples Detroit Q4 Q1 Q2 Q3 „Time“-Dimension OLAP-Würfel: Visualisierung OLAP-Würfel: Visualisierung Fragen... OLAP und SQL Server 2005 • Übersicht • Server-/ClientArchitektur • Berichte/Auswertung Übersicht • Microsoft SQL Server 2005 Analysis Services (SSAS) verwendet sowohl Serverals auch Clientkomponenten zum Bereitstellen von OLAP-Funktionen (Online Analytical Processing) und von Data Mining-Funktionen für Business IntelligenceAnwendungen: – Die Serverkomponente von Analysis Services ist als Microsoft Windows-Dienst implementiert. SQL Server 2005 Analysis Services unterstützt mehrere Instanzen auf demselben Computer, wobei jede Instanz von Analysis Services als eigene Instanz des Windows-Dienstes implementiert ist. – Clients kommunizieren mit Analysis Services mithilfe des öffentlichen Standards für XMLA (XML for Analysis). Hierbei handelt es sich um ein SOAP-basiertes Protokoll für die Ausgabe von Befehlen und den Empfang von Antworten in Form eines Webdienstes. Clientobjektmodelle werden ebenfalls über XMLA bereitgestellt. Auf diese Modelle kann sowohl ein verwalteter Anbieter (ADOMD.NET) als auch ein eigener OLE DB-Anbieter zugreifen. – Abfragebefehle können mithilfe der folgenden Abfragesprachen ausgegeben werden: SQL; MDX (Multidimensional Expressions), eine Abfragesprache nach Industriestandard für Analysen; oder DMX (Data Mining Extensions), eine am Data Mining orientierte Abfragesprache nach Industriestandard. Zum Verwalten von Analysis ServicesDatenbankobjekten kann außerdem ASSL (Analysis Services Scripting Language) verwendet werden. Serverarchitektur • Die Serverkomponente von Microsoft SQL Server 2005 Analysis Services (SSAS) ist die Anwendung msmdsrv.exe, die normalerweise als Windows-Dienst ausgeführt wird. • Diese Anwendung besteht aus – – – – Sicherheitskomponenten einer XMLA-Überwachungskomponente (XML for Analysis) einer Abfrageverarbeitungs-komponente und zahlreichen internen Komponenten, die die folgenden Funktionen ausführen: – Analysieren von Anweisungen, die von Client empfangen werden – Verwalten von Metadaten – Behandeln von Transaktionen – Verarbeiten von Berechnungen – Speichern von Dimensions- und Zellendaten – Erstellen von Aggregationen – Planen von Abfragen – Zwischenspeichern von Objekten – Verwalten von Serverressourcen Clientarchitektur • Microsoft SQL Server 2005 Analysis Services (SSAS) unterstützt eine Thin Client-Architektur. Das Analysis ServicesBerechnungsmodul ist vollständig serverbasiert, sodass alle Abfragen auf dem Server aufgelöst werden. Daher ist für jede Abfrage nur ein Roundtrip zwischen dem Client und dem Server erforderlich, was zu skalierbarer Leistung führt, wenn die Komplexität der Abfragen zunimmt. • Das native Protokoll für Analysis Services ist XMLA (XML for Analysis). Analysis Services stellt mehrere Datenzugriffsschnittstellen für Clientanwendungen zur Verfügung. Diese Komponenten verwenden jedoch alle XMLA für die Kommunikation mit einer Instanz von Analysis Services. Clientarchitektur • • • Zusammen mit Analysis Services werden mehrere unterschiedliche Anbieter zur Verfügung gestellt, um unterschiedliche Programmiersprachen zu unterstützen. Ein Anbieter kommuniziert mit einem Server mit Analysis Services, indem XMLA in SOAPPaketen über TCP/IP oder durch Internetinformationsdienste (Internet Information Services, IIS) über HTTP gesendet und empfangen wird. Eine HTTP-Verbindung verwendet ein von IIS instanziiertes COMObjekt, das als Datapump bezeichnet wird und als Datenleitung für Analysis ServicesDaten fungiert. Clientarchitektur • Win32-Clientanwendungen können mithilfe von – OLE DB für OLAP-Schnittstellen – Microsoft ActiveX Data ObjectsObjektmodell (ADO) für COMAutomatisierungssprachen (Component Object Model) wie Microsoft Visual Basic Verbindungen zu einem Server mit Analysis Services herstellen. • Mit .NET-Sprachen codierte Anwendungen können mithilfe von ADOMD.NET eine Verbindung zu einem Server mit Analysis Services herstellen. Programmiersprache Datenzugriffsschnittstelle C++ OLE DB für OLAP (OLE DB for OLAP) Visual Basic 6 ADO MD .NET-Sprachen ADOMD.NET Alle Sprachen mit XMLA (XML for SOAPAnalysis) Unterstützung Clientarchitektur • • • • Analysis Services verfügt über eine Webarchitektur mit einer vollständig skalierbaren mittleren Ebene, die sowohl in kleineren als auch in großen Organisationen bereitgestellt werden kann. Analysis Services stellt umfassende Unterstützung auf mittlerer Ebene für Webdienste zur Verfügung. ASP-Anwendungen werden von OLE DB für OLAP und ADO MD unterstützt, ASP.NETAnwendungen werden von ADOMD.NET unterstützt. Die mittlere Ebene ist für viele gleichzeitige Benutzer skalierbar. Clientarchitektur • • • Lokale Cubes und lokale Miningmodelle ermöglichen Analysen auf einer Clientarbeitsstation, wenn deren Verbindung zum Netzwerk getrennt ist. Das lokale Cubemodul (Msmdlocal.dll) unterstützt lokale Cubes und lokale Miningmodelle auf Clientcomputern. Das lokale Cubemodul ist ein In-ProcessCOM-Server. Eine Clientanwendung ruft den OLE DB-Anbieter für OLAP auf, der das lokale Cubemodul zum Erstellen und Abfragen von lokalen Cubes lädt. Clientarchitektur • Ein lokaler Cube kann entweder auf einem vorhandenen, in Analysis Services gespeicherten Cube basieren oder auf einer relationalen OLE DB-Datenbank. – Wenn ein lokaler Cube aus einer relationalen Datenquelle erstellt wird, ist dessen Struktur jener von Cubes in Analysis Services sehr ähnlich. – Wenn ein lokaler Cube aus einer OLAP-Datenquelle erstellt wird, ist der lokale Cube an den Quellcube gebunden. • Ein lokaler Cube kann auch ohne eine Ausgangsdatenquelle erstellt werden. • Sowohl lokale Cubes als auch lokale Data Mining-Modelle werden in multidimensionalen Cubedateien (CUB) auf einem Clientcomputer gespeichert. – Eine CUB-Datei enthält mindestens einen lokalen Cube, kann jedoch mehrere Cubes enthalten. – Abfragen an die lokalen Cubes werden vom lokalen Cubemodul verarbeitet und benötigen keine Verbindung zu einer Analysis ServicesInstanz. Clientarchitektur • Das lokale Cubemodul kann auch lokale Data Mining-Modelle erstellen, die in lokalen Cubes verarbeitet wurden. Ein lokales Data Mining-Modell basiert auf einem lokalen Cube und wird in derselben CUB-Datei gespeichert, die auch den lokalen Cube definiert. Lokale Miningmodelle können auch ohne eine Verbindung zu einer Analysis Services-Instanz verwendet werden. Berichte • Reporting Tool-Optionen • Excel Pivot-Tabellen und Pivot-Charts • Office Web Components (OWC) • Reporting Services • Report Builder • Strukturierte Berichte (relational) – Reporting Services, Report Builder • Strukturierte Gruppierungen (OLAP) – Excel Pivot-TabellenBerichte und Diagramme – Office Web PivotTable Reports und Diagramme – Excel Add-In Accelerator • Strukturierte Attribute (Data Mining) – Data Mining-Auswertungs/Anzeigewerkzeuge Berichte: Excel PivotTables und PivotCharts • Excel ist bekannt und oft schon vorhanden • Unterstützt AS 2005 • Arbeitet mit relationalen und OLAP-Daten • GetPivotData fügt Flexibilität hinzu Berichte: Office Web Components (OWC) • In eigene Anwendungen einbettbar • Flexibler als Excel • Bessere DiagrammErzeugung als in Excel • Benutzerdefinierte Aggregate • Keine Office-Lizenz erforderlich • VBA/ActiveX-Unterstützung • Von Microsoft in SQL Server Studios selbst eingesetzt Berichte: Excel Add-In Accelerator • Verbesserte Abfragen • Freiform-Modus mit asymmetrischen Berichten, mehreren Datenquellen und flexiblen Formeln • Verteilung über Arbeitsblatt/Excel-Datei Berichte: Reporting Services • Tabellen, Matrizen, Diagramme • Vordefinierte Struktur • Interaktivität möglich • Strukturierte Daten: relational, OLAP, hierarchisch • URL-Zugriff und einbettungsfähig in eigenen Anwendungen • Web ServiceUnterstützung Berichte: Report Builder • Zusatzwerkzeug für die direkte Erstellung von Berichten auf Basis eines Datenmodells für Berichte durch Profi-Benutzer • Unterstützt prinzipiell die gleichen Layout/Abfragefähigkeiten wie Visual Studio für die StandardReporting Services Fragen... Konzepte • Unified Dimensional Model (UDM) • Data Mining • Objekte UDM • Ein Benutzer, der Informationen direkt aus einer Datenquelle abrufen möchte, wie z. B. aus einer ERP-Datenbank (Enterprise Resource Planning), steht mehreren bedeutenden Herausforderungen gegenüber: – Die Inhalte solcher Datenquellen sind häufig schwer verständlich, da sie für Systeme und Entwickler entwickelt wurden, ohne dabei die Anforderungen des Benutzers zu berücksichtigen. – Die vom Benutzer benötigten Informationen werden häufig auf mehrere heterogene Datenquellen verteilt. Umso schwieriger wird es für den Benutzer, wenn diese Datenquellen unterschiedlichster Arten sind, die neben relationalen Datenbanken auch Dateien und Webdienste beinhalten. – Während viele Datenquellen so ausgerichtet sind, dass sie große Mengen an Transaktionsebenendetails aufnehmen, schließen die zur Unterstützung von Geschäftsentscheidungen durchgeführten Abfragen in vielen Fällen zusammengefasste, aggregierte Informationen ein. Bei sehr großen Datenmengen kann die zum Abrufen solcher zusammengefasster Werte für die interaktive Endbenutzeranalyse erforderliche Zeit ein Hindernis darstellen. – Die Geschäftsregeln sind im Allgemeinen nicht in den Datenquellen gekapselt. Die Benutzer müssen daher die Daten selbst interpretieren. UDM • • • Die Rolle eines UDM (Unified • Dimensional Model) besteht darin, eine Brücke zwischen dem Benutzer und den Datenquellen bereitzustellen. Ein UDM wird aus mindestens einer physikalischen Datenquelle hergeleitet. Der Benutzer gibt Abfragen für das UDM mithilfe einer Vielzahl • von Clienttools wie Microsoft Excel aus. Es ergeben sich Vorteile für den Endbenutzer, auch wenn das UDM nur als minimale Schicht über der Datenquelle erstellt wird: ein einfacheres, verständlicheres Modell der Daten, das Isolieren heterogener Back-EndDatenquellen sowie Leistungsverbesserungen bei Abfragen. Das UDM bietet die folgenden Vorteile: – Deutlich verbessertes Benutzermodell. – Stellt Abfragen mit hoher Leistung bereit und unterstützt so interaktive Analysen von großen Datenmengen. – Erfasst Geschäftsregeln im Modell zur Unterstützung umfangreicherer Analysen. – Ermöglicht eine Rückkopplung, bei der Benutzer auf die angezeigten Daten reagieren können. UDM • Direkter Zugriff auf die Datenquellen (traditionell) • Zugreifen auf die Datenquellen mithilfe eines UDM UDM • • Hierarchien Key Performance Indicators (KPIs) • Zeitangaben • Übersetzungen • • • Kategorisierung Perspektiven Attributsemantik UDM • Erweiterte Analytik UDM Datenquelle Werkzeug OLAP Browser (1) DW UDM Cache XML/A or ODBO Analysis Services OLAP Browser (2) MDX Berichtswerkzeug (1) Berichtswerkzeug (1) BI-Anwendungen Data Mining • Data Mining wird oft als "der Prozess • des Extrahierens gültiger, authentischer und aussagefähiger Informationen aus großen Datenbanken" beschrieben. Data Mining ist demnach ein Prozess, der Muster und Trends in Daten aufdeckt. Diese Muster und Trends lassen sich zusammenfassen und als Miningmodell definieren. Miningmodelle • werden u. a. auf folgende Geschäftsszenarien angewendet: – Erstellen von Verkaufsprognosen – Durchführen von Direktmarketingaktionen, die auf einen bestimmten Kundenkreis abzielen – Ermitteln von Produkten mit CrossSelling-Potenzial – Ermitteln der Reihenfolge, in der Kunden Produkte in den Einkaufswagen legen 1. 2. 3. 4. 5. Die Erstellung eines Miningmodells muss als Teil eines größeren Prozesses verstanden werden, der sich von der Definition der zentralen Problemstellung bis hin zur Implementierung des Modells in einer Arbeitsumgebung erstreckt. Ein Data Mining-Prozess besteht im Wesentlichen aus sechs Schritten: Definieren der Problemstellung Vorbereiten der Daten Durchsuchen von Daten Erstellen von Modellen Durchsuchen und Validieren von Modellen 6. Bereitstellen und Aktualisieren von Modellen Data Mining Data Mining • Sobald die Miningmodelle in eine Produktionsumgebung integriert wurden, stehen sie je nach Bedarf für zahlreiche Tasks zur Verfügung. Sie können u. a. folgende Tasks ausführen: – Mithilfe der Modelle Vorhersagen erstellen, die für Geschäftsentscheidung herangezogen werden können. SQL Server stellt die DMX-Sprache zur Verfügung, die Sie zum Erstellen von Vorhersageabfragen verwenden können. Darüber hinaus unterstützt Sie der Generator für Vorhersagebabfragen beim Erstellen der Abfragen. – Data Mining-Funktionen in eine Anwendung integrieren. Sie können Analysis Management Objects (AMO) hinzufügen oder ein Assembly mit mehreren Objekten einbetten. Mit diesen Objekten kann Ihre Anwendung Miningstrukturen und -modelle erstellen, ändern, verarbeiten und löschen. Alternativ können Sie XMLA-Nachrichten (XML for Analysis) direkt an eine Instanz von Analysis Services senden. – Mit Integration Services ein Paket erstellen, in dem mithilfe eines Miningmodells eingehende Daten eigenständig aufgeteilt und mehreren Tabellen zugeordnet werden. Wenn eine Datenbank beispielsweise fortlaufend mit potenziellen Neukunden aktualisiert wird, können Sie ein Miningmodell zusammen mit Integration Services dazu verwenden, die eingehenden Daten zwei verschiedenen Kundengruppen zuzuordnen: Einer Gruppe, deren Kunden wahrscheinlich ein Produkt kaufen, und einer anderen, deren Kunden wahrscheinlich kein Produkt kaufen. – Erstellen Sie einen Bericht, mit dem Abfragen direkt für ein vorhandenes Miningmodell ausgeführt werden können. Data Mining • Microsoft SQL Server 2005 Analysis Services (SSAS) beinhaltet folgende Algorithmen: – – – – – – – – – Microsoft Decision Trees-Algorithmus Microsoft Clustering-Algorithmus Microsoft Naive Bayes-Algorithmus Microsoft Association-Algorithmus Microsoft Sequence Clustering-Algorithmus Microsoft Time Series-Algorithmus Microsoft Neural Network-Algorithmus (SSAS) Microsoft Logistic Regression-Algorithmus Microsoft Linear Regression-Algorithmus Data Mining Decision Trees Sequence Clustering Clustering Association Time Series Naïve Bayes Neural Net Data Mining: Naïve Bayes • Einfaches und am einfachesten z implementierendes Modell • Welches Attribut kann das Attribut am besten vorhersagen? Data Mining: Decision Tree • Welcher Attributbaum kann das Ergebnis am besten vorhersagen? • Zusammenspiel zwischen Attributen. Data Mining: Cluster • Welche Untergruppen sind in den Daten enthalten? • Wie verschieden sind die Untergruppen? • Finde Muster ohne spezielles Ziel. Data Mining: Association • Ähnlich Cluster, aber mit Blick auf eine einzige Transaktion. • Welche Produkte werden zusammen gekauft (Warenkorban alyse)? Data Mining: Sequence Cluster • Wie Cluster, aber mit Berücksichtigung einer Abfolge • Welches Ereignis wird wahrscheinlich danach eintreten (Klickpfade)? • Benötigt ein Attribut, um die Abfolge abzubilden. Data Mining: Time Series • Welche Trends sind vorhanden? • Wie interagieren Trends miteinander? • Benötigt ein zeitbasiertes Attribut (Vorschau). Data Mining: Neural Net • Erstellt eine mehrschichtige Netzwerk von Neuronen • Wie ein Entscheidungsbaum, aber mit dreidimensionaler Knotenstruktur Analysis Services-Objekte • Datenquellen: Datenquelle in Analysis Services. • Datenquellensichten: ein logisches Datenmodell, das auf mindestens einer Datenquelle in Analysis Services basiert. • Cubes: Cubes und Cubeobjekte, einschließlich Measures, Measuregruppen, Dimensionsverwendungbeziehungen, Berechnungen, Key Performance Indicators (KPIs), Aktionen, Übersetzungen, Partitionen und Perspektiven. • Dimensionen: Dimensionen und Dimensionsobjekte, einschließlich Attribute, Attributbeziehungen, Hierarchien, Ebenen und Elemente. Miningstrukturen: Miningstrukturen und Miningobjekte, einschließlich Miningmodellen. • • Rollen: eine Rolle, den Sicherheitsmechanismus, der zum Steuern des Zugriffs auf Objekte in Analysis Services verwendet wird. • Assemblys: eine Auflistung von benutzerdefinierten Funktionen, die zum Erweitern der Sprachen MDX und DMX in Analysis Services verwendet werden. Fragen...