info@comelio.com

  • Berlin, Germany
    Comelio GmbH
    Fon: +49.30.8145622.00
    Fax: +49.30.8145622.10

  • Miami, USA
    Comelio, Inc. (Regus)
    Fon: +1.305.395.7962
    Fax: +1.305.395.7964

  • Chennai, India
    Comelio Business Solutions Pvt. Ltd.
    Fon: +9144.420.13545
    Fax: +91.44.420.13551

Physische Architektur

Microsoft Analysis Services verwendet sowohl Server- als auch Clientkomponenten zum Bereitstellen von Data Mining-Funktionen für Business Intelligence-Anwendungen:

  • Die Serverkomponente von Analysis Services ist als Microsoft Windows-Dienst implementiert. SQL Server 2008 Analysis Services (SSAS) unterstützt mehrere Instanzen auf demselben Computer, wobei jede Instanz von Analysis Services als eigene Instanz des Windows-Diensts 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 Webdiensts. 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: DMX (Data Mining Extensions), eine am Data Mining orientierte Abfragesprache nach Industriestandard. Mit ASSL (Analysis Services Scripting Language) können außerdem Analysis Services-Datenbankobjekte verwaltet werden.

Architekturdiagramm

Eine Analysis Services-Instanz wird als eigenständiger Dienst ausgeführt, und die Kommunikation mit dem Dienst erfolgt in XMLA (XML for Analysis) über HTTP oder TCP. AMO ist eine Ebene zwischen der Benutzeranwendung und der Analysis Services-Instanz. Diese Ebene bietet Zugriff auf Analysis Services Verwaltungsobjekte. AMO ist eine Klassenbibliothek, die Befehle von Clientanwendungen entgegennimmt und diese Befehle in XMLA-Nachrichten für die Analysis Services-Instanz übersetzt. AMO stellt Objekte der Analysis Services-Instanz für die Endbenutzerumgebung als Klassen dar, wobei Methodenmember Befehle ausführen und Eigenschaftenmember die Daten für die Analysis Services-Objekte speichern.

Die folgende Abbildung stellt die Analysis Services-Komponentenarchitektur dar, einschließlich aller wichtigen Elemente, die in der Analysis Services-Instanz ausgeführt werden, und aller Benutzerkomponenten, die mit der Instanz zusammenarbeiten. Diese Abbildung zeigt außerdem, dass nur mit der XMLA-Überwachung (XML for Analysis) entweder über HTTP oder TCP ein Zugriff auf die Instanz möglich ist.

Komponentenarchitektur

Serverkonfiguration

Eine Serverinstanz kann mehrere Analysis Services-Datenbanken unterstützen. Dabei verfügt jede Datenbank über eine eigene Instanz des Analysis Services-Diensts, der Clientanfragen beantwortet und Objekte verarbeitet. Die gesamte Kommunikation zwischen einem Client und dem Analysis Services-Server verwendet XMLA. Hierbei handelt es sich um ein plattform- und sprachenunabhängiges Protokoll. Wenn eine Anfrage von einem Client eingeht, ermittelt Analysis Services, ob die Anfrage sich auf OLAP oder Data Mining bezieht, und leitet die Anfrage entsprechend weiter.

Data Mining-Dienste und Datenquellen

Die Serverkomponente von Microsoft SQL Server Analysis Services 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 Abfrageverarbeitungskomponente 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

XMLA-Überwachung

Die XMLA-Überwachungskomponente verarbeitet alle XMLA-Kommunikationen zwischen Analysis Services und den Clients. Mithilfe der Port-Konfigurationseinstellung für Analysis Services in der Datei msmdsrv.ini können Sie einen Port angeben, der von einer Instanz von Analysis Services überwacht wird. Wird in dieser Datei der Wert 0 angegeben, wird der Standardport von Analysis Services überwacht.

Verwenden von Datenquellen

Bei jedem Erstellen oder Aktualisieren einer Data Mining-Struktur oder eines Data Mining-Modells verwenden Sie Daten, die in einer Datenquellensicht gespeichert sind. Obwohl es sich bei der Datenquellensicht um das Objekt handelt, das Daten für das Modell oder die Struktur bereitstellt, enthält die Datenquellensicht selbst keine Daten. Stattdessen ruft die Datenquellensicht die Daten mithilfe der Verbindungsinformationen ab, die in der zugrunde liegenden Datenquelle gespeichert sind. Beim Definieren einer Datenquelle müssen Sie daher sicherstellen, dass auf die Verbindung zugegriffen werden kann, auch wenn die Data Mining-Projektmappe an einen anderen Speicherort verschoben wird.

