Übersicht über logische Architektur (Analysis Services – Mehrdimensionale Daten)
Gilt für: SQL Server Analysis Services Azure Analysis Services Fabric/Power BI Premium
Analysis Services wird in einem Serverbereitstellungsmodus ausgeführt, durch den die von den unterschiedlichen Analysis Services-Modelltypen verwendete Arbeitsspeicherarchitektur und Laufzeitumgebung bestimmt wird. Der Servermodus wird während der Installation bestimmt. Der mehrdimensionale Modus und der Data Mining-Modus unterstützen herkömmliche OLAP- und Data Mining-Funktionen. Der tabellarische Modus unterstützt tabellarische Modelle. Der integrierte SharePoint-Modus bezieht sich auf eine instance von Analysis Services, die als Power Pivot für SharePoint installiert wurde und zum Laden und Abfragen von Excel- oder Power Pivot-Datenmodellen innerhalb einer Arbeitsmappe verwendet wird.
In diesem Thema wird die grundlegende Architektur von Analysis Services bei der Ausführung im mehrdimensionalen und Data Mining-Modus erläutert. Weitere Informationen zu anderen Modi finden Sie unter Tabellarische Modellierung und Vergleichen von tabellarischen und mehrdimensionalen Lösungen.
Grundlegende Architektur
Ein instance von SQL Server Analysis Services kann mehrere Datenbanken enthalten, und eine Datenbank kann olap-Objekte und Data Mining-Objekte gleichzeitig enthalten. Anwendungen stellen eine Verbindung mit einer angegebenen instance von SQL Server Analysis Services und einer angegebenen Datenbank her. Ein Servercomputer kann mehrere Instanzen von SQL Server Analysis Services hosten. Instanzen von SQL Server Analysis Services werden als "<ServerName>\<Instanzname>" benannt. Die folgende Abbildung zeigt alle erwähnten Beziehungen zwischen SQL Server Analysis Services-Objekten.
Basisklassen sind der minimale Satz von Objekten, der für die Erstellung eines Cubes erforderlich ist. Dieser minimale Satz von Objekten ist eine Dimension, eine Measuregruppe und eine Partition. Eine Aggregation ist optional.
Dimensionen werden aus Attributen und Hierarchien gebildet. Hierarchien bestehen aus einem sortierten Satz von Attributen, wobei jedes Attribut des Satzes einer Ebene der Hierarchie entspricht.
Cubes werden aus Dimensionen und Measuregruppen gebildet. Die Dimensionen in der Dimensionsauflistung eines Cubes gehören zur Dimensionsauflistung der Datenbank. Measuregruppen sind Auflistungen von Measures, die die gleiche Datenquellensicht und die gleiche Dimensionsteilmenge des Cubes besitzen. Eine Measuregruppe besitzt mindestens eine Partition, um die physischen Daten zu verwalten. Eine Measuregruppe kann einen Standardaggregationsentwurf besitzen. Der Standardaggregationsentwurf kann von allen Partitionen in der Measuregruppe verwendet werden. Außerdem kann jede Partition Ihren eigenen Aggregationsentwurf besitzen.
Serverobjekte
Jede instance von SQL Server Analysis Services wird als ein anderes Serverobjekt in AMO betrachtet; jedes unterschiedliche instance wird durch eine andere Verbindung mit einem Server Objekt verbunden. Jedes Serverobjekt enthält mindestens eine Datenquelle und Datenquellensicht, mindestens ein Datenbankobjekt sowie Assemblys und Sicherheitsrollen.
Dimensionsobjekte
Jedes Datenbankobjekt enthält mehrere Dimensionsobjekte. Jedes Dimensionsobjekt enthält ein oder mehrere Attribute, die in Hierarchien organisiert werden.
Cubeobjekte
Jedes Datenbankobjekt enthält mindestens ein Cubeobjekt. Ein Cube wird durch seine Measures und Dimensionen definiert. Die Measures und Dimensionen in einem Cube werden aus Tabellen und Sichten der Datenquellensicht abgeleitet, auf der der Cube basiert bzw. die von den Measure- und Dimensionsdefinitionen generiert wird.
Objektvererbung
Das ASSL-Objektmodell enthält zahlreiche wiederkehrende Elementgruppen. Beispielsweise definiert die Elementgruppe "Dimensionen enthalten Hierarchien" die Dimensionshierarchie eines Elements. Sowohl Cubes als auch MeasureGroups enthalten die Elementgruppe "Dimensionen enthalten Hierarchien".
Wenn dies nicht ausdrücklich überschrieben wird, erbt ein Element die Details dieser wiederkehrenden Elementgruppe von der höheren Ebene. Die Übersetzungen für eine CubeDimension sind z. B. identisch mit dem Übersetzungen für das übergeordnete Element Cube.
Um die von einem Objekt einer höheren Ebene geerbten Eigenschaften explizit zu überschreiben, muss das Objekt nicht explizit die gesamte Struktur und die gesamten Eigenschaften des Objekts der höheren Ebene wiederholen. Die einzigen Eigenschaften, die von einem Objekt explizit angegeben werden müssen, sind die Eigenschaften, die von dem Objekt überschrieben werden sollen. Beispielsweise kann eine CubeDimension nur die Hierarchien auflisten, die im Cube deaktiviert werden müssen oder für die die Sichtbarkeit geändert werden muss oder für die auf Dimensionsebene keine Ebenendetails bereitgestellt wurden.
Einige auf einem Objekt angegebene Eigenschaften stellen Standardwerte für die gleiche Eigenschaft auf einem untergeordneten oder nachfolgenden Objekt bereit. Beispielsweise stellt Cube.StorageMode den Standardwert für Partition.StorageModebereit. ASSL wendet folgende Regeln auf geerbte Standardwerte an:
Wenn die Eigenschaft für das untergeordnete Objekt in XML NULL ist, nimmt der Wert der Eigenschaft standardmäßig den geerbten Wert an. Wenn Sie den Wert jedoch vom Server abfragen, gibt der Server den NULL-Wert des XML-Elements zurück.
Es ist nicht möglich, programmgesteuert festzustellen, ob die Eigenschaft eines untergeordneten Objekts direkt auf dem untergeordneten Objekt festgelegt oder geerbt wurde.
Beispiel
Der Imports-Cube enthält die beiden Measures Packages und Last sowie die drei verwandten Dimensionen Route, Source und Time.
Die kleineren alphanumerischen Werte um den Cube herum stellen die Elemente der Dimension dar. Beispiele für Elemente sind ground (Element der Route-Dimension), Africa (Element der Source-Dimension) und 1st quarter (Element der Time-Dimension).
Measures
Die Werte innerhalb der Cubezellen stellen die beiden Measures Packages und Last dar. Das Paket-Measure stellt die Anzahl der importierten Pakete dar, und die Funktion Summe wird verwendet, um die Fakten zu aggregieren. Das Letzte Measure stellt das Datum des Eingangs dar, und die Max-Funktion wird verwendet, um die Fakten zu aggregieren.
Dimensionen
Die Route-Dimension stellt dar, auf welchem Weg die Importwaren ihr Ziel erreichen. Zu den Elementen dieser Dimension gehören ground, nonground, air, sea, road und rail. Die Source-Dimension gibt die Orte an, an denen die Importe produziert werden, z. B. Africa oder Asia. Die Time-Dimension stellt die Quartale und Halbjahre eines einzelnen Jahres dar.
Aggregate:
Geschäftsbenutzer eines Cubes können den Wert eines beliebigen Measures für jedes Element jeder Dimension unabhängig von der Ebene des Members innerhalb der Dimension bestimmen, da SQL Server Analysis Services werte nach Bedarf auf oberen Ebenen aggregiert. Beispielsweise können die Measurewerte in der vorherigen Abbildung gemäß einer Standardkalenderhierarchie aggregiert werden, indem die Kalenderzeithierarchie in der Zeitdimension verwendet wird, wie im folgenden Diagramm dargestellt.
sind
Ergänzend zur Aggregation von Measures mithilfe einer einzigen Dimension können Sie Measures mithilfe von Kombinationen von Elementen unterschiedlicher Dimensionen aggregieren. Auf diese Weise ist es Anwendern des Produkts im geschäftlichen Bereich möglich, in mehreren Dimensionen gleichzeitig Measures auszuwerten. Wenn ein Anwender des Produkts im geschäftlichen Bereich z. B. die Quartalsimporte analysieren möchte, die per Luftfracht aus der östlichen und der westlichen Hemisphäre eingetroffen sind, kann der Anwender eine Abfrage an den Cube eingeben, um das folgende Dataset abzurufen.
Pakete | Zeitrahmen | Alle Quellen | Östliche Hemisphäre | Westliche Hemisphäre | | ---------- | ----------- | ------------------ | ------------------ |
|Alle Zeiten|25110|6547|18563|
|1. Hälfte|11173|2977|8196|
|1. Quartal|5108|1452|3656|
|2. Quartal|6065|1525|4540|Jun-28-99|Jun-20-99|Jun-28-99|
|2. Hälfte|13937|3570|10367|Dez-29-99|Dez-22-99|Dez-29-99|
|3. Quartal|6119|1444|4675|Sep-30-99|Sep-18-99|Sep-30-99|
|4. Quartal|7818|2126|5692|Dez-29-99|Dez-22-99|Dez-29-99|
Zuletzt | Zeitrahmen | Alle Quellen | Östliche Hemisphäre | Westliche Hemisphäre | | ---------- | ----------- | ------------------ | ------------------ | |Alle Zeiten|Dez-29-99|Dez-22-99|Dez-29-99|
|1. Hälfte|Jun-28-99|Jun-20-99|Jun-28-99|
|1. Quartal|30.03.99.Mar-19-99|30.03.99.
|2. Quartal|Jun-28-99|Jun-20-99|Jun-28-99|
|2. Hälfte|Dez-29-99|Dez-22-99|Dez-29-99|
|3. Quartal|Sep-30-99|Sep-18-99|Sep-30-99|
|4. Quartal|Dez-29-99|Dez-22-99|Dez-29-99|
Wenn ein Cube definiert wurde, können Sie neue Aggregationen erstellen, oder Sie können vorhandene Aggregationen ändern, um Optionen festzulegen, die angeben, ob Aggregationen während der Verarbeitung im Voraus oder zum Zeitpunkt der Abfrage berechnet werden. Verwandtes Thema:Aggregationen und Aggregationsentwürfe.
Zuordnen von Measures, Attributen und Hierarchien
Die Measures, Attribute und Hierarchien des Cubes in dem Beispiel werden aus den folgenden Spalten in den Fakten- und Dimensionstabellen des Cubes abgeleitet.
Measure oder Attribut (Ebene) | Member | Quelltabelle | Quellspalte | Beispielspaltenwert |
---|---|---|---|---|
Packages-Measure | Nicht zutreffend | ImportsFactTable | Pakete | 12 |
Last-Measure | Nicht zutreffend | ImportsFactTable | Letzter | May-03-99 |
Route Category-Ebene in Route-Dimension | nonground, ground | RouteDimensionTable | Route_Category | Nonground |
Route-Attribut in Route-Dimension | air, sea, road, rail | RouteDimensionTable | Route | Sea |
Hemisphere-Attribut in Source-Dimension | Eastern Hemisphere, Western Hemisphere | SourceDimensionTable | Hemisphere | Eastern Hemisphere |
Continent-Attribut in Source-Dimension | Afrika, Asien, Australien, Europa, Nordamerika Südamerika | SourceDimensionTable | Continent | Europa |
Half-Attribut in Time-Dimension | 1st half, 2nd half | TimeDimensionTable | Half | 2nd half |
Quarter-Attribut in Time-Dimension | 1st quarter, 2nd quarter, 3rd quarter, 4th quarter | TimeDimensionTable | Quarter | 3rd quarter |
Daten in einer einzelnen Cubezelle werden normalerweise aus mehreren Zeilen in der Faktentabelle abgeleitet. Beispielsweise enthält die Cubezelle am Schnittpunkt des Luftelements, des Afrika-Members und des Members 1. Quartal einen Wert, der durch Aggregieren der folgenden Zeilen in der Faktentabelle ImportsFactTable abgeleitet wird.
Import_ReceiptKey | RouteKey | SourceKey | TimeKey | Pakete | Letzter |
---|---|---|---|---|---|
3516987 | 1 | 6 | 1 | 15 | 10.01.1999 |
3554790 | 1 | 6 | 1 | 40 | 19.01.1999 |
3572673 | 1 | 6 | 1 | 34 | 27.01.1999 |
3600974 | 1 | 6 | 1 | 45 | 02.02.1999 |
3645541 | 1 | 6 | 1 | 20 | 09.02.1999 |
3674906 | 1 | 6 | 1 | 36 | 17.02.1999 |
In der vorherigen Tabelle weist jede Zeile die gleichen Werte für die Spalten RouteKey, SourceKey und TimeKey auf, was angibt, dass diese Zeilen zur gleichen Cubezelle beitragen.
In dem hier dargestellten Beispiel geht es um einen sehr einfachen Cube, der nur eine einzige Measuregruppe enthält und bei dem alle Dimensionstabellen in einem Sternschema mit der Faktentabelle verknüpft sind. In weiteres häufiges Schema ist das Schneeflockenschema, in dem mindestens eine Dimensionstabelle mit einer anderen Dimensionstabelle und nicht direkt mit der Faktentabelle verknüpft wird. Verwandtes Thema:Dimensionen (Analysis Services – Mehrdimensionale Daten).
Das hier dargestellte Beispiel enthält nur eine einzige Faktentabelle. Wenn ein Cube mehrere Faktentabellen enthält, werden die Measures aus jeder Faktentabelle in Measuregruppen organisiert, und eine Measuregruppe wird mithilfe von definierten Dimensionsbeziehungen mit einer bestimmten Gruppe von Dimensionen verbunden. Diese Beziehungen werden durch Angeben der teilnehmenden Tabellen in der Datenquellensicht und der Granularität der Beziehung definiert. Verwandtes Thema:Dimensionsbeziehungen.