Do-it-yourself-BI mit Powerpivot
Artikel erschienen in Swiss IT Magazine 2010/01
Unter dem Codenamen «Kilimanjaro» werkelt man in Redmond bereits seit geraumer Zeit an einer Überarbeitung des SQL Server 2008. Die schlichte Namenserweiterung um das Kürzel «R2» wird dem Umfang an Neuerungen allerdings kaum gerecht. Mit der Multiserver-Verwaltung, Business Intelligence-Funktionen für Endanwender, besserem Reporting, Echtzeitdatenverarbeitung und Parallel-Data-Warehousing gibt es einige gewichtige Erweiterungen. Die neue Version des Datenbankservers steht aktuell in der November-CTP-Version bereit und soll am 6. Mai 2010 auf den Markt kommen.
Mit Funktionen wie etwa dem Policy-based- Management wurde bereits der aktuelle SQL Server 2008 mit Erweiterungen ausgestattet, welche die Administration ein gutes Stück einfacher machen. Beim Release 2 geht Microsoft nun noch einen Schritt weiter. Neu wird das Konzept des sogenannten Utility Control Point (UCP) eingeführt, über das sich mehrere SQL-Server-Instanzen von verschiedenen physischen Servern zusammenfassen und verwalten lassen. Beim UCP handelt es sich um Komponenten und eine Datenbank, die auf einer SQL-Server-Instanz innerhalb der Farm mit Hilfe eines Assistenten eingerichtet werden. Nachdem man die zu verwaltenden SQL Server beim UCP angemeldet hat, werden die Betriebsdaten der einzelnen Server in die Datenbank des UCP übertragen.
Für die eigentliche Multiserver-Verwaltung wurde das SQL-Server-Management-Studio um den Utility Explorer erweitert, der als Managementzentrale fungiert. Der Utility Explorer liefert auf einem Dashboard einen Überblick über wichtige Betriebsdaten wie zum Beispiel Auslastung (CPU, Plattenkapazität etc.) oder den Gesundheitszustand des Servers. Über Detailansichten kann man einen einzelnen Server genauer unter die Lupe nehmen und Problemstellen ausmachen. Dank den neuen Überwachungswerkzeugen dürften Datenbankadministratoren nun besser in der Lage sein, überlastete, aber auch unterforderte Server zu eruieren. Durch das Verschieben oder Konsolidieren von Datenbanken lässt sich damit das Gesamtsystem stetig optimieren.
Damit sich Datenbanken künftig einfacher zwischen Servern verlegen lassen, führt Microsoft mit den sogenannten Data-tier Application Components (DAC) eine neue Abstraktions-ebene ein, welche die Datenbank von der SQL-Server-Instanz entkoppelt. Viele Serverobjekte wie zum Beispiel Logins, Connection Strings oder Import/Export-Packages waren bislang direkt an eine Instanz gebunden, was die Portabilität der Datenbanken einschränkte. In einer Data-tier Application werden alle notwendigen Informationen einer Datenbank, die für den Betrieb auf einem Server benötigt werden, in einem Paket (Zip-File bestehend aus mehreren XML-Dateien) gespeichert. Dazu zählen beispielsweise Tabellen, Views, Functions oder Stored Procedures, aber auch Server-Level-Objekte wie etwa Logins. Zudem können DAC-Pakete mit Policies versehen werden, in denen festgelegt wird, welche Vorgaben auf dem Zielsystem erfüllt werden müssen.
DAC-Pakete können wahlweise mit einem Wizard aus einer bestehenden Datenbank generiert oder mit Visual Studio 2010 mit Hilfe neuer Projektvorlagen und Tools von Hand erstellt werden. Fertige DAC-Pakete lassen sich dann mit wenig Aufwand auf einer neuen SQL-Server-Instanz einrichten.
Die vielleicht spannendste Neuerung in SQL Server 2008 R2 ist die neue Business-Intelligence-Technologie Powerpivot, die aus der Küche des Analysis-Services-Teams kommt und bislang unter dem Codenamen «Project Gemini» bekannt war. Powerpivot ist ein Self-Service-Datenanalyse-Werkzeug, mit dem End-anwender in der Lage sein sollen, selbstän-dig BI-Analysen mit grossen Datenmengen aufzubereiten, ohne dabei auf das Know-how von BI-Entwicklern oder Datenbankspezialisten zurückgreifen zu müssen. Powerpivot setzt sich aus einer Reihe von Client- und Server-Komponenten zusammen, die im gegenseitigen Zusammenspiel die Umsetzung solcher BI-Lösungen ermöglicht. Das Herzstück bildet dazu eine auf den SQL Server Analysis Services (SSAS) basierende Komponente, die einerseits clientseitig als Teil eines Add-ins für Excel 2010 und andererseits als serverseitige Service-Anwendung für Sharepoint 2010 zur Verfügung steht:
? Excel 2010: Mit Hilfe des Powerpivot-Add-ins wird man mit Excel 2010 (64-Bit-Version) in der Lage sein, mehrere 100 Millionen Datensätze zu verarbeiten. Gleichzeitig stellt es ein Import-Framework zur Verfügung, mit dem Daten aus unterschiedlichen Quellen (SQL Datenbanken, Access, Excel, Data Feeds etc.) eingelesen werden können. Importierte Daten, die sich auch miteinander verknüpfen lassen, können mit Pivot-Tabellen und -Charts ausgewertet und visualisiert werden. Um Endanwendern den Umgang mit der Pivot-Technik zu erleichtern, werden neue Slicer-Controls angeboten, die sich direkt auf dem Spreadsheet in die Anwendung einbetten lassen. Für weitergehende Auswertungen und Analysen stellt das Add-in die Data Analysis Expression Language (DAX) zur Verfügung, mit der sich Datenabfragen formulieren lassen. Punkto Funktionalität entspricht DAX in etwa den Multidimensional Expressions (MDX) des SQL Servers, ist aber an der Formelsyntax von Excel angelehnt und daher für Endanwender viel einfacher zu bedienen. Einmal definierte Powerpivot-Anwendungen können für die spätere Verwendung gespeichert werden und lassen sich in regelmässigen Intervallen aktualisieren.
? Sharepoint 2010: Mit Excel 2010 erstellte Powerpivot-Anwendungen können Benutzern direkt über Sharepoint-Dokumentbibliotheken zur Verfügung gestellt werden. Um Endanwendern die Auswahl der passenden Auswertung zu erleichtern, gibt es eine auf Silverlight basierende Powerpivot-Gallery, in der man durch die verfügbaren Auswertungen (Snapshot-Ansichten) blättern kann. Die zur Verfügung gestellten Powerpivot-Spreadsheets können serverseitig verarbeitet und mit den Excel Services gerendert werden. Der Benutzer muss also nicht zwingend über Excel 2010 auf dem eigenen PC verfügen. Über einen Schedule-Dienst können in Sharepoint 2010 gespeicherte Powerpivot-Anwendungen automatisch mit den neuesten Daten versorgt und aktuell gehalten werden.
Einige interessante Neuerungen gibt es auch bei den Reporting Services. Eine davon ist der neue Report Builder in der Version 3.0, der über einen neuen Servermodus verfügt, welcher beim Rendern eines Berichtes ein Caching durchführt und dadurch die Ausführung von Previews beim Überarbeiten von Reportlayouts beschleunigt. Einzelne Bereiche eines Reports lassen sich damit zur Wiederverwendung über eine Report Part Gallery zur Verfügung stellen. Für die Gestaltung von Berichten gibt es neue Controls, mit denen sich Daten, die im SQL Server Datentyp Geometry und Geography vorliegen, in Form von Land- und Weltkarten darstellen lassen.
Mit den Reporting Services erstellte Berichte können zudem als Data Feeds (Atom-Format) publiziert werden. Dadurch lassen sie sich in andere Anwendungen und insbesondere auch in Powerpivot-Auswertungen integrieren. Ein neuer Ajax Report Viewer erlaubt es, erstellte Berichte in ASP.Net-Anwendungen einzubetten. Dank der Verwendung von Ajax lassen sich beispielsweise Drill-Down-Abfragen durchführen, ohne dass die ganze Seite neu geladen werden muss. Stattdessen werden ausschliesslich die neu benötig-ten Daten vom Server geholt und gerendert.
Weiter hat der Report-Manager ein Facelifting erhalten und wurde in puncto Look-and-Feel etwas stärker an Sharepoint angeglichen. Ausserdem hat die Report Definition Language (RDL) neue Erweiterungen erfahren und kann zum Beispiel Geodaten als Lookups in Reports einfliessen lassen.
Mit Stream Insight erweitert Microsoft den SQL Server um eine sogenannte Complex-Event-Processing-Technologie (CEP), mit der sich kontinuierliche Datenströme, wie sie beispielsweise bei der Verarbeitung von Prozessdaten oder Finanzinformationen anfallen können, innerhalb einer garantierten Antwortzeit verarbeiten lassen. Eine weitere Neuerung sind die Master Data Services, mit denen es möglich wird, Daten, die gleichzeitig in unterschiedlichen Anwendungen zum Einsatz kommen, an zentraler Stelle zu pflegen. SQL Server 2008 R2 wird dazu einen sogenannten Master Data Hub anbieten, der als zentrales Repository für die Masterdaten fungiert.
Mit der Parallel Data Warehouse Edition (Project «Madison») wird es den SQL Server in einer neuen Variante geben, die auf hoch skalierbare Data Warehouses mit einem Datenumfang von mehreren Petabyte ausgelegt ist. Zu diesem Zweck hat Microsoft vor einiger Zeit die Firma Datallegro gekauft, welche eine sogenannte Massively Parallel Processing Architecture (MPP) entwickelt hat. Dahinter verbirgt sich ein relativ simples Konzept: Anstelle eines einzigen, auf umfangreiche Data Warehouses ausgerichteten Super-Servers wird aus mehreren Standard-Servern ein Cluster gebaut. Abfragen von Clients können dann parallel von den verschiedenen Servern im Cluster bearbeitet werden.
Auch in puncto Hardware- und Technologie-Support wurde SQL Server 2008 R2 weiter ausgebaut. So unterstützt der Datenbank-Server jetzt Solid State Disks (SSD) und bis zu 256 logische Prozessoren (64 in Hyper-V). Ausserdem gibt es Support für Live Migration und Hot-Add-VM-Storage in Hyper-V sowie Unterstützung für PowerShell 2.0.
SQL Server 2008 R2 bringt eine ganze Reihe sinnvoller Neuerungen. Allen voran die Powerpivot-Technologie, welche die Business Intelligence nun viel näher an den Endbenutzer heranbringt. Zu beachten ist allerdings, dass nicht alle der neuen Features in allen SQL-Server-Varianten enthalten sind. So stehen beispielsweise das Multiserver-Management, die Data-tier Application Components (DAC) oder Powerpivot for Sharepoint erst ab der Enterprise-Edition zur Verfügung.
Urs Bertschy ist Inhaber der auf Web- und SharePoint-Consulting/-Development spezialisierten Bertschy Informatik AG. Er unterhält einen Technologieblog der sich vor allem SharePoint- aber auch anderen IT-Themen widmet.