Zudem müssen Sie die Sicherheitseigenschaften der Datenquelle konfigurieren. So wird sichergestellt, dass die Modelle oder Strukturen basierend auf den Daten verarbeitet oder abgefragt werden können, auch wenn das Modell verschoben wurde oder verschiedene Benutzer mit dem Modell arbeiten. Der Datenquellen-Assistent unterstützt vier Optionen zum Definieren der Sicherheit einer Datenquelle: Identitätswechsel, Identitätswechsel mit Delegierung, Identitätswechsel mit dem Dienstkonto und die Standardoption, mit der die verwendeten Anmeldeinformationen abhängig von dem jeweiligen Vorgang geändert werden.

Neben dem Definieren des Sicherheitskontexts für die Datenquelle müssen Sie sicherstellen, dass das Konto, das zur Herstellung der Verbindung mit der Remotedatenquelle verwendet wird, mindestens über Leseberechtigungen für die Daten verfügt. Analysis Services unterstützt viele verschiedene Arten von Datenquellen, einschließlich Excel-Arbeitsmappen, Textdateien und SQL Server-Datenbanken. Daher würde eine vollständige Beschreibung der Vorgehensweise zum Festlegen dieser Berechtigungen den Rahmen dieses Themas sprengen.

Remote- und lokale Server

Für Data Mining ist eine Verbindung zu einer Instanz von SQL Server Analysis Services erforderlich. Für Data Mining müssen kein OLAP (Online Analytical Processing)-Cube erstellt und keine OLAP-Features verwendet werden. Das Analysis Services-Modul bietet jedoch viele Vorteile, wie Leistung und Skalierbarkeit, und Data Mining verwendet viele Komponenten gemeinsam mit OLAP. Dieses Thema enthält Informationen, die erforderlich sind, wenn Sie eine Verbindung zu einer lokalen oder Remoteinstanz von SQL Server Analysis Services herstellen, um Data Mining-Modelle zu erstellen, zu verarbeiten, bereitzustellen oder abzufragen.

Programmgesteuerter Zugriff auf Data Mining-Objekte

Mit den folgenden Objektmodellen können Sie eine Verbindung zu einer Analysis Services-Datenbank herstellen und mit Data Mining-Objekten arbeiten.

ADO: Verwendet OLE DB zur Herstellung einer Verbindung mit einem Analysis Services-Server. Wenn Sie ADO verwenden, wird der Client auf Schemarowsetabfragen und DMX-Anweisungen beschränkt.

ADO.NET:  Interagiert mit SQL Server-Anbietern besser als mit anderen Anbietern. Verwendet Datenadapter, um dynamische Rowsets zu speichern. Verwendet das Datasetobjekt, das einen Cache der als Datentabellen gespeicherten Serverdaten darstellt. Diese Tabellen können aktualisiert oder im XML-Format gespeichert werden.

ADOMD.NET:  Ein verwalteter Datenanbieter, der zur Verwendung mit Data Mining und OLAP optimiert ist. ADOMD.NET ist schneller und speichereffizienter als ADO.NET. Mit ADOMD.NET können Sie auch Metadaten über Serverobjekte abrufen. ADOMD.NET wird für Clientanwendungen empfohlen, außer .NET ist nicht verfügbar.

Server-ADOMD:  Objektmodell für den direkten Zugriff auf Analysis Services-Objekte auf dem Server. Wird von Analysis Services-gespeicherten Prozeduren verwendet; nicht für die Clientverwendung.

AMO:  Verwaltungsschnittstelle für Analysis Services, die Entscheidungsunterstützungsobjekte (DSO) ersetzt. Beim Verwenden von AMO erfordern Vorgänge wie die Iteration von Objekten höhere Berechtigungen als bei Verwendung anderer Schnittstellen. Der Grund hierfür liegt darin, dass AMO direkt auf Metadaten zugreift, wohingegen ADOMD.NET und andere Schnittstellen nur auf die Datenbankschemas zugreifen.

Durchsuchen und Abfragen von Modellen

Sie können alle Arten von Vorhersagen entweder mit lokalen oder Remoteservern ausführen. Dabei gelten folgende Einschränkungen:

  • Wenn Sie Server-ADOMD verwenden, können Sie mit DMX auf den Server zugreifen, ohne eine Verbindung herzustellen. Anschließend können Sie die Ergebnisse direkt in eine Datentabelle kopieren. Server-ADOMD kann jedoch nicht ohne Remoteinstanzen verwendet werden. Sie können nur den lokalen Server abfragen.
  • ADO.NET unterstützt keine benannten Parameter für Data Mining. Sie müssen ADOMD.NET verwenden.
  • Mit ADOMD.NET können Sie eine gesamte Tabelle zur Verwendung als Parameter übergeben. Daher können Sie die Daten auf dem Client oder Daten verwenden, die für den Server nicht verfügbar sind. Möglich ist auch die Verwendung von gestalteten Tabellen als Vorhersageeingabe.

