Heute möchte ich eine kleine Serie beginnen. Während meiner Zeit in Redmond führe ich viele Interviews mit Kollegen aus den Produktgruppen. Diese Interviews möchte ich in einer losen Reihe in übersetzter Form in meinem Blog publizieren. Da mein erstes Interview mit Buck Woody eine halbe Stunde lang war und ich wohl noch eine Weile brauchen werde um das alles aufzuarbeiten möchte ich heute mit jemandem anfangen, den sicherlich viele aus Vorträgen über SQL Server Integration Services kennen: Donald Farmer
Gruß,
Steffen
Hallo Donald, ich kenne Dich als den Integration Services Guy, was machst Du jetzt?
Jetzt bin ich der Analysis Service Guy, einer von vielen in Analysis Services. Ich bin ein Principal Program Manager und leite das Analysis Services Tools Team.
Analysis Services Tools bedeutet all die Komponenten, die mit der Analysis Services Engine interagieren?
Ja, alle Designer
Wie kamst Du zu Analysis Services nach all der Arbeit mit ETL und Integration Services?
Nun, die interessante Frage ist wie ich von Analysis Services zu ETL kam. Als ich zu Microsoft kam arbeitete ich zuerst für Analysis Services. Das war 2001. Dann habe ich etwa ein Jahr an Analysis Services gearbeitet. Aber zu dieser Zeit wurden die Tools von Analysis Services und Integration Services vom selben Team erstellt. Ich habe also an Tools für IS und AS gearbeitet. Als dann Integration Services ein eigenes Team wurde bin ich mitgegangen. Ich war also zuerst ein Analysis Services Guy, und jetzt bin ich heimgekehrt.
Du bist also erst seit 2001 bei Microsoft. Ich dachte, Du wärst Urgestein.
7 Jahre, aber es fühlt sich viel länger an.
Wie bist Du hier her gekommen?
Ich habe für eine kleine Firma namens AppSmart in Schottland gearbeitet. AppSmart hatte ein Rapid Development Tool für DataMarts und Data Warehouses. Wir waren sehr enge Microsoft Partner, und ich habe drei oder vier Jahre sehr eng mit dem Analysis Services Team zusammengearbeitet, mit Bill Baker und all den Leuten. Und dann habe ich mich entschieden, zu Microsoft zu kommen.
Wenn Du an Integration Services und Analysis Services denkst, gibt es Dinge im Produkt von denen Du denkst, dass viele Kunden sie nicht kennen aber kennen sollten? So eine Art versteckte Perlen?
Klar. In Integration Services gibt es gleich mehrere versteckte Perlen. Eine meiner Lieblinge dabei ist die Möglichkeit, Data Mining direkt im Datenfluss eines Integration Services Pakets zu verwenden. Das ist eine der interessantesten Features von Integration Services, wirklich einmalig. Niemand sonst kann Data Mining als Teil eines ETL-Prozesses verwenden. Unter anderem kann man ein Data Mining Modell verwenden um fehlende Werte vorherzusagen. Wenn ich bei einem Kunden zum Beispiel das Alter nicht kenne kann ich ein Data Mining Modell verwenden, das aus anderen Daten das Alter des Kunden vorhersagt und dieses berechnete Alter im Datenfluss hinzufügt. So kann ich mein Data Warehouse mit vollständigen Daten laden. Man sollte natürlich Flags oder ähnliches hinzufügen die besagen, dass das Daten aus dem Data Mining Modell sind. Das zeige ich gern in Demos
Du sagtest, es gibt noch mehr solche Perlen?
Nun, etwas Neues in Integration Services 2008 ist nicht so versteckt. Und das ist die Möglichkeit, die Scripting Task jetzt auch in C# und nicht mehr nur in Visual Basic zu programmieren.
Ja, und ich habe gerade erst gestern festgestellt, dass C# auch die Standard-Skriptsprache geworden ist. Darauf muss man sich beim Lesen der Beispiele aus der Dokumentation einstellen
Das stimmt, C# ist Default. Auch Data Profiling ist so eine Neuigkeit. Aber wenn es um versteckte Perlen geht, die viele Leute nicht kennen, dann gibt es da eine, die ich jedem zeige. Ein ganz kleiner Trick, der sehr nützlich ist: Wenn Du in Tools-Options (Extras->Optionen) gehst und in die Einstellungen des Integration Services Designers schaust dann gibt es dort ein kleines Feature namens AutoConnect (Automatische ...verbindung), für den Kontrollfluss und für den Datenfluss. Wenn Du das anschaltest und dann in der Designoberfläche eine Task oder eine Transformation ausgewählt hast und dann in die Toolbox gehst und eine andere Task oder Transformation doppelklickst, dann wird diese neue Task oder Transform hinzugefügt und automatisch mit der vorher ausgewählten verbunden. So kann man sehr schnell Pakete erstellen.
Auf der anderen Seite – hast Du den Eindruck, dass irgendein Feature in Integration Services falsch verwendet wird, irgendwas, wo die Kunden besser noch mal überlegen sollten?
Ja, eine der Sachen, die vielleicht falsch verwendet werden sind Skripte, die für alles benutzt werden statt lieber die spezifischen Tasks oder Transformationen zu nutzen. Skripte für alles im Datenfluss zu verwenden ist sehr verführerisch, insbesondere wenn man gut Visual Basic oder C# kann.
Was ist so schlecht daran?
Nun, es ist langsamer und man bekommt nicht dasselbe Niveau an Kontrolle über die Daten und über die Metadaten wie man es mit spezifischen Transformationen bekommt. Unsere Transformationen haben eine sehr sehr hohe Performance, sind in native code geschrieben, es gibt kein Marshalling von Daten von native code zu managed code. Sie sind sehr schnell und sehr korrekt. In Skripten wird die Performance nie so hoch sein.
Woran arbeitest Du jetzt? Was kannst Du uns schon sagen?
Nun, ich arbeite an einem neuen Projekt. Das ist klar. Aber über dieses Projekt kann ich noch nicht viel sagen. Wir werden es bei der BI Konferenz im Oktober bekanntgeben (gemeint: die US BI-Konferenz: http://www.msbiconference.com, 6.-8. Oktober in Seattle). Danach werden wir weltweit darüber sprechen.
Noch eine Sache: In Analysis Services sind wir derzeit Marktführer
Ja, wie sind Nummer eins bei OLAP
Alle anderen haben einfach eine Firma dazugekauft.
Ja, es hat viel Konsolidierung im Markt gegeben. SAP hat Business Object gekauft, Oracle hat Hyperion gekauft. Aber ich denke Analysis Services ist weiterhin die Nummer eins bei den OLAP-Datenbanken auf der Welt. Vor 10 Jahren, als ich angefangen habe mit Analysis Services zu arbeiten war das Produkt gerade auf dem Markt gekommen und wir hatten keine Kunden. Jetzt sind wir Marktführer. Und das haben wir nicht geschafft, indem wir Kunden von den Wettbewerbern abgeworben haben. Wir haben das erreicht, indem wir ein Marktwachstum geschaffen haben. Die Größe des Business Intelligence Markts ist jetzt deutlich größer, und viele dieser neuen Benutzer verwenden Microsoft-Produkte. Wenn heutzutage jemand OLAP oder Data Mining oder auch Datenintegration lernen oder zum ersten Mal einsetzen will dann ist Microsoft eine großartige Wahl. Es ist fast schon die Standard-Plattform der Wahl. Deswegen sind wir so erfolgreich.
Was glaubst Du, warum die meisten neuen Kunden unsere Produkte verwenden?
Zum einen ist der Preis natürlich ein Grund. Wir haben eine viel niedrigere Einstiegshürde als viele andere. Es liegt auch daran, dass unsere Produkte einfach zu lernen und zu verwenden sind. Aber besonders wichtig ist, dass sie gut mit anderen Werkzeugen integriert sind, mit Office für Endbenutzer, mit Visual Studio für Entwickler, und wir haben auch sehr starke Administrationstools die sich alle sehr gut integrieren.
Donald, vielen Dank für das Gespräch.