Übersicht über die Service Manager-OLAP-Cubes für die erweiterte Analyse

Wichtig

Diese Version von Service Manager das Ende des Support erreicht hat. Es wird empfohlen, dass Sie ein Upgrade auf Service Manager 2019 durchführen.

In Service Manager können Daten, die im Data Warehouse vorhanden sind, aus verschiedenen Quellen konsolidiert werden. Sie wird über Service Manager mithilfe vordefinierter und angepasster OLAP-Datencubes (Microsoft Online Analytical Processing) dargestellt. Kurz gesagt, erweiterte Analysen in Service Manager aus dem Veröffentlichen, Anzeigen und Bearbeiten von Cubedaten, in der Regel entweder in Microsoft Excel oder microsoft SharePoint. Excel wird hauptsächlich von sich selbst zum Anzeigen und Bearbeiten von Daten verwendet. SharePoint wird in erster Linie als Mittel zum Veröffentlichen und Freigeben von Cubedaten verwendet.

Service Manager enthält ein System Center-wide Data Warehouse. Daher können Daten aus Operations Manager, Konfigurations-Manager und Service Manager im Data Warehouse konsolidiert werden, wo Sie problemlos mehrere Datenansichten verwenden können, um beliebige Informationen zu erhalten. Dies ist zudem eine Oberfläche, mit deren Hilfe Sie Daten aus eigenen angepassten Quellen, wie SAP-Anwendungen oder HR-Anwendungen eines Drittanbieters, im selben Data Warehouse speichern können. Bei dieser Konsolidierung wird ein allgemeines Datenmodell erstellt und erweiterte Analysen werden ermöglicht, mit deren Hilfe Sie ein Data Warehouse in der IT-Organisation erstellen können, das Ihren Anforderungen an Business Intelligence und Berichterstellung gerecht wird.

Wenn sich Ihre Daten in einem allgemeinen Modell befinden, können Sie Informationen ändern und verfügen über allgemeine Definitionen und eine allgemeine Taxonomie für das gesamte Unternehmen. Hierzu stellen Sie OLAP-Datencubes bereit und greifen mithilfe von Standardtools wie Excel und SharePoint auf die Informationen aus den Cubes zu. Auf diese Weise können Ihre Benutzer Kenntnisse nutzen, über die sie bereits verfügen. Die Definition Ihrer Geschäftslogik legen Sie zentral fest. Sie können beispielsweise KPIs, wie die Schwellenwerte für die Zeit zur Problemlösung bei Incidents, festlegen und angeben, welche Werte für die Schwellenwerte grün, gelb oder rot sind. Sie können diese Optionen zentral festlegen und Ihren Benutzern die mühelose Nutzung dieser Daten ermöglichen, und dennoch dafür sorgen, dass die allgemeine Definition in den Excel-Berichten oder in den SharePoint-Dashboards angezeigt wird.

Informationen Service Manager OLAP-Cubes

OLAP-Cubes (Online Analytical Processing) sind ein Feature in Service Manager, das die vorhandene Data Warehouse-Infrastruktur verwendet, um Endbenutzern Self-Service-Business Intelligence-Funktionen zur Verfügung zu stellen.

Ein OLAP-Cube ist eine Datenstruktur, mit der die Beschränkungen relationaler Datenbanken durch die Bereitstellung schneller Datenanalysen überwunden werden. Mit Cubes können große Datenmengen angezeigt und summiert werden. Gleichzeitig wird Benutzern Suchzugriff auf beliebige Datenpunkte bereitgestellt. Auf diese Weise können die Daten nach Bedarf hoch- und segmentiert werden, um die verschiedensten Fragen zu verarbeiten, die für den relevanten Bereich eines Benutzers relevant sind.

Softwarehersteller oder IT-Entwickler mit kenntnissen OLAP-Cubes können Management Packs erstellen, um eigene erweiterbare und anpassbare OLAP-Cubes zu definieren, die auf der Data Warehouse-Infrastruktur aufgebaut sind. Diese Cubes werden in SQL Server Analysis Services (SSAS) gespeichert. Diese Cubes werden in SSAS von Self-Service Business Intelligence-Tools wie Excel und SQL Server Reporting Services (SSRS) als Ziel verwendet. Mithilfe dieser Cubes können Sie Daten aus mehreren Perspektiven analysieren.

Datenbanken, in denen alle Transaktionen und Datensätze eines Unternehmens gespeichert werden, werden als OLTP-Datenbanken (Online Transaction Processing) bezeichnet. Die Datensätze werden einzeln in diese Datenbanken eingegeben und dienen Strategen als Quelle für fundierte Unternehmensentscheidungen. Die zum Speichern der Daten verwendeten Datenbanken wurden jedoch nicht für die Analyse konzipiert. Daher ist das Abrufen von Antworten aus diesen Datenbanken sehr zeitintensiv und aufwändig. OLAP-Datenbanken wurden dagegen speziell zum Extrahieren dieser Business Intelligence-Informationen aus den Daten entwickelt.

OLAP-Cubes können als letztes Teil im Puzzle einer Data Warehousing-Lösung betrachtet werden. Ein OLAP-Cube (auch mehrdimensionaler Cube oder Hypercube genannt) ist eine mithilfe von OLAP-Datenbanken erstellte Datenstruktur in SQL Server Analysis Services (SSAS), mit der eine nahezu verzögerungsfreie Analyse von Daten ermöglicht wird. Die Topologie dieses Systems wird in der folgenden Abbildung dargestellt.

Diagram of the Service Manager 2016 DW