Verwenden von Data Mining-gespeicherten Prozeduren

Mit ADOMD.NET können Sie Modellinhalt in hierarchischer Form durchsuchen und Knoten in die Suche einbeziehen. Wenn Sie allerdings eine Abfrage für den Modellinhalt erstellen, gibt die Abfrage das ganze Modell zurück. Um zu vermeiden, dass zu viele Zeilen zurückgegeben werden, können Sie gespeicherte Prozeduren für Analysis Services schreiben, indem Sie das ADOMD+-Objektmodell verwenden. Gespeicherte Prozeduren werden häufig zum Kapseln von Abfragen zur Wiederverwendung verwendet.

Der Client kann CALL verwenden, um gespeicherte Prozeduren auszuführen, einschließlich Analysis Services-gespeicherte Systemprozeduren. Wenn die Prozedur ein Dataset zurückgibt, erhält der Client ein Dataset oder eine Datentabelle mit einer geschachtelten Tabelle, die die Zeilen enthält. Um eine servergespeicherte Prozedur zu schreiben, müssen Sie auf den Microsoft.AnalysisServices.AdomdServer-Namespace verweisen.

Hinweis:  Gespeicherte Prozeduren können nicht verwendet werden, um die Sicherheit auf Datenserverobjekten zu ändern. Wenn Sie eine gespeicherte Prozedur ausführen, wird der aktuelle Kontext des Benutzers verwendet, um den Zugriff auf alle Serverobjekte zu bestimmen. Daher müssen Benutzer über entsprechende Berechtigungen für Datenbankobjekte verfügen, auf die sie zugreifen.

Verschieben von Data Mining-Objekten zwischen Datenbanken oder Servern

Sie können Data Mining-Objekte zwischen Datenbanken oder zwischen Instanzen von Analysis Services wie folgt verschieben: Bereitstellen einer Projektmappe, Sichern und Wiederherstellen einer Datenbankkopie, Exportieren und Importieren von Strukturen und Modellen.

Bereitstellen  bezeichnet den Prozess, Modelle vom Test- oder Bereitstellungsserver auf einen anderen Server entweder zu Produktionszwecken, zur Freigabe von Modellen oder zur Einbettung eines Modells in eine Anwendung zu verschieben.

Sichern und Wiederherstellen  einer gesamten Analysis Services-Datenbank bietet sich an, wenn Ihre Data Mining-Projektmappe auf OLAP-Objekten aufbaut. SQL Server 2008 stellt die neue Sicherungs- und Wiederherstellungsfunktionalität bereit, mit der Datenbanksicherungen schneller und leichter erstellt werden können.

Importieren und Exportieren  von Mining-Modellen und -Strukturen mit DMX-Anweisungen ist die einfachste Möglichkeit, einzelne relationale Data Mining-Objekte zu verschieben oder zu sichern.

Wenn Sie die INCLUDE DEPENDENCIES-Option festlegen, exportiert Analysis Services auch die Definition erforderlicher Datenquellensichten. Beim Importieren des Modells oder der Struktur wird die Datenquellensicht auf dem Zielserver erneut erstellt. Stellen Sie nach dem Importieren des Modells sicher, dass die notwendigen Miningberechtigungen für das Objekt festgelegt werden.

Hinweis:  Sie können OLAP-Modelle nicht mit DMX exportieren und importieren. Wenn Ihr Miningmodell auf einem OLAP-Cube basiert, ist die Sicherungs- und Wiederherstellungsfunktionalität oder die Bereitstellungsfunktionalität für die gesamte Datenbank zu verwenden.

Verarbeiten von Strukturen und Modellen

Ein Data Mining-Objekt ist vor seiner Verarbeitung nur ein leerer Container. Die Verarbeitung eines Data Mining-Modells wird auch als Training bezeichnet.

Verarbeiten von Miningstrukturen:  Eine Miningstruktur ruft Daten von einer externen Datenquelle ab, die über die Spaltenbindungen und Verwendungsmetadaten definiert ist, und liest die Daten. Diese Daten werden vollständig gelesen und anschließend analysiert, um verschiedene statistische Informationen zu extrahieren. Analysis Services speichert eine kurze Darstellung der Daten, die für die Analyse durch Data Mining-Algorithmen geeignet ist, in einem lokalen Cache. Sie können diesen Cache entweder beibehalten oder löschen, nachdem die Modelle verarbeitet wurden. Standardmäßig wird der Cache gespeichert.

