Reporting und BI à la Microsoft

Der SQL Server 2008 ist ein Database-Management-System, das eine ganze Reihe von Reporting- und Business-Intelligence-Lösungen enthält.

Artikel erschienen in Swiss IT Magazine 2008/17

     

Die Anforderungen an eine moderne Reporting- und Business-Intelligence-(BI)-Infrastruktur sind enorm. Sie reichen von einfachen relationalen Auswertungen bis zu hoch flexiblen, auf OLAP (Online Analytical Processing) basierenden multidimensionalen Analyseplattformen. Dabei spielen Aspekte wie Performance, Skalierbarkeit und Benutzerfreundlichkeit eine zentrale Rolle. Mit SQL Server 2008 liefert Microsoft alle notwendigen Komponenten und Services für eine moderne Lösung. Sie bilden das Fundament für den Microsoft BI-Stack.
Reporting mit SQL Server 2008 besteht grundsätzlich aus denselben Tools wie bereits bei SQL Server 2005. Aber alle Komponenten wurden weiter verbessert und optimiert. Erste Upgrade-Projekte haben gezeigt, dass die meisten Applikationen ohne grossen Aufwand auf SQL Server 2008 migriert werden können.





Grafik: SQL Server 2008 im Microsoft Business Intelligence Stack


Optimale Performance beim relationalen Reporting

Auch grösste Datenmengen lassen sich dank neuen SQL-Statements und optimierten Algorithmen effizient auswerten. Sehr oft werden Listen mit Zwischensummen auf unterschiedlichen Verdichtungsstufen angezeigt. Bisher mussten für diesen Zweck mehrere komplexe SQL-Statements geschrieben werden. Das bedeutete nicht nur mehr Arbeit für den Entwickler, sondern auch eine zusätzliche Last für die Datenbank. Mit der Möglichkeit von sogenannten «Grouping-Sets» können solche Abfragen nun elegant mit einem Statement ausgeführt werden.
Data-Warehouse-Datenbanken sind sehr oft im Star-/Snowflake-Schema aufgebaut. Bei Abfragen werden dabei die Filterkriterien auf den Dimensions-Tabellen definiert und die Daten aus der Fakten-Tabelle bezogen. SQL Server 2008 kann diese Queries dank der «Star Join Query Optimization» effizienter bearbeiten. Neu können die applizierten Dimensions-Kriterien in Bitmap-Filter umgewandelt und diese der Storage-Engine beim Zugriff auf die Fakten-Tabelle mitgegeben werden. Dadurch werden nur noch die relevanten Fact-Rows gelesen, und es werden weniger Daten in die anschliessenden Join-Operationen weitergegeben. Der Optimizer von SQL Server 2008 erkennt Star Joins automatisch und wendet das neue Verfahren selbständig an.



Zudem wurde der Zugriff auf partitionierte Tabellen weiter optimiert. Neu verwendet die Datenbank auch dann mehrere Threads, wenn auf mehr als eine Partition zugegriffen werden muss. Damit werden die vorhandenen Ressourcen von grossen Multi-Core-Systemen besser ausgenutzt. Dank diesen Optimierungen kann im Data-Warehouse-Umfeld mit einer Performance-Steigerung im Bereich von zirka 20 bis 30 Prozent gerechnet werden.
Neu können sowohl die Daten und Indexe wie auch die Backups komprimiert werden. Bei Datenfiles unterscheidet SQL Server 2008 zwischen Row- und Page-Kompression. Bei Row-Kompression belegen alle Datentypen nur den Platz, der notwendig ist, um die erfassten Werte in der gewünschten Präzision zu speichern. Bei Page-Kompression sucht die Datenbank nach wiederkehrenden Mustern in den Datenblöcken und legt diese im Page-Header ab. Anschliessend werden die Werte durch Referenzen auf die Header-Einträge ersetzt. Für jedes Objekt in der Datenbank kann festgelegt werden, ob und wie die Daten komprimiert werden sollen.




Mit der Komprimierung kann zum Teil deutlich über 50 Prozent des Platzes der Datenbank-Files gespart werden. Dabei wird die CPU um zirka 20 bis 30 Prozent mehr belastet. Da aber häufig nicht die CPU, sondern das IO-Subsystem (Disks) das Bottleneck darstellen, kann mit der Komprimierung die Effizienz des Gesamtsystems durchaus verbessert werden. SQL Server 2008 erlaubt es, bei partitionierten Tabellen die einzelnen Partitionen unterschiedlich zu komprimieren und so also für jedes System optimal zu konfigurieren.


Verbesserte Reporting Services

