Business Intelligence mit SQL Server 2005

Werbung
SONDERDRUCK AUS COMPUTERWORLD NR. 3/2006 VOM 20. JANUAR
Business Intelligence
mit SQL Server 2005
SQL Server 2005 ist weit mehr als eine relationale Datenbank. Microsofts Datenbankserver stellt auch eine abgerundete Plattform für die Analyse und das Reporting von
Datenbeständen zur Verfügung. VON MEINRAD WEISS*
A
bhängig von der Zielgruppe unterscheiden sich die Bedürfnisse punkto
Datenauswertung und Reporting
grundlegend. Das Spektrum reicht dabei
von einfachen Listen der Daten in einer Datenbank bis hin zur Konsolidierung der Zahlen eines Konzerns. Mit dem neuesten Release von SQL Server stellt Microsoft nun
eine umfassende Business-IntelligencePlattform (BI) zur Verfügung, mit welcher
die gesamte Bandbreite abgedeckt werden
kann. Diese beinhaltet, neben der relationalen Datenbank, auch Komponenten zur
Integration und Analyse von Daten, wie
auch eine komplette Reporting Infrastruktur (Bild 1).
Insbesondere für Entwickler ist das neue
Business Intelligence Development Studio
interessant, mit dessen Hilfe alle Teilprojekte, die für eine BI-Lösung notwendig
sind, innerhalb von Visual Studio entwickelt
werden können. Durch die Verwendung von
Visual Studio ist einerseits der Einstieg für
bestehende .NET Entwickler sehr einfach,
andererseits ist aber auch die Integration in
SourceSafe und alle Services von Visual
Studio Team System gegeben.
Konfigurations-Files an die gewünschte Umgebung anpassen. Neben vielen Datenbanken (SQL Server, Oracle, DB2, Access etc.)
können Daten auch ebenso einfach aus Text
Files, SAP oder XML-Dokumenten importiert werden (Screen 1).
Die mitgelieferten Data Flow Transformation Tasks erlauben es die Daten einzulesen,
im Memory in die gewünschte Form zu bringen und anschliessend an eine Data Flow
Destination zu übergeben. Die vorhandenen
Transformationen decken ein sehr breites
Spektrum ab. Sie gehen von einfachen Joins
und Lookups bis hin zu Data Mining Queries. Mit einem der Tasks kann sogar die
ganze Logik für Slowly Changing Dimensions abgebildet werden, in der sich Attribute
(z.B. Produktkategorien oder Organisationseinheiten eines Mitarbeiters) im Laufe
der Zeit ändern können. Integration Services ist so offen und flexibel aufgebaut, dass
die Daten nicht zwingenderweise in eine
Datenbank oder File geschrieben werden
müssen. Via Data Reader Destination ist es
sogar möglich, die transformierten Daten
Reporting Services oder einer .NET Applikation als Input zur Verfügung zu stellen.
Daten akquirieren
Für grosse Datenmengen optimiert
Sobald Daten aus mehr als einer Datenquelle benötigt werden, müssen diese im
Laufe des Reporting-Prozesses zusammengeführt werden. Neu verfügt SQL Server
über die Integration Services, ein ausgewachsenes ETL-Tool (Extract-TransformLoad). Die Integration Services wurden,
basierend auf den Erfahrungen der Vorgänger-Technologie (Data Transformation Services), komplett neu entwickelt. Mit der
Aufteilung der Packages in einen Controlund einen Data-Flow-Teil lässt sich die Komplexität der Packages aufbrechen. Die Packages lassen sich in der Entwicklungsumgebung einfach debuggen und mittels
In BI-Projekten werden sehr oft extrem
grosse Datenmengen in Data Warehouse
Datenbanken verwaltet. Das Data Warehouse integriert die Daten von allen involvierten Quellsystemen und sollte sie auch
möglichst lange aufbewahren können. Nicht
selten fallen so Daten im Terrabyte Bereich
an. Damit solche Datenmengen effizient
verwaltet werden können, muss die Datenbank darauf ausgerichtet sein. SQL Server
2005 unterstützt diese Anforderungen
durch Partitioned Tables und Indexes.
Partitioned Tables verhalten sich aus
Sicht des Anwenders wie eine normale Tabelle. Via Partition Function wird bestimmt,
wo jeder einzelne Datensatz physisch gespeichert werden soll. Die Partition Function erlaubt es, Ranges zu definieren, nach
* Meinrad Weiss ist Solution Manager und Prinzipal
Consultant bei der Trivadis AG.
52 WWW.COMPUTERWORLD.CH / 20. JANUAR 2006
welchen die Daten aufgeteilt und in File
Gruppen gespeichert werden. Eine File
Gruppe fasst ein oder mehrere physische
Files zusammen. Indizes können ebenfalls
auf den einzelnen Partitionen aufgebaut
und so aufgeteilt werden. Dadurch können
sie viel effizienter gepflegt werden, da nicht
immer der komplette Index neu aufgebaut
werden muss.
Analysis Services 2005
Mit den Cubes und Data-Mining-Modellen,
die in Analysis Services erstellt werden
können, wird es möglich, die Daten für den
Anwender in eine verständliche Form zu
bringen. Dazu dienen Dimensionen mit
Drill-down-Hierarchien und abgeleitete
Kennzahlen. Diese werden in den Würfeln
an einer zentralen Stelle abgelegt und garantieren so konsistente Auswertungen. Für
die Berechnung der abgeleiteten Kennzahlen steht mit MDX (Multidimensional Expressions) eine speziell dafür entwickelte
Programmiersprache zur Verfügung.
Microsoft hat sich zum Ziel gesetzt mit
Analysis Services 2005 die Flexibilität einer
Relationalen Datenbank in die Cube Umgebung zu bringen. Dazu dient das Unified
Dimensional Model (UDM). Das bedeutet,
dass jedes Attribut das im Data Warehouse
Bild 1: Microsofts BI-Plattform deckt alle Aspekte der Datenauswertung von der Integration
über die Analyse bis hin zum Reporting ab.
BI-Plattform
gespeichert ist, als so genannte Attribute
Hierarchy (Category, Size, Color etc.) in einer Dimension verwendet werden kann.
Mehrere Attribute-Hierarchien können
dann zu User-Hierarchien zusammengefasst
werden. Sie erlauben natürliche Drill-DownPfade (Year  Quarter  Month) abzubilden. Durch eine optimierte Struktur können
nun Attribute wie auch User-Hierarchien zu
einem Würfel hinzugefügt werden.
Neu wird auch das semi additive Verhalten der sogenannten Measures (Kenngrössen wie z.B. Einnahmen, Stückzahlen, Rabatt) unterstützt. Dazu stehen neben den
bekannten Aggregats-Funktionen wie Sum
und Count nun auch komplexere Funktionen wie AverageOfChildren oder LastNonEmpty zur Verfügung. Diese können entweder manuell bei einzelnen Measures oder
aber mit Hilfe einer Account Dimension definiert werden. Wenn mit einer Account
Dimension gearbeitet wird, dann erkennt
Analysis Services automatisch, welche Aggregats-Funktion für welches Konto verwendet werden kann.
MDX: Sprache für die Analyse
Alle Berechnungen innerhalb von Analysis
Services werden mit MDX durchgeführt.
Benutzersicht auf das UDM Modell mit Measures,
Dimensionen und Hierarchien.
Screen 1: Die in den Integration Services verwendeten Packages lassen sich mit dem BI Development Studio visuell entwerfen.
Listing 1
Output 1
Die unzähligen, eingebauten analytischen
Funktionen ermöglichen es, dass selbst
komplexe Business-Fragestellungen mit
sehr wenig Code gelöst werden können.
Sehr hilfreich ist dabei, dass MDX die Struktur der Zeitdimension kennt (Jahr, Quartal,
Monat, Tag).
Mit wenigen Zeilen MDX lässt sich so
zum Beispiel ein Vorjahres Vergleich mit
Wert vom letzten Jahr (LastYear), der absoluten Differenz (DiffToLastYear) und der
prozentualen Differenz (PctDiffToLastYear)
errechnen.
Dank der dimensionalen Struktur der Würfel werden die MDX Berechnungen automatisch für alle selektierten Measures (Order
Quantity und Sales Amount) appliziert und
stehen so dem Anwender im Abfrage-Tool
zur Verfügung.
Damit der Code für bekannte BusinessProbleme nicht immer und immer wieder
von Hand programmiert werden muss, stellt
Microsoft eine ganze Serie von Wizards zur
Verfügung. Mit ihnen können Probleme wie
Währungsumrechnungen mit ein paar wenigen Clicks umgesetzt werden.
MDX eignet sich aber auch hervorragend
zur Abfrage von OLAP Würfeln. Die Abfrage
spezifiziert lediglich, welche Member auf
dem Report sichtbar sein sollen. Die Berechungen der Zahlen werden anschliessend
automatisch vom Server durchgeführt.
Mit dem folgenden MDX-Statement werden die Top 5 Verkaufsländer (aller Jahre)
ermittelt und die Zahlen für das Jahr 2004
dargestellt (Listing 1, Output 1).
Analysis Services 2005 unterstützt neu auch
mehrsprachige Applikationen. Dabei können sowohl die Inhalte (Produktnamen,
Farben, Kategorien etc.) wie auch die Metadaten (Cubes, Dimensionen, Hierarchien,
Level etc.) in mehreren Sprachen definiert
werden.
Reporting Services
Mit Reporting Services stellt Microsoft eine
sehr offene Reporting Plattform zur Verfügung. Reporting Services ist in der Lage,
Daten aus den verschiedensten Datenquellen (z.B. SQL Server, Oracle, DB2, Integration Services) zu lesen und in unterschiedlichsten Formaten (HTML, PDF, Excel etc.)
auszugeben. Zusätzlich zu den Möglichkeiten der Reporting Services, bietet das
Gespann von Report Model und Report
Builder eine Umgebung, in welcher auch
Endanwender Reports selbst gestalten können. Dazu kann innerhalb der Reporting
Services ein so genanntes Report Model
definiert werden. Das Report Model enthält
alle sichtbaren Entitäten und deren Beziehungen. Basierend auf dem Report Model
können Anwender mittels Report Builder
die Reports mit Drag and Drop erstellen.
Report Builder kann dank Click-OnceTechnologie via Internet verteilt werden
und ist sehr ähnlich wie Word oder Excel
zu bedienen.
Fazit
In ihrer Breite und Vollständigkeit ist die
Microsoft Business-Intelligence-Plattform
sicher einzigartig. Sie deckt alle notwendigen Bereiche, von relationaler Datenbank
über Integration Services via Analysis Services bis hin zu Reporting Services hervorragend ab. Da alle relevanten Schnittstellen
von Microsoft offen gelegt sind, bieten zudem sehr viele Third Party Hersteller zusätzliche Produkte an. Mit diesen lassen sich
spezielle Bedürfnisse, wie High-End-Analysen oder Budgetierung und Konsolidierungen noch besser abdecken. ■
Weitere Informationen zu SQL Server 2005
und der BI-Plattform unter
www.trivadis.com
WWW.COMPUTERWORLD.CH / 20. JANUAR 2006
53
Herunterladen