Verarbeiten von Miningmodellen:  Bis zu seiner Verarbeitung ist ein Miningmodell leer und enthält nur Definitionen. Um ein Miningmodell verarbeiten zu können, muss zuerst die zugrunde liegende Miningstruktur verarbeitet werden. Das Miningmodell erhält die Daten aus dem Cache der Miningstruktur, wendet die Filter an, die ggf. für das Modell erstellt wurden, und übergibt dann das Dataset über den Algorithmus, um Muster zu ermitteln. Nachdem das Modell verarbeitet wurde, speichert das Modell nur die Ergebnisse der Verarbeitung, nicht die Daten selbst.

In der folgenden Abbildung ist jeweils der Datenfluss für die Verarbeitung einer Miningstruktur und für die Verarbeitung eines Miningmodells dargestellt.

Datenfluss für die Verarbeitung einer Miningstruktur und eines Miningmodells

Abfragen an den relationalen Datenspeicher während der Verarbeitung

Der Verarbeitungsprozess besteht aus drei Phasen: Abfragen der Quelldaten, Bestimmen der statistischen Rohdaten und Trainieren des Miningmodells mit der Modelldefinition und dem Modellalgorithmus.

Der Analysis Services-Server gibt Abfragen an die Datenbank aus, die die Rohdaten bereitstellt. Bei dieser Datenbank kann es sich um eine Instanz von SQL Server 2008 oder einer früheren Version des SQL Server-Datenbankmoduls handeln. Beim Verarbeiten einer Data Mining-Struktur werden die Daten der Quelle an die Miningstruktur übertragen und in einem neuen komprimierten Format auf Datenträger gespeichert. Es werden nicht alle Spalten der Datenquelle verarbeitet: Es werden nur die Spalten verarbeitet, die gemäß der Definition durch die Bindungen in der Miningstruktur enthalten sind.

Mit den Rohdaten baut Analysis Services einen Index aller Daten und diskretisierten Spalten auf und erstellt einen separaten Index für fortlaufende Spalten. Für jede geschachtelte Tabelle wird zum Erstellen des Index eine Abfrage ausgegeben. Eine weitere Abfrage wird für jede geschachtelte Tabelle generiert, um die Beziehungen zwischen den einzelnen Paaren von geschachtelter Tabelle und Falltabelle zu verarbeiten. Der Grund dafür, dass mehrere Abfragen erstellt werden, besteht in der Verarbeitung eines speziellen internen OLAP (Online Analytical Processing)-Cubes. Sie können die Anzahl der Abfragen, die von Analysis Services an den relationalen Speicher gesendet werden, beschränken, indem Sie die Servereigenschaft DatabaseConnectionPoolMax festlegen.

Beim Verarbeiten des Modells liest das Modell die Daten nicht erneut von der Datenquelle, sondern ruft stattdessen die Zusammenfassung der Daten aus der Miningstruktur ab. Mit dem erstellten Cube und den zwischengespeicherten Index- und Falldaten erstellt der Server unabhängige Threads zum Trainieren der Modelle.

In SQL Server Enterprise erfolgt die Verarbeitung ausschließlich parallel. In SQL Server Standard wird die Verarbeitung serialisiert.

Anzeigen der Ergebnisse der Verarbeitung

Nachdem eine Miningstruktur verarbeitet wurde, enthält sie eine kurze Darstellung der Daten zur Verwendung in statistischen Analysen. Wenn der Cache nicht gelöscht wurde, können Sie wie folgt auf die Daten im Cache zugreifen:

  • Sie können eine DMX-Abfrage (Data Mining Extensions, Data Mining-Erweiterungen) für das Modell erstellen und einen Drillthrough zur Struktur ausführen.
  • Sie können ein Modell basierend auf der Struktur durchsuchen und eine Option der Benutzeroberfläche verwenden, um einen Drillthrough zu den Strukturfällen auszuführen.
  • Erstellen Sie eine DMX-Abfrage für die Strukturfälle.

Nachdem ein Miningmodell verarbeitet wurde, enthält es nur die Muster, die bei der Analyse ermittelt wurden, sowie die Zuordnungen von den Modellergebnissen zu den im Cache zwischengespeicherten Trainingsdaten. Sie können die Modellergebnisse, die auch als Modellinhalt bezeichnet werden, durchsuchen oder abfragen, oder Sie können die Modell- und Strukturfälle abfragen, wenn diese zwischengespeichert wurden.

Der Modellinhalt eines Miningmodells hängt von dem Algorithmus ab, der für die Erstellung verwendet wurde. Wenn ein Modell beispielsweise ein Clusteringmodell ist und ein anderes Modell ein Entscheidungsstrukturmodell, unterscheidet sich der Modellinhalt stark, obwohl die beiden Modelle dieselben Daten verwenden.