Sto iniziando a farmi coinvolgere in un bel po 'di lavoro ETL come mio attuale lavoro, e tutti sembrano essere piuttosto parziali con SSIS. Sto lottando cercando di fare le trasformazioni più banali attraverso lo studio BI che di solito equivalgono a un paio di cicli foreach con un pizzico di LINQ. Non sono sicuro dei casi d'uso o degli utenti per cui questo strumento sarebbe utile e probabilmente convincerà la gestione di cui posso fare a meno. Qual è il modo migliore per rendere il mio caso, o se ci sono raccomandazioni per strumenti migliori, che sarebbe apprezzato anche.Per gli sviluppatori, vale la pena imparare/utilizzare SSIS?
risposta
Non conosco SSIS, oltre a leggere alcune delle nozioni di base. Anche tu come me mi sento molto a mio agio con LINQ, e potrei scrivere velocemente del codice per spingere e trasformare i dati.
Ma cosa succede se il tavolo ha 4 concerti di dati? Pensi che il tuo codice LINQ lo gestirà con garbo? Potrebbe essere gestito, ma non facilmente, specialmente se ci sono molte tabelle che si incrociano l'un l'altro. Un'importante implementazione LINQ proverebbe a caricare tutto in memoria e crash.
Un'altra giustificazione è perché i tuoi colleghi sono forti con SSIS. Qualsiasi soluzione che offrite all'azienda costruita su SSIS sarà più preziosa per l'azienda rispetto a LINQ, dal momento che altre persone possono prenderlo e ripararlo o estenderlo.
SSIS è un ottimo strumento, ma per prima cosa occorre cogliere i concetti sottostanti. Ti permette di concentrarti sul processo ETL, invece di programmare e debuggare il tuo codice. C'è una curva di apprendimento.
Dai un'occhiata a Microsoft Project Real esempi e guarda cosa sarebbe foreach loop equivalente per qualcosa del genere.
Si potrebbe anche voler dare un'occhiata a Pentaho-Kettle e Oracle Data Integrator, ma la mia ipotesi è che avrete la stessa sensazione.
Come ogni cosa, SSIS ha i suoi pro e i suoi contro.
C'è una curva di apprendimento ripida e spesso le cose che dovrebbero essere semplici non lo sono. A volte è colpa di SSIS e dei suoi strumenti, a volte è solo un caso di non pensare in modo SSIS.
Una cosa carina è che si tratta di un prodotto server, quindi cose come la gestione degli errori e la registrazione sono state (almeno parzialmente) prese in considerazione per voi.
Se stai creando pacchetti ETL complicati su sistemi diversi, allora è uno strumento molto appropriato e potente e può essere una grande cosa da aggiungere al tuo set di competenze, in particolare quando devi essere coinvolto nel processo di progettazione iniziale per una soluzione. Se tutto quello che sai è il codice C#, allora questo è tutto quello che puoi suggerire, quando un pacchetto SSIS può essere la soluzione giusta.
Attualmente c'è un po 'di dolore nel modo in cui SSIS si integra con altri prodotti DB rispetto a SQL (il suo supporto Oracle è orribile per esempio) ma credo che Microsoft sia impegnata in SSIS e continuerà a migliorarla. Se lavori in un negozio Microsoft, allora probabilmente investirai nell'apprenderlo.
E sul lato contro, ecco un post by Ayende parlando di alcuni dei punti chiave con dolore SSIS.
Non sono d'accordo con tutti loro, o non penso che siano un rompicapo, ma è bello sapere cosa potrebbe farti male in seguito.
- La mancanza di una buona registrazione estensibilità mi ha infastidito - è molto difficile effettuare il login in un modo diverso da quello schema
- La configurazione della SSIS può essere un vero e proprio dolore
penso che il la prossima versione di SSIS affronterà tutti quelli però ... è solo una parte del mondo Microsoft, le cose migliorano in modo incrementale, ma tendono a migliorare.
- 1. L'MVP vale sempre la pena?
- 2. Vale la pena utilizzare JDEE?
- 3. GroupLayout: vale la pena imparare?
- 4. Vale la pena imparare Tkinter?
- 5. Vale la pena provare MonetDB?
- 6. VTune vale la pena considerare per Delphi?
- 7. Telerik openaccess ORM vale la pena imparare?
- 8. Vale la pena creare librerie statiche per iOS?
- 9. MyEclipse: vale ancora la pena utilizzarlo?
- 10. Vale la pena di imparare ASP classico?
- 11. Agile Toolkit, vale la pena usare?
- 12. Vale la pena utilizzare sqlalchemy-migrate?
- 13. Vale la pena imparare GNU Make?
- 14. WCF su Linux: ne vale la pena
- 15. Vale la pena imparare Perl 6?
- 16. Vale la pena imparare Ruby On Rails
- 17. Vale la pena imparare il linguaggio assembly?
- 18. Vale veramente la pena acquistare R # per VS2010?
- 19. Vale la pena sostituire Novice per motivi di prestazioni?
- 20. vale forse la pena pagare per i tipi di base?
- 21. CSP style-src: 'non sicuro-inline' - ne vale la pena?
- 22. La revoca del token JWT vale la pena?
- 23. MVC: la minificazione HTML ne vale la pena?
- 24. Vale la pena aggiungere la sezione armv7s su iOS6?
- 25. Il modello di oggetto nullo vale la pena?
- 26. jQuery UI + ASP.NET UpdatePanel - Ne vale la pena?
- 27. Android anti-crack, ne vale la pena lo stesso?
- 28. A che punto vale la pena usare un database?
- 29. GWT e Spring MVC, ne vale la pena?
- 30. Non associare un buffer WebGL, ne vale la pena?
Qual è il problema che si sta verificando con SSIS, è in realtà uno strumento abbastanza eccellente per eseguire ETL di massa e anche trasformazioni da sistema a sistema (come il caricamento di file flat da un server FTP remoto in un altro server di database remoto) , o esportazione di query di database in xml e pubblicazione tramite webservices) in scenari non banali. – GrayWizardx
2,5 anni fa, ho anche faticato a fare le trasformazioni più banali con BI Studio. A quel tempo, gli utensili sembravano molto immaturi. –