Ein OLAP-Cube ist so nützlich, weil die Daten im Cube in aggregierter Form enthalten sein können. Für den Benutzer scheint der Cube die Antworten im Voraus zu enthalten, da viele Werte vorausberechnet werden. Vom Cube können Antworten für eine Vielzahl von Fragen nahezu verzögerungsfrei zurückgegeben werden, ohne die OLAP-Quelldatenbank abfragen zu müssen.

Das Hauptziel von Service Manager OLAP-Cubes besteht in der Möglichkeit, Softwareanbietern oder IT-Entwicklern die Möglichkeit zu geben, nahezu sofortige Analysen von Daten sowohl für verlaufsbasierte Analysen als auch für Trendzwecke durchzuführen. Service Manager dies durch:

  • Sie können OLAP-Cubes in Management Packs definieren, die in SSAS beim Bereitstellen des Management Packs automatisch erstellt werden.
  • Der Cube wird ohne Benutzereingriff automatisch verwaltet. Dabei werden Aufgaben wie Verarbeitung, Partitionierung, Übersetzung und Lokalisierung sowie Schemaänderungen ausgeführt.
  • Benutzer können mit Self-Service Business Intelligence-Tools wie Excel die Daten aus mehreren Perspektiven analysieren.
  • Generierte Excel-Berichte können zur späteren Verwendung gespeichert werden.

Um zu sehen, wie Data Warehouse-Cubes in der Service Manager-Konsole dargestellt werden, navigieren Sie zum Data Warehouse-Arbeitsbereich, und klicken Sie dann auf Cubes.

Service Manager OLAP-Cubes

In der folgenden Abbildung ist SQL Server Business Intelligence Development Studio (BIDS) mit den für OLAP-Cubes (Online Analytical Processing) erforderlichen wesentlichen Komponenten dargestellt. Bei diesen Komponenten handelt es sich um Datenquelle, Datenquellensicht, Cubes und Dimensionen. In den folgenden Abschnitten werden die OLAP-Cubekomponenten sowie die Aktionen beschrieben, die Benutzer mit deren Hilfe ausführen können.

Image of cube architecture

Datenquellen-

Eine Datenquelle ist der Ursprung aller Daten, die in einem OLAP-Cube enthalten sind. Ein OLAP-Cube wird zum Lesen und Verarbeiten von Rohdaten mit einer Datenquelle verbunden, um Aggregationen und Berechnungen für die zugehörigen Measures auszuführen. Die Datenquelle für alle Service Manager OLAP-Cubes sind die Data Marts, die die Data Marts für Operations Manager und Konfigurations-Manager. Authentifizierungsinformationen zur Datenquelle müssen in SQL Server Analysis Services (SSAS) gespeichert werden, damit die richtige Berechtigungsebene eingerichtet werden kann.

Datenquellensicht

Die Datenquellensicht (Data Source View, DSV) ist eine Sammlung von Sichten, die die Dimensions-, Fakten- und Outriggertabellen aus der Datenquelle darstellen, z. B. Service Manager Data Marts. Die Datenquellensicht enthält alle Beziehungen zwischen Tabellen, z. B. Primär- und Fremdschlüssel. Mit der Datenquellensicht wird somit die Zuordnung der SSAS-Datenbank zum relationalen Schema angegeben. Zudem wird von der Datenquellensicht eine Abstraktionsebene über der relationalen Datenbank bereitgestellt. Mithilfe dieser Abstraktionsebene können Beziehungen zwischen Fakten- und Dimensionstabellen definiert werden, auch wenn innerhalb der relationalen Quelldatenbank keine Beziehungen vorhanden sind. Benannte Berechnungen, benutzerdefinierte Measures und neue Attribute können in der Datenquellensicht ebenso definiert werden, die im dimensionalen Schema des Data Warehouse ursprünglich nicht vorhanden ist. Beispielsweise berechnet eine benannte Berechnung, die einen booleschen Wert für Incidents Resolved definiert, den Wert als TRUE, wenn der Status eines Incidents aufgelöst oder geschlossen wird. Mithilfe der benannten Berechnung kann Service Manager dann ein Measure definieren, um nützliche Informationen anzuzeigen, z. B. den Prozentsatz der aufgelösten Incidents, die Gesamtzahl der aufgelösten Incidents und die Gesamtzahl der nicht gelösten Incidents.

Ein weiteres Beispiel für eine benannte Berechnung ist ReleasesImplementedOnSchedule. Diese benannte Berechnung bietet eine schnelle Integritätsprüfung für die Anzahl von Releasedatensätzen, bei denen das tatsächliche Enddatum kleiner gleich dem geplanten Enddatum ist.

OLAP-Cubes

Ein OLAP-Cube ist eine Datenstruktur, mit der die Beschränkungen relationaler Datenbanken durch die Bereitstellung schneller Datenanalysen überwunden werden. OLAP-Cubes können große Datenmengen anzeigen und summieren und gleichzeitig Benutzern durchsuchbaren Zugriff auf alle Datenpunkte ermöglichen, sodass die Daten nach Bedarf hoch- und segmentiert werden können, um die verschiedensten Fragen zu verarbeiten, die für den relevanten Bereich eines Benutzers relevant sind.

Dimensionen

