Archivio Posts |
Anno 2018
Anno 2017
Anno 2016
Anno 2015
Anno 2014
Anno 2013
Anno 2012
Anno 2011
Anno 2010
Anno 2009
Anno 2008
Anno 2007
Anno 2006
|
|
Introduzione ai SSIS (basilari differenze con i DTS)
Da msdn (SQL Server Books online): "Microsoft SQL Server 2005 Integration Services (SSIS) is a platform for building high performance data integration solutions, including extraction, transformation, and load (ETL) packages for data warehousing."
I SSIS sostituiscono gli ormai famossissimi DTS, la cui prima comparsa risale alla versione 7.0 di SQL Server. Ma non pensiamo che si tratti solamente di un'evoluzione. Anzi, SSIS è proprio considerato un nuovo prodotto, vista la sua completa reimplementazione basata sul .NET framework. Comunque sia è bene fare un parallelismo, anche per chi (come me ad esempio ) ha già usato i DTS. La differenza più evidente è che SQL Server 2005 fornisce una piattaforma di sviluppo (Business Intelligence Development Studio) per scrivere gli Integration Services. Quindi non si ha più la console Enterprise Manager di SQL Server 2000. I SSIS, vengono salvati in una solution di Visual Studio come file dall'estensione .dtsx. In fase di deploy potranno essere salvati nel repository di SQL Server 2005, ma in fase di sviluppo rimangono sul filesystem. Dal punto di vista del designer le differenze sono varie e concrete. Una è la divisione tra il control flow, il data flow e l'event handler. Il primo è il vero e proprio flusso di controllo, quello che prima veniva implementato con i workflow, costituito da task e da relativi precedence constraints. Questi ultimi finalmente possono essere corredati di condizioni su variabili del pacchetto (che permettono la scelta di un ramo piuttosto che di altri) e uniti secondo operatori AND/OR (in modo da dare la possibilità di seguire logiche condizionate e più complesse). Il secondo è il designer delle trasformazioni di dati, è il container delle logiche implementate sui dati, costituito anch'esso (e questa è la grande novità) da task e da connettori che rappresentano proprio i dataflow. Questi ultimi possono essere corredati di DataViewers, ovvero da tabelle riassuntive (o grafici) dei primi n dati che stanno transitando da quel dataflow. Questo aumenta di molto le potenzialità della fase di debug dei packages. Il terzo è un gestore di eventi. Si possono selezionare eventi da un elenco e, per ognuno di essi, definire una logica così come nel control flow. Ogni volta che a runtime si scatena uno degli eventi selezionati, viene eseguita la logica indicata. Molto utile per un semplice log, all'evento onError, ad esempio. Vi è poi un quarto tab, il package explorer, che permette di navigare il pacchetto tramite il suo object model. Da non trascurare la presenza di un simpatico tastino (in basso a destra della finestra di design ) che permette di navigare anche i più ingombranti SSIS.. utile, almeno, io l'ho usato parecchio per muovermi.. Altra differenza è che alcuni task sono definiti container (for each, for loop, sequence container) e possono contenere altri task, chiudersi ed aprirsi per occupare meno spazio. E ancora, le connessioni non sono più nel designer come per i DTS, ma vi è un'area per i cosiddetti Connection Managers, che fungono da data source per gli oggetti che utilizzano connessioni. Si ha inoltre la possibilità di impostare dei breakpoint differenti sui task, ed insieme a questi, la modalità di debug risulta molto potente. Infatti è possibile eseguire il debug del SSIS ricevendo in visualizzazione il colore del task (rosso - errore, giallo - esecuzione, verde - eseguito correttamente). Ed infine vi sono finestre per la gestione delle variabili, per il debug, e per la gestione delle nuove Expression, ovvero stringhe calcolate a runtime in base a funzioni definite nell'Expression Editor, completamente editabili dallo sviluppatore. Dopo un po' di prove si noterà però che mentre gli Script possono essere scritti solo in VB.net, le expression hanno un linguaggio proprietario, più simile alla sintassi C#.. In alcuni casi è proprio necessario utilizzare le Expression, ma per questo vi rimando ad un mio prossimo post. Queste sono le principali differenze soprattutto a livello di designer, ma ve ne sono altre, sul logging, su come si usano i task, sullo storage dei SSIS, e via discorrendo, ma questo post è proprio una semplice introduzione. Spero vi possa aiutare, almeno in un primo momento
venerdì, 28 apr 2006 Ore. 13.52
|
Statistiche |
- Views Home Page: 601.393
- Views Posts: 1.068.757
- Views Gallerie: 641.208
- n° Posts: 484
- n° Commenti: 273
|
|