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