SQL Server 2005 Integration Services – Eine Einführung Autor: Kamal Hathi Veröffentlichung: Mai 2005 Zusammenfassung: Dieses Dokument untersucht die Herausforderungen, mit denen sich Unternehmen konfrontiert sehen, die sich auf Technologien zur Datenintegration stützen, die sie mit wichtigen und verlässlichen Daten versorgen sollen, um einen Wettbewerbsvorteil in der heutigen Geschäftswelt zu erreichen. Es wird gezeigt, wie SQL Server 2005 Integration Services (SSIS) den Abteilungen für Informationstechnologie hilft, den Ansprüchen ihrer Unternehmen an Datenintegration entsprechen zu können. Das geschieht auch anhand von Beispiel-Szenarien. 11 Copyright Dies ist ein vorläufiges Dokument und kann vor der endgültigen kommerziellen Veröffentlichung der hier beschriebenen Software noch wesentliche Veränderungen erfahren. Die in diesem Dokument enthaltenen Informationen repräsentieren die augenblickliche Meinung der Microsoft Corporation zu den diskutierten Themen zum Zeitpunkt der Publikation. Da Microsoft den wechselnden Ansprüchen des Marktes entsprechen muss, sollte dieses Dokument nicht als eine Haftung seitens Microsoft interpretiert werden, und Microsoft kann nicht für die Genauigkeit jeglicher gegebener Information nach dem Datum der Veröffentlichung garantieren. Dieses White Paper dient nur der Information. MICROSOFT GIBT KEINE GARANTIEEN, AUSDRÜCKLICHE, ANGEDEUTETE ODER STATUTARISCHE, DIE DIE INFORMATIONEN IN DIESEM DOKUMENT BETREFFEN. Es liegt in der Verantwortung des Benutzers, allen maßgeblichen Urheberrechten zu entsprechen. Kein Teil dieses Dokuments kann reproduziert werden, in einem Verteilersystem gespeichert oder in ein Verteilersystem eingespeist werden, oder in irgend einer Form auf irgend eine Art übertragen werden (elektronisch, mechanisch, durch Photokopieren, Aufnehmen oder ähnliches), ohne Urheberrechte zu verletzten und darf nur geschehen mit einer ausdrücklichen schriftlichen Genehmigung der Microsoft Corporation. Microsoft kann Patente, Patentanmeldungen, Schutzmarken, Urheberrechte oder andere Rechte geistigen Eigentums haben, die in diesem Dokument behandelte Gegenstände betreffen. Soweit nicht eine ausdrückliche schriftliche Lizenzgenehmigung seitens Microsoft vorliegt, gibt die Ausstattung dieses Dokuments Ihnen keinerlei Lizenz über Patente, Schutzmarken, Urheberrechte oder andere geistige Eigentümer. 2005 Microsoft Corporation. Alle Rechte vorbehalten. Microsoft, Visual Basic, Visual C# und Visual Studio sind entweder eingetragene Handelsmarken oder Handelsmarken der Microsoft Corporation in den Vereinigten Staaten und/oder anderen Ländern. Die Namen hier erwähnter tatsächlicher Unternehmen oder Produkte können Handelsmarken ihrer entsprechenden Besitzer darstellen. 2 Inhaltsverzeichnis Einführung ........................................................................................................ 1 Ein Beispiel-Szenario ....................................................................................... 1 Datenquellen ............................................................................................. 1 Datenkonsum ............................................................................................ 1 Anforderungen an die Datenintegration ........................................................ 1 Herausforderungen der Datenintegration ......................................................... 2 Technologische Herausforderungen ................................................................... 2 Betriebliche Herausforderungen ........................................................................ 4 Wirtschaftliche Herausforderungen .................................................................... 4 SQL Server 2005 Integration Services .............................................................. 5 Die Architektur von SSIS ................................................................................. 5 Taskflussmodul und Datenflussmodul ........................................................... 5 Architektur der Pipeline .............................................................................. 5 Integrations-Szenarien .................................................................................... 6 SSIS für herkömmliches DW-Laden .............................................................. 6 SSIS und Datenqualität .............................................................................. 9 SSIS, die Integrations-Plattform ..................................................................... 13 Integrierende Entwicklungs-Plattform ......................................................... 13 Programmierbarkeit ................................................................................. 16 Skripts ................................................................................................... 16 Zugänglich gemachte Datenintegration .......................................................... 18 i Einführung Die Fähigkeit, Daten in sinnvolle und verwertbare Information umzuwandeln, ist in der heutigen Geschäftswelt die wichtigste Quelle für einen Wettbewerbsvorsprung. Für die informationstechnologischen Abteilungen weltweiter Unternehmen hat sich die Fähigkeit, die Datenflut zu bewältigen um so die Vergangenheit besser zu verstehen und für die Zukunft einen Leitfaden zu gewinnen, als eine der größten Herausforderungen erwiesen. Es gibt drei weitgefasste Kategorien von Problemen, die Datenintegration betreffen: Technologische Herausforderungen Unternehmensbelange Wirtschaftliche Herausforderungen In diesem Dokument sollen die Herausforderungen detailliert untersucht werden, und es soll gezeigt werden, wie sie mit Microsoft® SQL Server™ 2005 Integration Services (SSIS) angegangen werden können. Als erstes sollen sie im Kontext eines BeispielSzenarios betrachtet werden. Ein Beispiel-Szenario Ein führendes weltweites Transportunternehmen nutzt sein Data Warehouse, um seine Leistung zu analysieren und Varianzen in seinen geplanten Lieferungen vorherzusagen. Datenquellen Die Hauptdatenquellen dieses Unternehmens bestehen in Bestelldaten aus dem B2basierten Auftragserfassungssystem, Kundendaten aus dem SQL Server-basierten CRMSystem (Customer Relationship Management), und Lieferantendaten aus dem Oraclebasierten ERP-System. Zusätzlich zu diesen Hauptsystemen werden im Data Warehouse Daten erfasst, die als “außergewöhnliche Ereignisse” von Abteilungsleitern im Versand per Hand in Arbeitsblätter eingetragen wurden. Aktuelle externe Daten wie Wetterinformationen, Verkehrslage und Lieferanten-Details (für Auslieferungen von Subunternehmen) sind auf einer zeitverzögerten Basis in Form von Textdateien aus verschiedenen Quellen erfasst. Datenkonsum Nicht nur sind die Quellen dieser Daten sehr verschieden, sondern auch ihre Konsumenten, sowohl in ihren Anforderungen, als auch in ihren Standorten. Diese Vielfalt hat zu einer Wucherung lokaler Systeme geführt. Eine der Hauptaufgaben der ITAbteilung ist es, eine “einzige Version der Wahrheit” zu erschaffen, zumindest für die Kundendaten. Anforderungen an die Datenintegration Angesichts dieser Vielfalt von Daten, betriebsbedingten Belangen und Benutzeranforderungen hat die IT-Abteilung die folgenden Anforderungen an Datenintegration spezifiziert: Historische und aktuelle Daten, die aus einer Vielzahl interner und externer Quellen integriert wurden, müssen in verlässlicher und konsistenter Form dargeboten werden. 1 Um Rückstände in der Datenaufnahme zu reduzieren, müssen die Daten von Anbietern und Zwischenhändlern über einen Webdienst oder anderen direkten Weg wie FTP erreichbar sein. Daten müssen bereinigt werden, doppelte Daten müssen entfernt werden, die Datenqualität muss generell verstärkt werden. Wachsende globale behördliche Anordnungen erfordern, dass das Unternehmen saubere Audit Trails unterhält. Es reicht nicht aus, verlässliche Daten zu pflegen; diese Daten müssen nachvollziehbar und bestätigt sein. Herausforderungen der Datenintegration In unserem Szenario ist das Problem der Datenintegration äußerst einfach: Daten aus vielfältigen Quellen erfassen, bereinigen und transformieren, und die Daten zwecks Analyse und Berichterstellung in angemessene Speicher laden. Unglücklicherweise investieren wirkliche Unternehmen 60%-80% ihrer verfügbaren Ressourcen bei einem Data Warehouse oder Business Intelligence-Projekt in die Datenintegration. Warum ist das so schwierig? Technologische Herausforderungen Die technologischen Herausforderungen beginnen bei den Quellsystemen. Wir bewegen uns vom Sammeln von Transaktionsdaten (Kunden erstehen, kaufen, oder erweben auf andere Art etwas) zum Sammeln von vor-Transaktionsdaten (die Kundenabsichten erfassen mittels Mechanismen wie Webclicks oder RFID). Daten werden nun nicht nur aus traditionellen Quellen und Formaten wie Datenbanken und Textdateien eingespeist, sondern sind in einer wachsenden Zahl verschiedener Formate (von proprietären Dateien über Microsoft Office-Dokumente bis zu XML-basierten Dateien) und Internetbasierten Quellen wie Web-Diensten und RSS (Really Simple Syndication)-Streams verfügbar. Die einschlägigsten Probleme sind: Viele Quellen mit verschiedenen Formaten. Strukturierte, semistrukturierte und unstrukturierte Daten. Datenzuspeisungen aus Quellsystemen, die zu unterschiedlichen Zeiten eintreffen. Große Datenmengen. Selbst im Idealfall, auch wenn es irgendwie gelingt, die benötigten Daten an einem Ort zu sammeln, tauchen doch neue Probleme auf: Die Datenqualität. Verschiedenen Datenformaten einen Sinn zu geben. Die Daten in ein Format transformieren, das sinnvoll ist für einen Wirtschaftsanalytiker. Angenommen, es gelingt, die benötigten Daten zu bekommen und zu bereinigen, sie zu transformieren und brauchbar zu formatieren, gibt es noch eine Veränderung weg von traditioneller Datenbewegung und –integration. Es ist der Schritt weg von starren batchorientierten Prozessen hin zu fließenden, kürzeren und flexibleren bedarfsgesteuerten Prozessen. Batchorientierte Prozesse werden üblicherweise in “Stillstandzeiten” ausgeführt, wenn Benutzer keine schweren Anforderungen an das System stellen. Das geschieht ich der Regel nachts, während eines vordefinierten BatchZeitfensters von 6-8 Stunden, wenn niemand im Büro sein sollte. Doch die wachsende Globalisierung von Unternehmen jeder Art und Größe bringt es mit sich, dass dies 2 2 einfach nicht mehr zu realisieren ist. Es gibt wenige Stillstandzeiten (wenn überhaupt), und irgendwo in der Welt ist immer jemand im Büro. Im Reich der globalisierten Unternehmen geht die Sonne wirklich nicht mehr unter. Daraus resultierten: Wachsender Druck, die Daten so schnell wie möglich zu laden. Die Notwendigkeit, verschiedenste Ziele gleichzeitig zu laden. Verschiedene Ziele. Nicht nur müssen wir all das ausführen, es muss auch so schnell wie möglich geschehen. In Extremfällen wie Online-Unternehmen müssen Daten ununterbrochen integriert werden. Es gibt keine Batch-Zeitfenster, und Wartezeiten dürfen die Minuten nicht überschreiten. In vielen dieser Szenarien wird der Entscheidungsprozess mit durchgehend laufender Software automatisiert. Skalierbarkeit und Leistung werden angesichts von Unternehmensanforderungen, die keine Stillstandzeiten mehr zulassen, immer wichtiger. Ohne die richtige Technologie benötigen Systeme bei fast jedem Schritt im Prozess von Warehousing und Integration Staging. Wenn unterschiedliche (vor allem nicht standardisierte) Quellen in den ETL-Prozess (Extract, Transform, and Load) einbezogen werden müssen und komplexere Operationen (wie Data Mining und Text Mining) an den Daten ausgeführt werden müssen, steigt der Bedarf nach Staging. Wie in Abbildung 1 verdeutlicht wird, wächst mit zunehmendem Staging auch die Zeit, die es braucht, ’den Kreislauf zu vollenden’ (neue Daten zu analysieren und in Handlungen einzubeziehen beispielsweise). Diese traditionellen ETL-Architekturen (im Gegensatz zu wertschöpfenden ETL-Prozessen, die vor dem Laden geschehen) stellen schwere Beschränkungen für die Beweglichkeit von Systemen dar, wachsenden Geschäftsansprüchen zu entsprechen. Warnungen & Eskalation Data Mining Call Center: Semistrukturierte Daten Alt-Datenbestände: binäre Dateien Text-Mining Handcodierung Bereiningung & ETL Berichte Anwendungsdatenbank Mobile Daten Abbildung 1 Die Frage danach, wie Datenintegration sich in die Gesamtintegrationsarchitektur eines Unternehmens fügt, wird wichtiger, wenn sowohl die Echtzeit-Transaktionstechnologie von Anwendungsintegration, als auch die batchorientierte Welt der 3 Datenintegrationstechnologie benötigt werden, um Geschäftsprobleme des Unternehmens zu lösen. Betriebliche Herausforderungen Es gibt zwei große Themenbereiche, die Datenintegration in großen Unternehmen betreffen; das ‚Macht’-Problem, und das ‚Komfortzonen’-Problem. Macht-Problem: Daten bedeuten Macht, und es ist häufig schwierig, Menschen zu vermitteln, dass Daten wirklich wertvolle Ressourcen für das Unternehmen darstellen. Damit Datenintegration erfolgreich verlaufen kann, müssen alle Besitzer verschiedenster Datenquellen aus ganzer Überzeugung an einem Strang ziehen. Mangel an Kooperation der verschiedenen Parteien ist einer der Hauptgründe für das Scheitern von Datenintegrationsprojekten. Unterstützung durch die Geschäftsführung, ein gemeinsamer Konsens, und ein starkes Datenintegrations-Team mit vielen Verantwortlichen sind nur einige der wichtigen erfolgversprechenden Faktoren für eine Lösung dieser Themen. Komfortzonen-Problem: Betrachtet man Datenintegration als isoliertes Problem, gibt es zahlreiche Lösungswege. Ungefähr 60% der Datenintegration geschieht durch HandCodierung. Die Bandbreite der Technologie, die zum Lösen des gleichen Problems verwendet werden kann, reicht von Replikation über ETL und SQL bis EAI. Menschen tendieren zu der ihnen vertrauten Technologie. Aber auch, wenn diese Technologien Schnittmengen in ihren Möglichkeiten aufweisen und ihre Arbeit, isoliert betrachtet, erledigen, sind sie doch dafür entworfen, unterschiedliche Probleme zu Lösen. Wenn versucht wird, die Integration von Unternehmensdaten ohne eine solide architektonische Grundlage und ohne angemessene technologische Möglichkeiten zu lösen, kann sich das als Sackgasse erweisen. Wirtschaftliche Herausforderungen Die eben ausgeführten betrieblichen und technologischen Belange machen vereint die Datenintegration zum kostspieligsten Teil eines jeden Data Warehouse/Business Intelligence-Projekts. Hier die Hauptfaktoren für eine Verteuerung von Datenintegration: Die Ausgabe der Daten in einem für Datenintegration benötigten Format erweist sich als langsamer, quälender Prozess, befrachtet mit innerbetrieblichen Machtspielchen. Bereinigen und Abbilden der Daten aus verschiedensten Quellen in ein schlüssiges und aussagekräftiges Format ist extrem schwierig. Häufig bieten die gewöhnlichen Datenintegrationswerkzeuge nicht genug Funktionalität und Erweiterbarkeit, um innerhalb eines Projekts den Ansprüchen an Datentransformation zu genügen. Das kann zu der Ausgabe großer Summen für Beratung führen, um speziellen ETL-Code zu erstellen. Verschiedene Teile des Unternehmens beschäftigen sich isoliert voneinander mit dem Problem der Datenintegration. Bei Zusammenführung dieser Bemühungen in eine unternehmensweite Datenintegrationsarchitektur entstehen zusätzliche Kosten. Da der betriebliche Bedarf nach Data Warehousing und Business Intelligence steigt, wird eine mangelhafte Datenintegrationsarchitektur immer schwieriger zu unterhalten, und die Gesamtkosten schießen in die Höhe. 4 4 SQL Server 2005 Integration Services Die traditionelle ETL-zentrierte Datenintegration aus Standard-Datenquellen bleibt das Herz der meisten Data Warehouses. Dennoch verändern einige Faktoren die traditionellen Ansprüche an Datenintegration: der Bedarf nach Integration verschiedenartigerer Datenquellen, behördliche Vorschriften, globale Operationen und Onlineoperationen. In dieser schnell wachsenden und sich verändernden Landschaft ist es wichtiger denn je, den Daten Wert zu entnehmen und sich darauf verlassen zu können. Effektive Datenintegration ist zur Basis effektiven Entscheidens geworden. SQL Server Integration Services bietet eine flexible, schnelle und skalierbare Architektur, die effektive Datenintegration in laufenden Unternehmensumgebungen ermöglicht. Dieses Whitepaper wird untersuchen, in wie weit SQL Server Integration Services (SSIS) ein effektives Werkzeug darstellt, sowohl für die traditionellen Belange von ETLOperationen, als auch für die wachsenden Ansprüche genereller Datenintegration. Es wird auch diskutiert werden, warum sich SSIS grundlegend von den Werkzeugen und Lösungen anderer führender ETL-Anbieter unterscheidet, so dass es ideal den wechselnden Ansprüchen des globalen Business entspricht, vom größten Unternehmen bis zum kleinsten Geschäft. Die Architektur von SSIS Taskflussmodul und Datenflussmodul SSIS besteht aus einem operationsorientierten Taskflussmodul und einem skalierbaren, schnellen Datenflussmodul. Der Datenfluss befindet sich im Kontext eines allumfassenden Taskflusses. Das Taskflussmodul stellt die Laufzeitressource und operationale Unterstützung für das Datenflussmodul. Diese Kombination von Taskfluss und Datenfluss befähigt SSIS zu großer Effektivität, sowohl in traditionellen Data Warehouse (DW)-Szenarios, als auch in zahlreichen erweiterten Szenarios, wie Data Center-Operationen. Dieses Whitepaper konzentriert sich hauptsächlich auf datenflussbezogene Szenarios. Die Verwendung von SSIS in Data Center-orientierten Arbeitsabläufen ist ein eigener Themenbereich. Architektur der Pipeline Im Kern von SSIS liegt die Datentransformationspipeline. Diese Pipeline verfügt über eine bufferorientierte Architektur, die es ermöglicht, Rowsets sofort nach Laden in den Speicher extrem schnell zu verändern. Die Herangehensweise besteht darin, alle Schritte der Datentransformation eines ETL-Prozesses in einer einzigen Operation ohne Staging der Daten auszuführen, auch wenn gewisse Transformationsanforderungen, operationale Anforderungen oder gar die Hardware ein Hindernis darstellen. Trotz allem vermeidet die Architektur in Hinblick auf eine maximale Leistungsfähigkeit das Staging. Sogar das Kopieren der Daten in den Speicher wird weitestgehend vermieden. Diese Herangehensweise kontrastiert zu traditionellen ETL-Werkzeugen, die bei nahezu jedem Schritt von Warehousing- oder Integrationsprozessen Staging benötigen. Die Fähigkeit, Daten ohne Staging zu verändern reicht über traditionelle relationale und Flatfile-Daten und über herkömmliche ETL-Transformationsfähigkeiten hinaus. Mit SSIS werden alle Datentypen (strukturierte, unstrukturierte, XML, etc.) in eine tabellarische (Spalten und Zeilen) Struktur konvertiert, bevor sie in die Buffer geladen werden. Jede Datenoperation, die an tabellarischen Daten ausgeführt werden kann, kann an den 5 Daten bei jedem Schritt in der Datenflusspipeline ausgeführt werden. Das bedeutet, dass eine einzelne Datenflusspipeline vielzählige Quellen von Daten integrieren, und ohne Staging beliebige komplexe Operationen an den Daten ausführen kann. Trotzdem sollte bemerkt werden, dass SSIS, sollten unternehmerische oder operationale Gründe Staging erfordern, gute Unterstützung für diese Implementierungen bietet. Die Architektur von SSIS ermöglicht eine große Bandbreite von Datenintegrationsszenarien, die von herkömmlichem Data Warehouse (DW)-orientierten ETL bis zu außergewöhnlichen Technologien zur Datenintegration reicht. Integrations-Szenarien SSIS für herkömmliches DW-Laden In seinem Kern ist SSIS ein umfassendes, voll funktionales ETL-Werkzeug. Seine Funktionalität, Skalierung und Leistung schneiden im Vergleich zu High-EndKonkurrenten auf dem Markt sehr vorteilhaft ab, zu einem Bruchteil von deren Kosten. Die Pipeline-Architektur der Datenintegration erlaubt das Konsumieren von Daten aus vielzähligen simultanen Quellen, das Ausführen zahlreicher komplexer Transformationen und anschließend das Senden der Daten an zahlreiche simultane Ziele. Diese Architektur ermöglicht es, SSIS nicht nur für große Datensets, sondern auch für komplexe Datenflüsse zu verwenden. Während die Daten von Quelle(n) zu Ziel(en) fließen, kann der Datenfluss aufgespalten werden, zusammengeführt, mit anderen Datenflüssen kombiniert und anderweitig bearbeitet werden. Abbildung 2 zeigt ein Beispiel für einen solchen Fluss: 6 6 Abbildung 2 SSIS kann Daten aus einer Vielzahl von Quellen aufnehmen (und in eine Vielzahl von Quellen laden), einschließlich OLE DB, verwaltete (ADO.NET), ODBC, Flatfile, Excel und XML, wobei ein spezialisiertes Komponentenset verwendet wird, das Adapter genannt wird. SSIS kann auch Daten von benutzerdefinierten Datenadaptern aufnehmen (im Hause erstellte oder von Dritten). Das ermöglicht das Einbinden von Logistik zum Laden veralteter Daten in eine Datenquelle, die nahtlos in den SSIS Datenfluss eingespeist werden kann. SSIS beinhaltet einen Satz wirkungsvoller Datentransformationskomponenten, die für das Erstellen von Data Warehouses benötigte, essentiell wichtige Datenbearbeitungen ermöglichen. Einige Transformationskomponenten: Aggregieren Führt zahlreiche Aggregationen in einem einzelnen Durchlauf aus. Sortieren Sortiert Daten im Fluss. Suchen Führt flexible zwischengespeicherte Suchoperationen an Verweisdatensätzen aus. Pivot und UnPivot Zwei Transformationen, die genau das tun, was der Name vermuten lässt. Zusammenführung, Zusammenführungsverknüpfung, und Union All Führen Operationen zum Zusammenführen und Kombinieren aus. 7 Abgeleitete Spalten Führt auf Spaltenebene Manipulationen aus wie Zeichenfolgeoperationen, numerische Operationen, Datum/Zeit-Operationen und andere, sowie Codepageübersetzungen. Tatsächlich beinhaltet diese eine Komponente, was andere Anbieter auf viele verschiedene Transformationen aufteilen würden. Datenkonvertierung Konvertiert Daten innerhalb verschiedener Typen (numerische Daten, Zeichenfolgendaten, etc.). Überwachung Fügt Spalten mit Metadaten zur Herkunft und andere Daten für Überwachungsoperationen hinzu. Zusätzlich zu diesen Data Warehousing Kern-Transformationen beinhaltet SSIS Unterstützung für fortgeschrittene Data Warehousing-Ansprüche wie etwa langsam veränderliche Dimensionen, auch SCDs (Slowly Changing Dimensions). Der Assistent für langsam veränderliche Dimensionen in SSIS führt Benutzer durch das Spezifizieren ihrer Ansprüche an das Verwalten von langsam veränderlichen Dimensionen und generiert, basierend auf der Eingabe, einen vollständigen Datenfluss mit zahlreichen Transformationen, um das Laden der langsam veränderlichen Dimension zu implementieren. Unterstützung für Typ 1- und 2-SCD, sowie 2 neue SCD-Typen (Feste Attribute und Abgeleitete Elemente) ist gegeben. Abbildung 3 zeigt eine Seite des SCDAssistenten. Abbildung 3 8 8 Abbildung 4 zeigt den vom Assistenten erstellten Datenfluss. Abbildung 4 SSIS kann auch dafür verwendet werden, Analysis Services MOLAP-Zwischenspeicher (Multidimensional OLAP) direkt aus der Datenflusspipeline zu laden. Das bedeutet, dass SSIS nicht nur dafür verwendet werden kann, relationale Data Warehouses zu erstellen, sondern auch, um multidimensionale Cubes für Analyseanwendungen zu laden. SSIS und Datenqualität Eine der Schlüsseleigenschaften von SSIS besteht in seiner Fähigkeit, Daten nicht nur zu integrieren, sondern diese Daten auch mittels verschiedener Technologien zu bearbeiten. SSIS verfügt über die innovativen, auf “Fuzzy-Logik” basierenden Komponenten zur Datenbereinigung. Diese Komponenten wurden von den Microsoft Forschungslaboren entwickelt und stellen die neuesten Forschungen auf diesem Gebiet dar. Die Herangehensweise geschieht unabhängig vom Gebiet; sie stützt sich nicht auf spezifische Gebietsdaten wie Adresse oder Postleitzahl. Dies ermöglicht es, die Transformationen für das Bereinigen der meisten Daten einzusetzen, nicht nur für Daten von Adressenangaben. 9 SSIS integriert tief mit der Data Mining-Funktionalität in Analysis Services. Data Mining abstrahiert die Muster in einem Datensatz und verkapselt sie in einem Mining-Modell. Dieses Modell kann dafür verwendet werden, Vorhersagen zu treffen, welche Daten zu einem Datensatz gehören und welche Daten anomal sein können; so kann Data Mining als Werkzeug verwendet werden, um Datenqualität zu implementieren. Die Unterstützung für komplexes Routen in SSIS ermöglicht es nicht nur, anomale Daten zu identifizieren; die Daten werden automatisch korrigiert und durch bessere Werte ersetzt. Das ermöglicht „Closed Loop“-Bereinigungs-Szenarien. Abbildung 5 zeigt das Beispiel eines solchen im Kreislauf geschlossenen Bereinigungsdatenflusses. Abbildung 5 Zusätzlich zu seinen eingebauten Features zur Datenqualität kann SSIS erweitert werden, um eng mit Datenbereinigungs-Lösungen von Dritten zusammenzuarbeiten. 10 10 Anwenden von SSIS über traditionelles ETL hinaus Die Fähigkeit der Datenflusspipeline, annähernd jeden Datentyp bearbeiten zu können; die tiefe Integration mit Analysis Services; die Unterstützung für Erweiterungen um eine Vielzahl von Datenbearbeitungstechnologien; ein reichhaltiges Workflowmodul. Dies alles ermöglicht es, SSIS in Szenarien einzusetzen, die man nicht traditionell als ETL bezeichnen kann. Dienstorientierte Architektur SSIS bietet Unterstützung für XML-Daten in der Datenflusspipeline, einschließlich Dateien von Diskette als auch URLs über HTTP. Die XML-Daten werden in tabellarische Daten „zerschnipselt“, welche dann einfach im Datenfluss bearbeitet werden können. Diese XML-Unterstützung kann mit der Unterstützung für Webdienste arbeiten. SSIS kann mit Webdiensten in der Ablaufsteuerung interagieren, um XML-Daten zu erfassen. XML kann aus Dateien erfasst werden, aus Microsoft Message Queuing (MSMQ), und aus dem Web via HTTP. SSIS ermöglicht die Bearbeitung von XML durch XSLT, XPATH, Diff/Merge etc, und kann XML ebenfalls in den Datenfluss speisen. Diese Unterstützung befähigt SSIS, an flexiblen service-orientierten Architekturen (SOA) teilzuhaben. Data Mining und Text Mining SSIS integriert nicht nur eng mit den Data Mining-Eigenschaften von Analysis Services, sondern verfügt auch über Text Mining-Komponenten. Text Mining (auch bekannt als Text-Klassifizierung) identifiziert die Beziehung zwischen geschäftlichen Begriffen und Textdaten (Wörter und Sätze). Das ermöglicht das Entdecken von Schlüsselbegriffen in den Textdaten, und darauf basierend das automatische Identifizieren von „interessantem“ Text. Das wiederum ermöglicht “Closed-Loop”-Aktionen um geschäftliche Ziele wie wachsende Kundenzufriedenheit und Verbesserung der Qualität von Produkten und Diensten zu erreichen. Bedarfsgesteuerte Datenquelle Eines der einzigartigsten Features von SSIS ist das DataReader-Ziel, das Daten in einen ADO.NET DataReader packt. Diese Komponente in der Datenflusspipeline ermöglicht es, dass ein Paket, welches das DataReader-Ziel enthält, als Datenquelle verwendet werden kann, indem es als ADO.NET DataReader dient. Dies ermöglicht es, dass SSIS nicht nur als herkömmliches ETL-Werkzeug zum Laden von Data Warehouses verwendet werden kann, sondern auch als Datenquelle, die bedarfsgesteuert integrierte, abgeglichene und bereinigte Daten aus vielzähligen Datenquellen liefern kann. Beispielsweise kann es so ermöglicht werden, dass Reporting Services Daten aus vielen verschiedenen Datenquellen verwendet, indem ein SSIS-Paket als Datenquelle verwendet wird. Ein mögliches Szenario, das all diese Fähigkeiten einschließt, besteht darin, interessante RSS-Feeds-Artikel zu entdecken und als Teil eines regelmäßigen Berichts zu benutzen. Abbildung 6 zeigt ein SSIS-Paket, das Daten von RSS-Feeds im Internet aufspürt, mit den Daten eines Web-Dienstes integriert, Text Mining ausführt, um interessante Artikel zu finden und diese dann in ein DataReader-Ziel zu packen, damit sie am Ende für einen Reporting Services-Bericht verwendet werden können. 11 Abbildung 6 Abbildung 7 zeigt den Gebrauch eines SSIS-Pakets als Datenquelle im Berichtsassistenten. 12 12 Abbildung 7 Aus der Perspektive eines ETL-Werkzeugs betrachtet ist dieses Szenario sehr ungewöhnlich, denn es findet nicht wirklich Datenextraktion, -transformation oder ein Laden statt. SSIS, die Integrations-Plattform Nicht nur das Ermöglichen ungewöhnlicher Szenarien macht, dass SSIS über ein ETLWerkzeug hinaus geht, sondern auch die Tatsache, dass es eine echte Plattform für Datenintegration darstellt. SSIS ist Teil der SQL Server Business Intelligence (BI)Plattform, welche die Entwicklung von End to End-BI-Anwendungen ermöglicht. Integrierende Entwicklungs-Plattform SQL Server Integration Services, Analysis Services, und Reporting Services verwenden alle eine Visual Studio®-basierte Entwicklungsumgebung, die SQL Server Business Intelligence (BI) Development Studio genannt wird. BI Development Studio bietet eine integrierende Entwicklungsumgebung, auch integrated development environment (IDE), für die Entwicklung von BI-Anwendungen. Diese gemeinsame Infrastruktur ermöglicht Integration auf Metadaten-Ebene zwischen verschiedenen Entwicklungs-Projekten (Integration, Analyse und Berichterstellung). Ein Beispiel für diese gemeinsame Struktur ist die Datenquellensicht, auch Data Source View (DSV), eine offline Schema/SichtenDefinition von Datenquellen, die von allen drei BI-Projekttypen verwendet wird. IDE bietet Möglichkeiten wie die Integration mit Versionskontrollensoftware (VSS beispielsweise) und die Unterstützung für Teambasierte Eigenschaften wie “checkin/check-out”. Damit werden die Ansprüche an eine geschäftliche, Teamorientierte Entwicklungsumgebung für BI-Anwendungen erfüllt. Abbildung 8 zeigt eine BI Development Studio-Lösung, die aus Integrationsprojekten, Analyseprojekten und Berichterstellungsprojekten besteht. 13 Abbildung 8 Nicht nur bietet das die Möglichkeit, BI-Anwendungen an einem einzigen Ort zu entwickeln; es können auch andere Visual Studio-Projekte erstellt werden (mit Visual C#®, Visual Basic® .NET etc.), womit den Entwicklern eine wirkliche End to EndEntwicklungserfahrung geboten wird. Neben einer integrierenden BI-Entwicklungsumgebung verfügt BI Development Studio über Features für echtes Laufzeit-Debuggen von SSIS-Paketen. Diese beinhalten die Möglichkeit, Haltepunkte zu setzten und unterstützen Standard-Entwicklungskonstrukte wie das Beobachten von Variablen. Ein wirklich einzigartiges Feature ist der DatenViewer, der die Möglichkeit bietet, Daten zu sichten, während sie die Datenflusspipeline durchlaufen. Die Visualisierung der Daten kann in Form eines gewöhnlichen Text-Rasters geschehen, oder aber als graphische Präsentation wie einem Punktdiagramm oder Säulendiagramm. Es ist auch möglich, mehrere Viewer zu verbinden, die Daten dann gleichzeitig in den verschiedensten Formaten darstellen. In Abbildung 9 werden geographische Daten als Text-Raster und Punktdiagramm dargestellt. 14 14 Abbildung 9 15 Programmierbarkeit Was SSIS zusätzlich zu einer professionellen Entwicklungsumgebung macht ist die Tatsache, dass die ganze Funktionalität durch einen reichen Satz von APIs dargeboten wird. Diese APIs sind sowohl verwaltet (.NET Framework), als auch systemeigen (Win32) und ermöglichen Entwicklern, die Funktionalität von SSIS zu erweitern durch benutzerdefinierte Komponenten in jeder durch das .NET-Framework unterstützten Sprache (wie C#, Visual Basic .NET, etc.) und C++. Diese benutzerdinierten Komponenten können Workflow-Tasks und Datenflusstransformationen darstellen (einschließlich Quell- und Ziel-Adapter). Das ermöglicht es, dass veraltete Daten und Technologien auf einfache Art in den SSIS-Integrationsprozess aufgenommen werden können und so die vergangenen Investitionen in veraltete Technologien wirkungsvoll eingesetzt werden können. Auch Komponenten von Dritten werden problemlos einbezogen. Skripts Die erwähnte Erweiterbarkeit beschränkt sich nicht auf das Wiederverwenden benutzerdefinierter Komponenten; sie umfasst auch skriptbasierte Erweiterbarkeit. SSIS verfügt über Skriptkomponenten, sowohl für den Taskfluss, als auch für den Datenfluss. Dies erlaubt es Benutzern, Skripts in Visual Basic .NET zu schreiben, um Ad-hocFunktionalität (einschließlich Datenquellen und Ziele) hinzuzufügen und jegliche bereits existierende Funktionalität wiederzuwenden, verpackt als .NET Framework-Assemblies. In Abbildung 10 wird ein Skript gezeigt, das Datenzeilen innerhalb eines Datenflusses bearbeitet. 16 16 Abbildung 10 17 Die Erweiterbarkeit macht SSIS nicht nur zu einem Datenintegrations-Werkzeug, sondern auch zu einem Integrations-Bus, in den Technologien wie Data Mining, Text Mining und UDM einfach eingesteckt werden können, um komplexe IntegrationsSzenarios zu ermöglichen, einschließlich beliebiger Datenbearbeitungen und Strukturen. Zugänglich gemachte Datenintegration Die flexible und erweiterbare Architektur von SSIS ermöglicht es, dass die meisten der in diesem Whitepaper erwähnten technologischen Probleme, die Datenintegration mit sich bringt, angegangen werden können. Wie man an Abbildung 11 sehen kann, wird durch SSIS unnötiges Staging beseitig, oder zumindest minimiert. Da komplexe Datenbearbeitungen in einer einzigen Pipeline-Operation ausgeführt werden, ist es möglich, auf Änderungen und Muster in den Daten sehr schnell zu reagieren, und das innerhalb eines Zeitrahmens, der wichtig ist, um den Kreislauf zu schließen und tätig zu werden. Das steht im Kontrast zu traditionellen Architekturen, die auf Staging fußen und so einem Schließen des Kreislaufs und wirkungsvollem Handeln im Weg stehen. Warnungen & Eskalation Text MiningKomponenten Data MiningKomponenten Mobil Call Center: semistrukturierte Daten Benutzerdefinierte Quelle Alt-Datenbestände: Binäre Dateien StandardQuellen Mischt Warehouse DatenbereinigungsKomponenten Bericht Anwendungsdatenbank Abbildung 11 Die Erweiterbarkeit von SSIS erlaubt es Unternehmen, ihre bereits getätigten Investitionen in benutzerdefinierten Code zur Datenintegration wirkungsvoll einzusetzen, indem dieser als wiederverwertbare Ergänzung SSIS beigefügt wird. Dadurch wird es den Unternehmen ermöglich, die gesamten Vorteile von Features wie Protokollierung, Debuggen, BI-Integration etc zu nutzen. Das hilft enorm, einige der weiter oben beschriebenen betrieblichen Herausforderungen zu überwinden. 18 18 SSIS als Bestandteil des SQL Server-Produkts bedeutet – im Vergleich zu anderen High End-Datenintegrationswerkzeugen – günstige Anschaffungskosten. Nicht nur wurden die eigentlichen Anschaffungskosten gesenkt; auch die Kosten für Anwendungsentwicklung und –unterhalt sind im Vergleich zu anderen vergleichbaren Werkzeugen erheblich verringert durch die enge Integration mit Visual Studio und den anderen SQL Server BIWerkzeugen. Die extrem preiswerten Gesamtbetriebskosten, auch TCO (total cost of ownership), von SSIS (und den restlichen SQL Server-Produkten) macht Datenintegration der Enterprise-Klasse allen Segmentbereichen des Marktes zugänglich und nimmt sie aus dem Exklusivbereich der größten (und reichsten) Unternehmen. Zugleich ist die Architektur von SSIS darauf eingestellt, die Vorteile moderner Hardware zu nutzen und den höchsten Benutzeransprüchen an Leistung und Skalierung zu entsprechen. SSIS ermöglicht allen Kunden eine reichhaltige, skalierbare Datenintegration, angefangen von kleinen und mittelständischen Unternehmen bis zu den größten Unternehmen. Die Verbindung mit den anderen SQL Server-Features, die Microsoft Customer Support-Infrastruktur (angefangen bei breitflächigen, langen BetaTests über reichhaltige Online-Communities bis zu Support-Verträgen) und die Konsistenz und Integration mit dem Rest der Microsoft-Produkte machen SSIS zu einem wirklich einzigartigen Werkzeug, das die Grenzen der herkömmlichen Datenintegration sprengt. 19