SQL Server 2005 Integration Services – Eine Einführung

Werbung
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
Herunterladen