AMO-Konzepte und -Objektmodell

Gilt für: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium

In diesem Artikel werden Analysis Management Objects (AMO), die Beziehung von AMO zu anderen Tools und Bibliotheken beschrieben, die in der Architektur von Analysis Services bereitgestellt werden, sowie eine konzeptionelle Erklärung aller wichtigen Objekte in AMO.

AMO ist eine vollständige Sammlung von Verwaltungsklassen, die unter dem Namespace von Microsoft.AnalysisServicesprogrammgesteuert in einer verwalteten Umgebung verwendet werden können. Die Klassen sind in der datei AnalysisServices.dll enthalten, die sich normalerweise befindet, wo setup die Dateien installiert, unter dem Ordner \100\SDK\Assemblies\. Um die AMO-Klassen zu verwenden, schließen Sie einen Verweis auf diese Assembly in die Projekte ein.

Mithilfe von AMO können Sie Objekte wie Cubes, Dimensionen, Miningstrukturen und Datenbanken erstellen, ändern und löschen. Über all diese Objekte können Aktionen von Ihrer Anwendung aus im .NET Framework ausgeführt werden. Sie können auch die in Datenbanken gespeicherten Informationen verarbeiten und aktualisieren.

AMO in der Analysis Services-Architektur

Programmbedingt ist AMO nur für die Objektverwaltung bestimmt und nicht zum Abfragen von Daten. Wenn der Benutzer Daten von einer Clientanwendung abfragen muss, sollte die Clientanwendung ADOMD.NET verwenden.

AMO-Architektur

AMO ist eine vollständige Bibliothek von Klassen, die entwickelt wurden, um eine Analysis Services-instance aus einer Clientanwendung in verwaltetem Code unter der .NET Framework Version 2.0 und höher zu verwalten.

Die AMO-Bibliothek der Klassen wurde als Hierarchie von Klassen entwickelt, wobei bestimmte Klassen vor anderen instanziiert werden müssen, damit Sie sie in Ihrem Code verwenden können. Es gibt auch Erweiterungsklassen, die jederzeit in Ihrem Code instanziiert werden können. Bevor Sie eine Erweiterungsklasse verwenden, werden Sie jedoch wahrscheinlich mindestens eine Hierarchieklasse instanziieren.

Die folgende Abbildung ist eine Ansicht der AMO-Hierarchie auf hoher Ebene, die die Hauptklassen enthält. Die Abbildung zeigt die Platzierung der Klassen unter ihren Containern und ihren Peers an. Ein Dimension gehört zu einem Database und einem Serverund kann gleichzeitig mit einem DataSource und MiningStructureerstellt werden. Bestimmte Peerklassen müssen instanziiert werden, bevor Sie andere verwenden können. Sie müssen beispielsweise eine instance von DataSource erstellen, bevor Sie einen neuen Dimension oder MiningStructurehinzufügen.

Anzeige von AMO-Klassen auf oberster Ebene

Ein Hauptobjekt ist eine Klasse, die ein vollständiges Objekt als ganze Entität und nicht als Teil eines anderen Objekts darstellt. Zu den hauptobjekten gehören Server, Cube, Dimensionund MiningStructure, da es sich um eigene Entitäten handelt. Ein Level ist jedoch kein Hauptobjekt, da es ein bestandteil eines Dimensionist. Hauptobjekte können von anderen Objekten unabhängig erstellt, gelöscht, modifiziert oder verarbeitet werden. Nebenobjekte sind Objekte, die nur im Rahmen der Erstellung des übergeordneten Hauptobjekts erstellt werden können. Nebenobjekte werden in der Regel im Anschluss an eine Hauptobjekterstellung erstellt. Die Werte für Nebenobjekte sollten zum Zeitpunkt der Erstellung definiert werden, da es keinen standardmäßigen Erstellungsprozess für Nebenobjekte gibt.

Die folgende Abbildung zeigt die wichtigsten Objekte, die ein Server -Objekt enthält.

Hervorgehobene AMO-Hauptobjekte

Hervorgehobene AMO-Hauptobjekte (2)

Beim Programmieren mit AMO verwendet die Zuordnung zwischen Klassen und enthaltenen Klassen Auflistungstypattribute, z. B Server . und Dimension. Zum Verwenden einer Instanz einer enthaltenen Klasse müssen Sie zunächst einen Verweis auf ein Auflistungsobjekt erhalten, das die enthaltene Klasse enthält oder enthalten kann. Anschließend müssen Sie das spezifische Objekt in der Auflistung suchen und dann einen Verweis auf das Objekt abrufen, damit Sie damit arbeiten können.

AMO-Klassen

AMO ist eine Bibliothek von Klassen, die zum Verwalten eines instance von Analysis Services über eine Clientanwendung entwickelt wurden. Die AMO-Bibliothek ist eine Gruppe logisch verbundener Objekte, die verwendet werden, um eine spezifische Aufgabe auszuführen. AMO-Klassen können auf folgende Weise kategorisiert werden:

Klassensatz Zweck
Grundlegende AMO-Klassen Klassen, die erforderlich sind, um einen beliebigen anderen Satz von Klassen verwenden zu können.
AMO-OLAP-Klassen Klassen, mit denen Sie die OLAP-Objekte verwalten können.
AMO-Klassen für Data Mining Klassen, mit denen Sie die Data Mining-Objekte verwalten können.
AMO-Sicherheitsklassen Klassen, mit denen Sie den Zugriff auf andere Objekte steuern und die Sicherheit aufrechterhalten können.
Andere AMO-Klassen und Methoden Klassen und Methoden, die OLAP- oder Data Mining-Administratoren helfen, ihre täglichen Aufgaben auszuführen.