Eine Dimension in SSAS verweist auf eine Dimension aus dem Service Manager Data Warehouse. In Service Manager entspricht eine Dimension in etwa einer Management Pack-Klasse. Jede Management Pack-Klasse verfügt über eine Liste mit Eigenschaften und jede Dimension eine Liste mit Attributen, wobei jedes Attribut einer Eigenschaft in einer Klasse zugeordnet ist. Mithilfe von Dimensionen können Daten gefiltert, gruppiert und bezeichnet werden. So können Sie beispielsweise Computer nach dem installierten Betriebssystem filtern und Personen nach Geschlecht oder Alter in Kategorien gruppieren. Anschließend können die Daten in einem Format dargestellt werden, in dem die Daten auf natürliche Weise in diesen Hierarchien und Kategorien kategorisiert werden, um gründlichere Analysen zu ermöglichen. Dimensionen können auch natürliche Hierarchien haben, damit Benutzer einen Drilldown zu detaillierteren Detailebenen machen können. So verfügt beispielsweise die Dimension „Date“ über eine Hierarchie, in der ein Drilldown nach Jahr, Quartal, Monat, Woche und Tag ausgeführt werden kann.

In der folgenden Abbildung ist ein OLAP-Cube dargestellt, der die Dimensionen „Date“, „Region“ und „Product“ enthält.

Diagram of cube dimensions

Microsoft-Teammitglieder wünschen sich beispielsweise eine schnelle und einfache Zusammenfassung der Umsätze der Xbox One Spielekonsole im Jahr 2016. Sie können einen Drilldown ausführen, um Verkaufszahlen für einen stärker eingeschränkten Zeitraum abzurufen. Business Analysts möchten möglicherweise untersuchen, wie sich die Einführung des neuen Konsolenentwurfs und des neuen Konsolenentwurfs auf Xbox One- und Konsolenkonsolen Kinect für Xbox One. Damit können Sie ermitteln, wie sich der Umsatz entwickelt und welche Änderungen der Geschäftsstrategie möglicherweise erforderlich sind. Durch Filtern der Dimension „Date“ können diese Informationen rasch bereitgestellt und genutzt werden. Diese mehrdimensionale Analyse (Slicing und Dicing) ist nur möglich, weil die Dimensionen mit Attributen und Daten erstellt wurden, die vom Kunden mühelos gefiltert und gruppiert werden können.

In Service Manager verwenden alle OLAP-Cubes einen gemeinsamen Satz von Dimensionen. Bei allen Dimensionen wird auch in Szenarien mit mehreren Data Marts der primäre Data Warehouse Data Mart als Quelle verwendet. In Szenarien mit mehreren Data Marts kann dies während der Verarbeitung des Cubes möglicherweise zu Dimensionsschlüsselfehlern führen.

Measuregruppe

Measuregruppen liegt dasselbe Konzept wie Fakten in der Data Warehouse-Terminologie zugrunde. So wie Fakten numerische Measures in einem Data Warehouse enthalten, enthält eine Measuregruppe Measures für einen OLAP-Cube. Alle Measures in einem OLAP-Cube, die von einer Faktentabelle in einer Datenquellensicht abgeleitet wurden, können auch als Measuregruppe betrachtet werden. Es kann jedoch vorkommen, dass mehrere Faktentabellen vorhanden sind, von denen die Measures in einem OLAP-Cube abgeleitet werden. Measures einer Detailebene werden in einer Measuregruppe zusammengefasst. Mit Measuregruppen wird definiert, welche Daten in das System geladen werden, wie die Daten geladen werden und wie die Daten an den mehrdimensionalen Cube gebunden werden.

Jede Measuregruppe enthält zudem eine Liste mit Partitionen, in denen die eigentlichen Daten in getrennten, einander nicht überschneidenden Abschnitten gespeichert sind. Measuregruppen enthalten zudem den Aggregationsentwurf, mit dem die zuvor zusammengefassten, für die einzelnen Measuregruppen berechneten Datensätze definiert werden, um die Leistung bei Benutzerabfragen zu verbessern.

Measures

Measures sind die numerischen Werte, die von Benutzern in Datenschnitte und Datenwürfel aufgeteilt, aggregiert und analysiert werden. Sie sind einer der Hauptgründe, warum OLAP-Cubes mithilfe der Data Warehouse-Infrastruktur erstellt werden. Mithilfe von SSAS können Sie OLAP-Cubes erstellen, mit denen Geschäftsregeln und Berechnungen zum Formatieren und Anzeigen von Measures in einem anpassbaren Format angewendet werden. Ein Großteil der Zeit für die Entwicklung von OLAP-Cubes wird dafür verwendet, zu bestimmten und zu definieren, welche Measures angezeigt und wie diese berechnet werden sollen.

Measures sind Werte, die in der Regel numerischen Spalten in einer Data Warehouse-Faktentabelle zugeordnet werden. Sie können jedoch auch für Dimensionsattribute und degenerierte Dimensionsattribute erstellt werden. Diese Measures sind die wichtigsten Werte eines OLAP-Cubes, die analysiert werden, und ihnen gilt das Hauptinteresse von Endbenutzern, die den OLAP-Cube durchsuchen. Ein Beispiel für ein Measure im Data Warehouse ist das Measure „ActivityTotalTimeMeasure“. „ActivityTotalTimeMeasure“ ist ein Measure aus „ActivityStatusDurationFact“, das die Uhrzeit darstellt, zu der sich die einzelnen Aktivitäten in einem bestimmten Status befinden. Die Detailebene eines Measures setzt sich aus allen Dimensionen zusammen, auf die verwiesen wird. Die Detailebene des Beziehungsfakts ComputerHostsOperatingSystem besteht beispielsweise auf den Dimensionen „Computer“ und „Operating System“.

Aggregationsfunktionen werden anhand von Measures berechnet, um eine weitere Datenanalyse zu ermöglichen. „Sum“ ist die am häufigsten verwendete Aggregationsfunktion. Mit einer häufig verwendeten OLAP-Cubeabfrage wird beispielsweise die Gesamtzeit für alle Aktivitäten mit dem Status In Progresssummiert. Andere häufig verwendete Aggregationsfunktionen sind „Min“, „Max“ und „Count“.

