Ich fange an, in meinem jetzigen Job in ziemlich viel ETL Arbeit zu engagieren, und jeder scheint zu SSIS ziemlich partiell zu sein. Ich habe Mühe, die einfachsten Transformationen durch BI-Studio zu machen, die normalerweise mit ein paar foreach Schleifen mit einer Prise LINQ gleichgesetzt werden. Ich bin mir nicht sicher über die Anwendungsfälle oder Benutzer, für die dieses Tool nützlich wäre, und wird 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 Werkzeuge gibt, würde das ebenso geschätzt werden.Für Entwickler lohnt es sich, SSIS zu lernen/zu verwenden?
Antwort
Ich weiß nicht SSIS, abgesehen davon, einige der Grundlagen zu lesen. Auch ich bin mit LINQ sehr vertraut und könnte schnell Code schreiben, um Daten zu übertragen und zu transformieren.
Aber was ist, wenn die Tabelle 4 Gigs Daten hat? Glauben Sie, dass Ihr LINQ-Code das elegant behandelt? Es könnte gehandhabt werden, aber nicht leicht, besonders wenn sich viele Tabellen gegenseitig referenzieren. Eine naive LINQ-Implementierung würde versuchen, alles in den Speicher zu laden und abzustürzen.
Eine andere Begründung ist, weil Ihre Mitarbeiter stark mit SSIS sind. Jede Lösung, die Sie dem Unternehmen geben, die auf SSIS basiert, wird für das Unternehmen wertvoller sein als LINQ, da andere Leute es aufgreifen und reparieren oder erweitern können.
SSIS ist ein großartiges Werkzeug, aber Sie müssen zunächst die zugrunde liegenden Konzepte erfassen. Sie können sich auf den ETL-Prozess konzentrieren, anstatt Ihren Code zu programmieren und zu debuggen. Es gibt eine Lernkurve.
Werfen Sie einen Blick auf Microsoft Project Real Beispiele und sehen, was für so etwas wäre foreach Schleife äquivalent.
Sie können auch einen Blick auf Pentaho-Kettle und Oracle Data Integrator werfen, aber ich denke, Sie werden das gleiche Gefühl haben.
Wie bei allem, hat SSIS seine Vor- und Nachteile.
Es gibt eine steile Lernkurve, und oft sind Dinge, die sich anfühlen, als wären sie einfach, nicht. Manchmal ist das der Fehler von SSIS und seinen Werkzeugen, manchmal ist es nur ein Fall von nicht im SSIS-Denken.
Eine nette Sache ist, dass es ein Server-Produkt ist, so dass Dinge wie Fehlerbehandlung und Protokollierung (zumindest teilweise) für Sie erledigt wurden.
Wenn Sie komplizierte ETL-Pakete über verschiedene Systeme hinweg erstellen, ist dies ein sehr geeignetes und leistungsstarkes Werkzeug. Es kann eine großartige Ergänzung zu Ihren Fähigkeiten sein, besonders wenn Sie am ursprünglichen Entwurfsprozess beteiligt sein müssen für eine Lösung. Wenn alles, was Sie wissen, C# -Code ist, dann ist das alles, was Sie vorschlagen können, wenn ein SSIS-Paket genau die richtige Lösung sein kann.
Momentan gibt es ein bisschen Schmerz darüber, wie SSIS in andere DB-Produkte als SQL integriert ist (Oracle-Support ist zum Beispiel schrecklich), aber ich glaube, dass Microsoft SSIS verpflichtet ist und es weiter verbessern wird. Wenn Sie in einem Microsoft-Shop arbeiten, lohnt sich die Investition in das Lernen jetzt.
Und auf der Seite Nachteile, hier ist ein post by Ayende über einige der wichtigsten Schmerzpunkte mit SSIS sprechen.
Ich stimme nicht allen zu, oder denke nicht, dass sie ein Deal Breaker sind, aber es ist gut zu wissen, was dich später verletzen kann.
- Der Mangel an guten Logging Erweiterbarkeit hat mich gestört - es ist ziemlich hart in anderer Weise als SSIS der
- Das Konfigurationsschema zur Anmeldung eine echte Schmerzen
ich, dass die denken kann Die nächste Version von SSIS wird all diese Probleme angehen ... das ist nur ein Teil der Microsoft-Welt, die Dinge werden inkrementell besser, aber sie tendieren dazu, besser zu werden.
- 1. Für C++ - Entwickler lohnt es sich, von VS2005 zu VS2008 zu wechseln?
- 2. Lohnt es sich, MSBuild zu lernen?
- 3. Lohnt es sich, PLINQ mit ASP.NET zu verwenden?
- 4. Lohnt es sich, Silverlight zu lernen und Anwendungen zu entwickeln, die es verwenden?
- 5. Lohnt es sich, js-Dateien zu gzipieren?
- 6. Lohnt es sich, Perl 6 zu lernen?
- 7. Lohnt es sich, haml & sass zu lernen?
- 8. GroupLayout: Lohnt es sich zu lernen?
- 9. Lohnt es sich, SharePoint 2007 zu lernen?
- 10. Lohnt es sich, für Joomla Sicherheitserweiterungen zu bezahlen?
- 11. Es lohnt sich, einen StringBuilder für 5 Verkettungen zu haben?
- 12. Lohnt es sich, sich für den AWS Premium Support anzumelden?
- 13. Lohnt es sich, jQuery für Ajax zu verwenden, anstatt selbst JavaScript zu erstellen?
- 14. Lohnt es sich, Ereignisvariablen in CUDA wiederzuverwenden?
- 15. jQuery UI + ASP.NET UpdatePanel - Lohnt es sich?
- 16. Lohnt es sich zu versuchen, die JSON-Größe zu reduzieren?
- 17. Lohnt es sich noch, eval für die Leistung auf mobilem JavaScript zu verwenden?
- 18. Lohnt es sich, Tinyint anstelle von Int für SqlServer-Lookup-Tabellen zu verwenden?
- 19. ZF2 abholen, lohnt es sich jetzt?
- 20. Wann lohnt es sich, eine Bibliothek zu erstellen?
- 21. Lohnt es sich, mit der Touchscreen-Funktion zu arbeiten?
- 22. Lohnt es sich einen Dialekt der Versammlung zu lernen?
- 23. Lohnt es sich, vor der Zuweisung auf Wert zu prüfen?
- 24. OpenGL, lohnt es sich explizit nach einem Remisaufruf zu lösen?
- 25. Lohnt es sich, Dateien in kleinen Funktionen zu schließen?
- 26. lohnt es sich, P3P auf einer Website/Webanwendung zu implementieren?
- 27. Lohnt es sich AMD-spezifische APIs zu lernen?
- 28. Lohnt es sich, die dynamische Komprimierung in IIS7 zu aktivieren?
- 29. NCover-Abonnement - lohnt es sich, das Geld dafür zu bezahlen?
- 30. Lohnt es sich, das ASP.NET-Mitgliedschafts-/Rollenanbietermodell zu verwenden, wenn Sie eine vollständig hauseigene Implementierung durchführen?
Was ist das Problem, das Sie mit SSIS haben, ist es ein ziemlich gutes Werkzeug für die Durchführung von Massen-ETL sowie System-zu-System-Transformationen (z. B. Laden von flachen Dateien von einem Remote-FTP-Server in einen anderen entfernten Datenbankserver) oder Export von Datenbankabfragen in XML und Veröffentlichung über Webservices) in sehr nicht-trivialen Szenarien. – GrayWizardx
Vor 2,5 Jahren hatte ich auch Schwierigkeiten, die einfachsten Transformationen mit BI Studio zu machen. Zu dieser Zeit schien das Werkzeug sehr unreif zu sein. –