Besonders bestechend sind die Erweiterungen im Bereich von Reporting Services. Microsoft hat dabei die Konzepte von Tabellen- und Matrix-Darstellung kombiniert und so den neuen Begriff Tablix geschaffen. Damit können auch komplexe, asymmetrische Reports mit minimalem Aufwand erstellt werden.
Bereits heute ist es möglich, Reports mit verschiedenen Charts aussagekräftiger zu gestalteten. Das Set der angebotenen Chart-Typen war aber recht eingeschränkt. Oft haben sich Kunden mit dem Kauf und der Integration von Dundas Charts beholfen. Inzwischen hat sich Microsoft die Rechte an Dundas Charts und Gauges gesichert. Diese Controls sind in der neuen Version enthalten. Bestehende Reports, die Dundas Controls verwenden, werden vom Migrations Wizard erkannt und automatisch konvertiert.
Als Ausgabeformat wird nun auch Microsoft Word unterstützt. Die generierten Dokumente können entweder direkt gedruckt oder mit Word weiterbearbeitet werden. Auch der Excel-Support wurde weiter ausgebaut, so dass auch Reports mit Sub-Reports als Excel-Dokument dargestellt werden können.
Mit SQL Server 2008 wird der IIS nicht mehr benötigt. Der Report-Server kann die Anfragen selbst beantworten. Mit der Überarbeitung der Server-Komponente konnte auch der Durchsatz, vor allem bei grossen Dokumenten, deutlich gesteigert werden. Auch die Überwachungsmöglichkeiten des Services wurden stark verbessert.
Einer der wenigen Wermutstropfen stellt die Anbindung von Analysis-Services dar. Die multidimensionalen Daten werden immer noch in Form einer zweidimensionalen Tabelle bezogen. Auch die MDX-(Multidimensional Expressions)Einschränkungen bleiben grösstenteils erhalten. Zum Glück existieren inzwischen kostengünstige Third-Party-Lösungen wie zum Beispiel Intelligencia Query, welche diese Lücke elegant füllen.


Report Builder à la Office 2007

Zu den absoluten Highlights gehört sicher die neue Version von Report Builder. Die «Version 2» besticht nun endlich durch all die netten Features, die sich Benutzer von einem Report Builder Tool erwarten. Das User-Interface ist im neuen Office 2007 Ribbon Style aufgebaut und lässt sich daher fast so einfach bedienen wie Word 2007. Trotzdem können die volle Tablix-Funktionalität und auch die Dundas Chart und Gauge Controls verwendet werden. Auch der Datenzugriff wurde stark ausgebaut. Neben relationalen Daten können auch OLAP Cubes und sogar SAP NetWeaver, Hyperion Essbase und Teradata-Systeme angesprochen werden.
Da es sich nach wie vor um eine «Click-Once»-Applikation handelt, muss auf dem Client keine spezielle Software installiert werden. Report Builder wird über das Netz auf den Client geladen.
Reporting Services und Report Builder verwenden das RDL-Format für die Layout-Definition. Dadurch können Reports untereinander ausgetauscht werden. So kann ein Benutzer mit der Report-Definition beginnen und diese, falls notwendig, der Entwicklungsabteilung übergeben. Sie kann den Report mit Business Intelligence Development Studio (BIDS) weiterbearbeiten.


Highlight Analysis Services

Zu den Glanzlichtern von SQL Server gehören sicher die Analysis Services. Bereits die 2005er-Version besticht durch ihre Flexibilität und den Funktionsumfang. Daher wurde wenig von aussen Sichtbares verändert.
Einige Wizards sind nun einfacher zu bedienen, und wichtige Zusammenhänge werden durch neue Darstellungsformen besser visualisiert. Aus Performance-Sicht sind vor allem die korrekte und vollständige Definition der «Attribute-Relationships» essentiell. In der SQL-Server-2008-Version lassen sich diese grafisch darstellen und modifizieren.
Im BIDS wurden auch die wichtigsten Best Practices für den Cube-Bau integriert, und Verletzungen werden direkt durch Wellenlinien angezeigt. Das System lässt sich an die konkreten Projekt-Gegebenheiten anpassen. Abweichungen können direkt in der Entwicklungsumgebung dokumentiert werden.
Der MDX-Sprachumfang wurde leicht erweitert. So können zum Beispiel sogenannte «Dynamische Sets» definiert werden. Diese werden bei jeder Query dem Filter-Kontext angepasst neu erstellt. Damit werden die Applikationen besser wartbar, und auch der Optimizer kann von den Sets profitieren.
Die Performance von vielen MDX-Funktionen wurde ebenfalls weiter optimiert. Zudem kann Analysis Services 2008 viel öfter den extrem schnellen «Block Mode»-Zugriff verwenden. Erste Praxiserfahrungen haben gezeigt, dass die Cube-Performance erheblich besser geworden ist.
Dank neuen dynamischen Management Views und neuen Performance-Countern kann der Server auch deutlich besser überwacht und optimiert werden.


Zusammenfassung

Mit SQL Server 2008 wird Microsoft seine Position im BI- und Reporting-Bereich weiter festigen und ausbauen können. Die Integration der verschiedenen Services und die einfache und konsistente Bedienung sind wohl einmalig. Mit nur zwei Werkzeugen können alle Komponenten entwickelt und verwaltet werden. Damit kann die Effizienz der Mitarbeiter gesteigert und der Ausbildungsaufwand minimiert werden.
Ebenso beeindruckend ist die Skalierbarkeit des Systems. Sei es als einfache Reporting-Lösung im KMU-Umfeld bis hin zum Terabyte Data Warehouse mit OLAP Cubes, Dashboards und Score Cards.


Der Autor

Meinrad Weiss ist Technology Manager, Principal Consultant bei der Trivadis AG sowie Microsoft MSDN Regional Director, Schweiz




Artikel kommentieren
Kommentare werden vor der Freischaltung durch die Redaktion geprüft.

Anti-Spam-Frage: Wie hiess im Märchen die Schwester von Hänsel?
GOLD SPONSOREN
SPONSOREN & PARTNER