Nach der Verarbeitung der Rohdaten in einem OLAP-Cube können Benutzer mithilfe von mehrdimensionalen Ausdrücken (Multi-Dimensional eXpressions, MDX) komplexere Berechnungen und Abfragen ausführen, um eigene Measureausdrücke oder berechnete Elemente zu definieren. MDX ist der Industriestandard für die Abfrage und den Zugriff auf Daten, die in OLAP-Systemen gespeichert werden. SQL Server wurde nicht für die Verwendung des Datenmodells entwickelt, das von mehrdimensionalen Datenbanken unterstützt wird.

Drilldown

Wenn ein Benutzer einen Drilldown für die Daten in einem OLAP-Cube ausführt, analysiert der Benutzer die Daten auf einer anderen Zusammenfassungsebene. Die Detailebene der Daten ändert sich, wenn der Benutzer einen Drilldown ausführt und die Daten auf anderen Hierarchieebenen untersucht. Beim Ausführen eines Drilldowns gelangt der Benutzer von Zusammenfassungsinformationen zu Daten mit einem engeren Fokus. Im Folgenden finden Sie Beispiele für die Ausführung eines Drilldowns:

  • Drilldown für Daten zu demografischen Informationen zur Bevölkerung der Vereinigten Staaten, dann zum Staat Washington, dann zur Metropole Seattle, dann zur Stadt Redmond und schließlich zur Belegschaft von Microsoft.
  • Drill down into sales figures for Xbox One consoles for the 2015 calendar year, then the fourth quarter of the year, the month of December, the week before Soll, and finally Down The Month of the Year.

Drillthrough

Wenn Benutzer Drillthroughdaten durchführen, möchten sie alle einzelnen Transaktionen anzeigen, die zu den aggregierten Daten des OLAP-Cubes beigetragen haben. Das bedeutet, dass Benutzer die Daten für einen bestimmten Measurewert auf einer unteren Detailebene abrufen können. Wenn Sie beispielsweise die Verkaufsdaten für einen bestimmten Monat und eine bestimmte Produktkategorie erhalten, können Sie für diese Daten einen Drillthrough ausführen, um eine Liste der einzelnen Tabellenzeilen anzuzeigen, die in dieser Datenzelle vorhanden ist.

Es ist üblich, die Begriffe "Drilldown" und "Drillthrough" miteinander zu verwechseln. Der Hauptunterschied zwischen ihnen ist, dass ein Drilldown auf einer vordefinierten Datenhierarchie funktioniert, z. B. USA, dann nach Washington und dann nach Seattle innerhalb des OLAP-Cubes. Bei einem Drillthrough wird von der untersten Datendetailebene ein Zeilensatz aus der Datenquelle abgerufen, die in eine Zelle aggregiert wurde.

Key Performance Indicator

Organisationen können mithilfe von KPIs (Key Performance Indicators) den Status ihres Unternehmens sowie ihre Leistung durch Messen des Fortschritts an einem Ziel rasch einschätzen. KPIs sind Geschäftsmetriken, die definiert werden können, um den Fortschritt anhand von vordefinierten Zielen zu überwachen. Ein KPI weist in der Regel einen Zielwert und einen Istwert auf, der das quantitative Ziel darstellt, das für den Erfolg der Organisation wichtig ist. KPIs werden zur Darstellung des Gesamtstatus eines Unternehmens mit einem Schnappschuss in Gruppen auf einer Bewertungsliste angezeigt.

Ein Beispiel für einen KPI ist die Ausführung aller Change Requests innerhalb von 48 Stunden. Mithilfe eines KPI kann die Anzahl von Change Requests, die innerhalb dieses Zeitrahmens aufgelöst werden, in Prozent gemessen werden. Zur visuellen Darstellung von KPIs können Dashboards erstellt werden. So können Sie beispielsweise für die Ausführung aller Change Requests innerhalb von 48 Stunden einen KPI-Zielwert von 75 Prozent festlegen.

Partitionen

Bei einer Partition handelt es sich um eine Datenstruktur zum Speichern einiger oder aller Daten in einer Measuregruppe. Jede Measuregruppe ist in Partitionen unterteilt. Mit einer Partition wird eine Teilmenge der Faktdaten definiert, die in die Measuregruppe geladen wird. Bei SSAS Standard Edition ist nur eine Partition pro Measuregruppe möglich. Bei SSAS Enterprise Edition kann eine Measuregruppe dagegen mehrere Partitionen enthalten. Partitionen sind für den Endbenutzer vollkommen transparent, haben jedoch erhebliche Auswirkungen auf Leistungsfähigkeit und Skalierbarkeit von OLAP-Cubes. Alle Partitionen für eine Measuregruppe sind immer in der gleichen physischen Datenbank vorhanden.

Partitionen ermöglichen es einem Administrator, einen OLAP-Cube besser zu verwalten und die Leistung eines OLAP-Cubes zu verbessern. Sie können die Daten in einer Partition einer Measuregruppe entfernen oder erneut verarbeiten, ohne dass sich dies auf den Rest der Measuregruppe auswirkt. Wenn Sie neue Daten in eine Faktentabelle laden, sind nur die Partitionen, die die neuen Daten enthalten sollen, betroffen.

Die Partitionierung verbessert auch die Verarbeitungs- und Abfrageleistung für OLAP-Cubes. Von SSAS können mehrere Partitionen gleichzeitig verarbeitet werden, was zu einer wesentlich effizienteren Nutzung von CPU und Speicherressourcen auf dem Server führt. Während SSAS eine Abfrage ausführt, kann das Programm auch Daten aus mehreren Partitionen abrufen, verarbeiten und zusammenführen. Es werden nur Partitionen durchsucht, die für die Abfrage relevante Daten enthalten. Dadurch verringert sich die Gesamtmenge an Ein- und Ausgaben.

