9 Stimmen

Lohnt es sich für Entwickler, SSIS zu lernen/zu verwenden?

Ich fange an, in ziemlich viel ETL-Arbeit ein meinem aktuellen Job beteiligt zu werden, und jeder scheint ziemlich parteiisch zu SSIS sein. Ich kämpfe mit dem Versuch, die trivialsten Transformationen über BI Studio durchzuführen, die normalerweise einem Paar foreach-Schleifen mit einer Prise LINQ entsprechen. Ich bin mir nicht sicher, für welche Anwendungsfälle oder Benutzer dieses Tool nützlich wäre, und werde das Management wahrscheinlich davon überzeugen, dass ich darauf verzichten kann. Was ist der beste Weg, um meinen Fall zu machen, oder wenn es irgendwelche Empfehlungen für bessere Tooling, das wäre auch zu schätzen wissen.

1 Stimmen

Was ist das Problem, das Sie mit SSIS haben, es ist eigentlich ein ziemlich ausgezeichnetes Werkzeug für die Durchführung von Bulk-ETL sowie System-zu-System-Transformationen (z. B. Laden von flachen Dateien von einem Remote-FTP-Server in eine andere Remote-Datenbank-Server, oder Exportieren von Datenbankabfragen in xml und Veröffentlichung über Webservices) in sehr nicht-triviale Szenarien.

0 Stimmen

Vor 2,5 Jahren hatte ich auch Schwierigkeiten, die trivialsten Transformationen mit BI Studio durchzuführen. Damals schienen die Werkzeuge noch sehr unausgereift zu sein.

7voto

Frank Schwieterman Punkte 23718

Ich kenne mich mit SSIS nicht aus, abgesehen davon, dass ich einige der Grundlagen nachgelesen habe. Wie Sie kenne ich mich auch sehr gut mit LINQ aus und könnte schnell Code schreiben, um Daten zu verschieben und umzuwandeln.

Was aber, wenn die Tabelle 4 Gigabyte an Daten enthält? Glauben Sie, dass Ihr LINQ-Code das problemlos verarbeiten kann? Es wäre möglich, aber nicht einfach, vor allem wenn es viele Tabellen gibt, die sich gegenseitig referenzieren. Eine naive LINQ-Implementierung würde versuchen, alles in den Speicher zu laden und abstürzen.

Ein weiterer Grund ist, dass Ihre Mitarbeiter mit SSIS vertraut sind. Jede Lösung, die Sie dem Unternehmen geben und die auf SSIS aufbaut, wird für das Unternehmen wertvoller sein als LINQ, da andere Leute sie aufgreifen und verbessern oder erweitern können.

6voto

David Hall Punkte 31726

Wie alles, hat auch SSIS seine Vor- und Nachteile.

Es gibt eine steile Lernkurve, und oft sind Dinge, die sich einfach anfühlen, es nicht. Manchmal ist das der Fehler von SSIS und seinen Werkzeugen, manchmal liegt es einfach daran, dass man nicht in der SSIS-Art denkt.

Das Schöne daran ist, dass es sich um ein Serverprodukt handelt, so dass Dinge wie Fehlerbehandlung und Protokollierung (zumindest teilweise) für Sie erledigt sind.

Wenn Sie komplizierte ETL-Pakete für verschiedene Systeme erstellen, ist es ein sehr geeignetes und leistungsfähiges Werkzeug, das Ihre Fähigkeiten erweitern kann, vor allem, wenn Sie in den anfänglichen Entwurfsprozess für eine Lösung einbezogen werden müssen. Wenn Sie nur C#-Code beherrschen, dann ist das alles, was Sie vorschlagen können, wenn ein SSIS-Paket genau die richtige Lösung sein kann.

Derzeit gibt es ein paar Probleme bei der Integration von SSIS mit anderen DB-Produkten als SQL (die Oracle-Unterstützung ist zum Beispiel schrecklich), aber ich glaube, dass Microsoft sich für SSIS einsetzt und es weiter verbessern wird. Wenn Sie in einem Microsoft-Geschäft arbeiten, dann lohnt es sich wahrscheinlich, jetzt in das Erlernen von SSIS zu investieren.


Und auf der anderen Seite, hier ist eine Beitrag von Ayende über einige der wichtigsten Probleme mit SSIS sprechen.

Ich stimme nicht mit allen überein oder denke nicht, dass sie ein Hindernis darstellen, aber es ist gut zu wissen, was einem später schaden könnte.

  • Das Fehlen einer guten Erweiterbarkeit der Protokollierung hat mich geärgert - es ist ziemlich schwer, auf eine andere Weise als SSIS zu protokollieren
  • Das Konfigurationsschema kann eine echte Qual sein

Ich denke, dass die nächste Version von SSIS alle diese Probleme beheben wird... das ist nur ein Teil der Microsoft-Welt, die Dinge werden schrittweise verbessert, aber sie neigen dazu, besser zu werden.

2voto

Damir Sudarevic Punkte 21527

SSIS ist ein großartiges Werkzeug, aber man muss zunächst die zugrunde liegenden Konzepte verstehen. Es ermöglicht Ihnen, sich auf den ETL-Prozess zu konzentrieren, anstatt Ihren Code zu programmieren und zu debuggen. Es gibt eine Lernkurve.

Werfen Sie einen Blick auf Microsoft Projekt Real Beispiele und sehen, was für eine foreach-Schleife für so etwas gleichwertig wäre.

Vielleicht möchten Sie auch einen Blick auf Pentaho-Kettle und Oracle Data Integrator werfen, aber ich vermute, Sie werden dasselbe Gefühl haben.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X