Verwenden von AMO

AMO ist insbesondere für die Automatisierung wiederkehrender Tasks hilfreich, beispielsweise für das Erstellen neuer Partitionen in einer Measuregruppe basierend auf neuen Daten in der Faktentabelle oder für das erneute Trainieren eines Miningmodells basierend auf neuen Daten. Diese Tasks, die neue Objekte erstellen, werden in der Regel monatlich, wöchentlich oder vierteljährlich ausgeführt. Die neuen Objekte können problemlos, basierend auf den neuen Daten, von der Anwendung benannt werden.

Analysis Services-Administratoren

Administratoren können AMO verwenden, um die Verarbeitung von Datenbanken zu automatisieren. Verwenden Sie Visual Studio, um Datenbanken zu entwerfen und bereitzustellen.

Entwickler

Entwickler können AMO verwenden, um Administratorschnittstellen für angegebene Sätze von Benutzern zu entwickeln. Diese Schnittstellen können den Zugriff auf Objekte einschränken und Benutzer auf bestimmte Aufgaben beschränken. Mit AMO können Sie beispielsweise eine Sicherungsanwendung erstellen, die es einem Benutzer ermöglicht, alle Datenbankobjekte anzuzeigen, eine der Datenbanken auszuwählen und sie auf einem der angegebenen Geräte zu sichern.

Entwickler können logik auch in ihre Anwendungen einbetten. Hierzu können die Entwickler basierend auf Benutzereingaben oder anderen Faktoren Cubes, Dimensionen, Miningstrukturen und Miningmodelle erstellen.

Fortgeschrittene OLAP-Benutzer

Bei fortgeschrittenen OLAP-Benutzern handelt es sich für gewöhnlich um Datenanalysten oder andere erfahrene Datenbenutzer, die über fundierte Programmierkenntnisse verfügen und ihre Datenanalyse durch eine verstärkte Verwendung von Datenobjekten verbessern möchten. Für Benutzer, die offline arbeiten müssen, kann AMO bei der Automatisierung des Erstellungsprozesses lokaler Cubes vor der Trennung vom Netzwerk sehr hilfreich sein.

Fortgeschrittene Data Mining-Benutzer

Für fortgeschrittene Data Mining-Benutzer ist AMO besonders hilfreich, wenn große Modellmengen in regelmäßigen Abständen neu trainiert werden müssen.

Automatisieren von Verwaltungsaufgaben mit AMO

Die meisten sich wiederholenden Aufgaben werden am besten entworfen, bereitgestellt und verwaltet, wenn sie mithilfe von Integration Services entwickelt werden, als wenn sie als Anwendung in einer beliebigen Sprache Ihrer Wahl entwickelt werden. Für sich wiederholende Aufgaben, die nicht mithilfe von Integration Services automatisiert werden können, können Sie jedoch AMO verwenden.

Automatische Objektverwaltung

Mit AMO ist es einfach, Objekte (z. BDatabase. , , DimensionCubeMining MiningStructureund MiningModel, oder Role) basierend auf Benutzereingaben oder neu erfassten Daten zu erstellen, zu aktualisieren oder zu löschen. AMO eignet sich optimal für Setupanwendungen, die eine entwickelte Lösung eines unabhängigen Softwareanbieters für einen Endkunden bereitstellen müssen. Die Setupanwendung kann verifizieren, dass eine ältere Version vorhanden ist. Darüber hinaus kann sie die Struktur aktualisieren, nicht länger benötigte Objekt entfernen und neue Objekt erstellen. Wenn es keine frühere Version gibt, kann alles neu erstellt werden.

AMO kann beim Erstellen neuer Partitionen basierend auf neuen Daten leistungsfähig sein und alte Partitionen entfernen, die den Rahmen des Projekts überschritten haben. Beispielsweise kann bei einer Lösung für Finanzanalysen, die mit den Daten der vergangenen 36 Monate arbeitet, der 37. Monat entfernt werden, sobald Daten für einen neuen Monat empfangen werden. Um die Leistung zu verbessern, können neue Aggregationen basierend auf der Verwendung erstellt und auf die letzten 12 Monate angewendet werden.

Automatische Objektverarbeitung

Objektverarbeitung und aktualisierte Verfügbarkeit können mithilfe von AMO erreicht werden, um auf bestimmte Ereignisse zu reagieren, die über die normalen Datenflussdaten und geplante Aufgaben hinausgehen, die Integration Services verwenden.

Automatische Sicherheitsverwaltung

Die Sicherheitsverwaltung kann für das Einbeziehen neuer Benutzer für Rollen und Berechtigungen oder für das Entfernen anderer Benutzer nach Überschreitung des angegebenen Zeitraums automatisiert werden. Neue Schnittstellen können erstellt werden, um die Sicherheitsverwaltung für Sicherheitsadministratoren zu vereinfachen. Dies kann einfacher sein als die Verwendung von Visual Studio.

Automatische Sicherungsverwaltung

Die automatische Sicherungsverwaltung kann mithilfe von Integration Services-Aufgaben oder durch Erstellen von speziellen AMO-Anwendungen erfolgen, die automatisch ausgeführt werden. Mit AMO können Sie Sicherungsschnittstellen für Operatoren entwickeln, die ihnen bei ihren täglichen Aufgaben helfen.

Aufgaben-AMO ist nicht zum Abfragen von Daten vorgesehen.

AMO kann nicht verwendet werden, um die Daten abzufragen. Verwenden Sie zum Abfragen von Daten, einschließlich Cubes und Miningmodellen, ADOMD.NET aus einer Benutzeranwendung. Weitere Informationen finden Sie unter Entwickeln mit ADOMD.NET.