Ein Beispiel für eine Partitionierungsstrategie besteht darin, die Faktendaten für jeden einzelnen Monat in einer eigenen Partition zu speichern. Am Ende jedes Monats werden alle neuen Daten in einer neuen Partition gespeichert, wodurch eine natürliche Datenverteilung ohne überlappende Werte erreicht wird.

Aggregationen

Aggregationen in einem OLAP-Cube sind vorab zusammengefasste Datasets, analog zu einer SQL SELECT-Anweisung mit einer GROUP BY-Klausel. In SSAS können diese Aggregationen bei der Beantwortung von Abfragen verwendet werden, um die Menge unnötiger Berechnungen zu reduzieren. So können die Antworten schneller an den Benutzer zurückgegeben werden. Integrierte Aggregationen im OLAP-Cube verringern die von SSAS zum Zeitpunkt der Abfrage auszuführende Aggregationsmenge. Durch Erstellen der korrekten Aggregationen lässt sich die Abfrageleistung stark verbessern. Dies ist häufig ein Prozess, der sich im Laufe der Lebensdauer des OLAP-Cubes entwickelt, während sich Abfragen und Verwendung ändern.

Normalerweise wird ein Basissatz von Aggregationen erstellt, der für die meisten Abfragen des OLAP-Cubes verwendet werden kann. Aggregationen werden für jede Partition eines OLAP-Cubes innerhalb einer Measuregruppe angelegt. Bei der Erstellung einer Aggregation werden bestimmte Attribute der Dimensionen zum vorab zusammengefassten Dataset hinzugefügt. Benutzer können die Daten beim Durchsuchen des OLAP-Cubes basierend auf diesen Aggregationen schnell abfragen. Aggregationen müssen mit Sorgfalt entworfen werden, weil es so viele mögliche Aggregationen gibt, dass die Erstellung aller Aggregationen eine unverhältnismäßig große Menge an Zeit und Speicherplatz in Anspruch nehmen würde.

Service Manager verwendet beim Erstellen und Entwerfen von Aggregationen in Service Manager OLAP-Cubes die folgenden beiden Optionen:

  • Leistungsgewinn erreicht
  • Verwendungsbasierte Optimierung

Mit der Option Leistungsgewinn erreicht wird definiert, welcher Prozentsatz an Aggregationen erstellt wird. Wenn Sie diese Option z. B. auf den standardmäßigen und empfohlenen Wert von 30 Prozent festlegen, werden die Aggregationen mit dem Ziel angelegt, einen 30-prozentigen geschätzten Leistungsgewinn für den OLAP-Cube zu erreichen. Das bedeutet jedoch nicht, dass 30 Prozent der möglichen Aggregationen angelegt werden.

Mithilfe der Option Verwendungsbasierte Optimierung kann in SSAS die Protokollierung der Anforderungen nach Daten erfolgen, sodass die Informationen beim Ausführen einer Abfrage in den Aggregationsentwicklungsvorgang einfließen. Von SSAS wird eine Überprüfung der Daten vorgenommen und empfohlen, welche Aggregationen angelegt werden sollten, um einen bestmögliche Leistungsgewinn zu erreichen.

Service Manager Cubepartitionierung

Jede Measuregruppe in einem Cube ist in Partitionen unterteilt, wobei eine Partition einen Teil der Faktendaten definiert, die in eine Measuregruppe geladen werden. SQL Server Analysis Services (SSAS) in SQL Server Standard Edition lässt nur eine Partition pro Measuregruppe zu, während mehrere Partitionen in der Enterprise Edition. Partitionen sind für den Endbenutzer vollkommen transparent, haben jedoch erhebliche Auswirkungen auf Leistungsfähigkeit und Skalierbarkeit. So können Partitionen beispielsweise separat oder parallel verarbeitet werden. Sie können unterschiedliche Aggregationsentwürfe haben. Partitionen können ohne Auswirkungen auf die anderen Partitionen in einer Measuregruppe erneut verarbeitet werden. Zudem werden von SSAS nur die Partitionen automatisch überprüft, die die für eine Abfrage erforderlichen Daten enthalten. Dadurch wird die Abfrageleistung erheblich verbessert.

Die Cubepartitionierung wird zusammen mit jedem Data Warehouse-Wartungsauftrag ausgeführt. Standardmäßig geschieht dies stündlich. Hierbei wird das spezielle Prozessmodul „ManageCubePartitions“ ausgeführt. Die Ausführung erfolgt stets nach dem Schritt „CreateMartPartitions“. Diese Abhängigkeitsdaten werden in der Tabelle „infra.moduletriggercondition“ gespeichert.

Die für die Partitionierung verantwortliche Haupt-DLL (Dynamic Link Library) befindet sich in der DLL des Warehouse-Dienstprogramms „Microsoft.EnterpriseManagement.Warehouse.Utility“ in der Klasse „PartitionUtil“. Die Klasse enthält eine Methode vom Typ „ManagePartitions()“, die für die gesamte Partitionswartung verantwortlich ist. Die DLL „Microsoft.EnterpriseManagement.Warehouse.Maintenance“ für die Data Warehouse-Wartung und die Data Warehouse OLAP-DLL (Online Analytical Processing) „Microsoft.EnterpriseManagement.Warehouse.Olap“ rufen „Microsoft.EnterpriseManagement.Warehouse.Utility“ auf, um während der Wartung und der Cubebereitstellung Partitionen zu verarbeiten. Daher findet die eigentliche Partitionsverarbeitung in der allgemeinen Warehouse-Dienstprogramm-DLL statt, um doppelte Logiken oder doppelten Code zu vermeiden.

