Artikel als PDF anzeigen

Werbung
ITMAGAZINE
Reporting und BI à la Microsoft
26. September 2008 - Der SQL Server 2008 ist ein Database-Management-System, das eine ganze Reihe von
Reporting- und Business-Intelligence-Lösungen enthält. 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
Copyright by Swiss IT Media 2017 
Herunterladen