2010-01-05 14 views
6

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?

+1

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

+0

2,5 anni fa, ho anche faticato a fare le trasformazioni più banali con BI Studio. A quel tempo, gli utensili sembravano molto immaturi. –

risposta

4

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.

2

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.

4

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.