Bei der Wartung der Cubepartitionierung werden folgende Tasks ausgeführt:

  • Erstellen von Partitionen
  • Löschen von Partitionen
  • Aktualisieren von Partitionsgrenzen

Hierzu wird die SQL-Tabelle (Structured Query Language) „etl.TablePartition“ gelesen, um alle Faktenpartitionen zu ermitteln, die für eine Measuregruppe erstellt wurden. Die folgenden Aktionen werden ausgeführt:

  1. Für jede Measuregruppe im Cube wird eine Cubeverarbeitung gestartet.
  2. Alle Partitionen werden für die Measuregruppe aus der Tabelle „etl.TablePartition“ abgerufen.
  3. Partitionen, die in der Measuregruppe vorhanden sind, jedoch in der Tabelle „etl.TablePartition“ fehlen, werden gelöscht.
  4. Neue Partitionen, die erstellt wurden und nur in der Tabelle „etl.TablePartition“ vorhanden sind, werden hinzugefügt.
  5. Partitionen, die durch Anpassen der einzelnen Partitionen an das „RangeStartDate“ und das „RangeEndDate“ in der Tabelle „etl.TablePartition“ geändert wurden, werden aktualisiert.

Beachten Sie bei der Cubeverarbeitung Folgendes:

  • Nur Measuregruppen, die auf Fakten ausgerichtet sind, enthalten mehrere Partitionen in SQL Server Standard Edition. Alle Measuregruppen und Dimensionen enthalten standardmäßig nur eine Partition. Aus diesem Grund darf die Partition keine Grenzbedingungen aufweisen.
  • Die Partitionsgrenzen werden durch eine auf Datenschlüsseln basierende Abfragebindung definiert. Diese Datenschlüssel entsprechen den Datenschlüsseln für die zugehörige Faktenpartition in der Tabelle „etl.TablePartition“.

Service Manager OLAP-Cubebereitstellung

Bei der Bereitstellung von OLAP-Cubes (Online Analytical Processing) wird die Service Manager-Bereitstellungsinfrastruktur verwendet, um OLAP-Cubes in der SSAS-Datenbank (SQL Server Analysis Services) zu erstellen.

Ein bereitstellbares Element gibt einen Bereitsteller mit einer Sammlung von Ressourcen zurück, die serialisiert und zum Erstellen des OLAP-Cubes in der SSAS-Datenbank verwendet werden. Bei OLAP-Cubes lautet der Name des bereitstellbaren Objekts „CubeDeployable“ für das Element „SystemCenterCube“ und „CubeExtensionDeployable“ für das Element „CubeExtension“. Der Bereitsteller für beide Elemente lautet „CubeDeployer“.

Die Tabelle „dbo.Selector“ in der Datenbank „DWStagingAndConfig“ enthält einen Eintrag für die Management Pack-Elemente „SystemCenterCube“ und „CubeExtension“. Von der Bereitstellungs-Engine werden diese Metadaten verwendet, wenn für ein Management Pack-Element beim Importieren des Management Packs mithilfe des MPSync-Auftrags in das Data Warehouse eine zusätzliche Bereitstellungsverarbeitung erforderlich ist.

Bei Bereitstellungen wird die AMO-API (Analysis Management Objects, Application Programming Interface) verwendet, um alle Cubekomponenten in der SSAS-Datenbank zu erstellen und zu ändern. AMO im getrennten Modus werden verwendet, da das Element „CubeDeployable“ nicht mit der SSAS-Datenbank verbunden ist. Wenn AMO im getrennten Modus verwendet werden, ist es möglich, die gesamte AMO-Objektstruktur zu erstellen, ohne eine Verbindung mit dem Server herzustellen. Service Manager serialisiert dann die Hierarchie von Objekten als Streamressourcen und fügt sie an das Deployer-Objekt an, das an die Bereitstellungsinfrastruktur zurückübergabet wird. Das Bereitstellerobjekt wird deserialisiert, stellt eine Verbindung mit der SSAS-Datenbank her und erstellt die Objekte durch Senden der entsprechenden Anforderungen an den Server.

Nur Hauptobjekte können serialisiert werden. In AMO gelten Klassen, die ein vollständiges Objekt als vollständige Entität und nicht als Teil eines anderen Objekts darstellen, als Hauptobjekte. Zu den Hauptobjekten zählen beispielsweise „Server“, „Cube“ und „Dimension“. Hierbei handelt es sich jeweils um eigenständige Entitäten. Das Objekt „DimensionAttribute“ ist dagegen kein Hauptobjekt, da es nur als Teil eines übergeordneten Hauptobjekts von „Dimension“ erstellt werden kann. „DimensionAttribute“ ist somit ein Nebenobjekt. Beim OLAP-Cubeentwurf liegt der Fokus auf dem Erstellen aller für Cubes erforderlichen Hauptobjekte zusammen mit allen abhängigen Nebenobjekten. Diese Hauptobjekte sind die Objekte, die serialisiert und schließlich deserialisiert werden, bevor die Objekte in der SSAS-Datenbank erstellt werden.

Ressourcen, die Hauptobjekte umschließen, müssen in einer bestimmten Reihenfolge erstellt werden, damit die Bereitstellung erfolgreich ausgeführt werden kann und die Abhängigkeitsanforderungen der OLAP-Cubeelemente erfüllt werden. In den folgenden beiden Listen ist die Bereitstellungsreihenfolge für die Elemente „SystemCenterCube“ und „CubeExtension“ dargestellt:

  1. Elemente vom Typ „DataSourceView“
  2. Elemente vom Typ „Dimension“
  3. Element vom Typ „DateDimension“
  4. Element vom Typ „Cube“
  5. Elemente vom Typ „DataSourceView“
  6. Element vom Typ „Cube“

Service Manager OLAP-Cubeverarbeitung

Wenn ein OLAP-Cube (Online Analytical Processing) bereitgestellt wurde und alle zugehörigen Partitionen erstellt wurden, kann der OLAP-Cube verarbeitet werden, damit er angezeigt werden kann. Die Verarbeitung eines Cubes ist der letzte Schritt nach der ETL-Ausführung. Diese Schritte werden wie folgt ausgeführt:

  1. Extrahieren: Extrahieren von Daten aus dem Quellsystem
  2. Transformieren: Anwenden von Funktionen, damit Daten einem dimensionalen Standardschema entsprechen
  3. Laden: Laden der Daten in den Data Mart zur Verwendung
  4. Verfahren: Laden der Daten aus dem Data Mart in den OLAP-Cube zum Durchsuchen

Ein OLAP-Cube wird verarbeitet, wenn alle Aggregationen für den Cube berechnet wurden und der Cube mit diesen Aggregationen und Daten geladen wurde. Dimensions- und Faktentabellen werden gelesen, und die Daten werden berechnet und in den Cube geladen. Beim Entwurf eines OLAP-Cubes muss die Verarbeitung aufgrund der möglicherweise erheblichen Auswirkungen in einer Produktionsumgebung, in der Millionen Datensätze vorhanden sein können, sorgfältig geplant werden. Ein vollständiger Prozess aller Partitionen in einer solchen Umgebung kann zwischen Tagen und sogar Wochen dauern, was dazu führen kann, dass die Service Manager Infrastruktur und Cubes für Endbenutzer nicht mehr verwendet werden können. Es wird daher empfohlen, den Verarbeitungszeitplan für nicht verwendete Cubes zu deaktivieren, um die Belastung des Systems zu reduzieren.

Die Verarbeitung von OLAP-Cubes besteht aus zwei getrennten Aufgaben:

  1. Dimensionsverarbeitung
  2. Partitionsverarbeitung

Jeder OLAP-Cube verfügt über einen entsprechenden Verarbeitungsauftrag in der Service Manager-Konsole und wird nach einem vom Benutzer konfigurierbaren Zeitplan ausgeführt. Die einzelnen Verarbeitungsaufgaben werden in den folgenden Abschnitten beschrieben.

Dimensionsverarbeitung

Immer wenn der SSAS-Datenbank (SQL Server Analysis Server) eine neue Dimension hinzugefügt wird, muss für die Dimension eine vollständige Verarbeitung ausgeführt werden, um sie in einen vollständig verarbeiteten Status zu versetzen. Nachdem eine Dimension verarbeitet wurde, gibt es jedoch keine Garantie, dass sie nicht erneut verarbeitet wird, wenn ein anderer Cube verarbeitet wird, der diese Dimension als Ziel verwendet. Wenn die Dimension nicht automatisch erneut verarbeitet wird, verhindert Service Manager, dass jede Dimension für jeden Cube erneut verarbeitet wird. Das ist vor allem dann wichtig, wenn die Dimension kürzlich verarbeitet wurde, da es unwahrscheinlich ist, dass neue Daten vorhanden sind, die noch nicht verarbeitet wurden. Zur Optimierung der Verarbeitungseffizienz gibt es eine Singleton-Klasse, die im Management Pack „Microsoft.SystemCenter.Datawarehouse.OLAP.Base“ definiert wurde und den Namen „Microsoft.SystemCenter.Warehouse.Dimension.ProcessingInterval“ aufweist. Im Folgenden ist ein Beispiel für diese Klasse dargestellt:

<!-- This singleton class defines the minimum interval of time in minutes that must elapse before a shared dimension is reprocessed. -->   
<ClassType ID="Microsoft.SystemCenter.Warehouse.Dimension.ProcessingInterval" Accessibility="Public" Abstract="false" Base="AdminItem!System.AdminItem" Singleton="true">  
<Property ID="IntervalInMinutes" Type="int" Required="true" DefaultValue="60"/>  
</ClassType>  

Diese Singleton-Klasse enthält die Eigenschaft IntervalInMinutes, mit der beschrieben wird, wie häufig eine Dimension verarbeitet werden soll. Diese Eigenschaft ist standardmäßig auf 60 Minuten festgelegt. Wenn eine Dimension beispielsweise um 15:05 Uhr und ein anderer Cube, der diese Dimension als Ziel verwendet, um 13:45 Uhr verarbeitet wird, wird die Dimension nicht erneut verarbeitet. Ein Nachteil dieses Ansatzes ist die erhöhte Wahrscheinlichkeit von Dimensionsschlüsselfehlern. Dimensionsschlüsselfehler werden mit einem Wiederholungsmechanismus gehandhabt, um die Dimension und dann die Cubepartition erneut zu verarbeiten. Weitere Informationen zu Verarbeitungsfehlern finden Sie im Abschnitt "Häufige Probleme mit dem Debuggen und der Problembehandlung".

Nach der vollständigen Verarbeitung einer Dimension wird die inkrementelle Verarbeitung mit ProcessUpdate ausgeführt. Der einzige andere Fall, in dem ProcessFull ausgeführt wird, ist der Fall, in dem ein Dimensionsschema geändert wird, da dies zur Folge hat, dass die Dimension in einen nicht verarbeiteten Status versetzt wird. Wenn ProcessFull für eine Dimension ausgeführt wird, befinden sich alle betroffenen Cubes und die zugehörigen Partitionen anschließend in einem nicht verarbeiteten Status und müssen bei der nächsten geplanten Ausführung vollständig verarbeitet werden.

Partitionsverarbeitung

Die Partitionsverarbeitung muss sorgfältig geplant werden, da die erneute Verarbeitung einer großen Partition sehr lange dauert und zahlreiche CPU-Ressourcen auf dem Server belegt, auf dem SSAS gehostet wird. Die Partitionsverarbeitung dauert im Allgemeinen länger als die Dimensionsverarbeitung. Im Gegensatz zur Dimensionsverarbeitung hat die Verarbeitung einer Partition keine Nebenwirkungen auf andere Objekte. Die einzigen beiden Verarbeitungstypen, die am System Center 2016 ausgeführt werden: Service Manager OLAP-Cubes sind ProcessFull und ProcessAdd.

Ähnlich wie bei Dimensionen ist zum erstellen einer neuen Partition in einem OLAP-Cube ein Task vom Typ „ProcessFull“ erforderlich, damit die Partition in einen Status versetzt wird, in dem sie abgefragt werden kann. Da der Task „ProcessFull“ ein teurer Vorgang ist, sollte er nur ausgeführt werden, wenn es erforderlich ist, beispielsweise wenn Sie eine Partition erstellen oder eine Zeile aktualisiert wurde. In Szenarien, in denen Zeilen hinzugefügt wurden und keine Zeilen aktualisiert wurden, können Service Manager eine ProcessAdd-Aufgabe ausführen. Dazu verwendet Service Manager Wasserzeichen und andere Metadaten. Die Tabellen „etl.cubepartition“ und „etl.tablepartition“ werden abgefragt, um zu bestimmen, welche Art von Verarbeitung ausgeführt werden soll.

Das folgende Diagramm veranschaulicht, wie Service Manager anhand der Wasserzeichendaten bestimmt, welche Art von Verarbeitung ausgeführt werden soll.

Diagram of cube processing

Wenn eine ProcessAdd-Aufgabe ausgeführt wird, schränkt Service Manager den Bereich der Abfrage mitHilfe von Wasserzeichen ein. Wenn der „InsertedBatchId“-Wert beispielsweise 100 und der „WatermarkBatchId“-Wert 50 beträgt, werden mit der Abfrage nur Daten aus dem Data Mart geladen, wenn der „InsertedBatchId“-Wert größer als 50 und kleiner als 100 ist.

Schließlich ist es wichtig zu beachten, dass Service Manager keine manuelle Verarbeitung von OLAP-Cubes mithilfe von SSAS oder Business Intelligence Development Studio unterstützt. Beim Verarbeiten von Cubes außerhalb der Methoden, die in System Center bereitgestellt werden, werden die Wasserzeichentabellen nicht aktualisiert, Service Manager, einschließlich der Service Manager-Konsole und Service Manager Cmdlets. Aus diesem Grund ist es möglich, dass Probleme mit der Datenintegrität auftreten können. Wenn der Cube versehentlich manuell erneut verarbeitet wurde, können Sie das Problem umgehen, indem Sie die Verarbeitung des OLAP-Cubes auf dieselbe Weise manuell rückgängig machen. Wenn Service Manager den Cube dann das nächste Mal verarbeitet, führt er automatisch eine ProcessFull-Aufgabe aus, da sich Partitionen in einem nicht verarbeiteten Zustand befinden. Auf diese Weise werden alle Wasserzeichen und Metadaten ordnungsgemäß aktualisiert, sodass alle möglichen Datenintegritätsprobleme behoben sind.

Verwalten Service Manager OLAP-Cubes

In den folgenden Abschnitten werden bewährte Methoden bei der Wartung von OLAP-Cubes (Online Analytical Processing) beschrieben.

Regelmäßiges erneutes Verarbeiten Analysis Services Dimensionen

Als bewährte Methode für SQL Server Analysis Services (SSAS) wird empfohlen, SSAS-Dimensionen regelmäßig vollständig zu verarbeiten. Bei der vollständigen Verarbeitung der Dimensionen werden Indizes neu erstellt und der Datenspeicher von mehrdimensionalen Daten optimiert, sodass die Abfrage- und Cubeleistung, die im Laufe der Zeit nachlässt, verbessert wird. Dieser Vorgang gleicht dem regelmäßigen Defragmentieren einer Festplatte in einem Computer.

Die vollständige Verarbeitung einer SSAS-Dimension hat jedoch den Nachteil, dass danach alle betroffenen OLAP-Cubes den Status „nicht verarbeitet“ aufweisen und ebenfalls vollständig verarbeitet werden müssen, damit sie den Status aufweisen, in dem sie abgefragt werden können. Service Manager verarbeitet SSAS-Dimensionen nicht explizit vollständig. Daher müssen Sie entscheiden, wann diese Wartungsaufgabe ausgeführt werden soll.

Überlegungen zum Arbeitsspeicher

Wenn alle Data Warehouse-Vorgänge zum Extrahieren, Transformieren und Laden (ETL-Vorgänge) sowie OLAP-Cubefunktionen auf dem gleichen Server ausgeführt werden, müssen Sie ausreichend Arbeitsspeicher für Betriebssystem, Data Warehouse und SSAS zur Verfügung stellen, damit alle parallel ausführbaren datenintensiven Vorgänge vom Server gehandhabt werden können. Dies ist besonders wichtig, da die Verarbeitung von OLAP-Cubes ein arbeitsspeicherintensiver Vorgang ist.

Nächste Schritte