Utilizzi tipici di Integration Services
In Integration Services è disponibile un set completo di attività, contenitori, trasformazioni e adattatori dati predefiniti che supportano lo sviluppo di applicazioni business. Senza scrivere una sola riga di codice è possibile creare soluzioni SSIS che consentono di risolvere complessi problemi business tramite ETL e Business Intelligence, gestire database di SQL Server e copiare oggetti di SQL Server tra istanze diverse di SQL Server.
Gli utilizzi tipici dei pacchetti SSIS sono descritti negli scenari seguenti.
Unione di dati provenienti da archivi eterogenei
Poiché i dati sono in genere archiviati in molti sistemi di archiviazione diversi, estrarli da tutte le origini per unirli in un singolo set di dati consistente può essere un problema. Questa situazione può presentarsi per varie ragioni, ad esempio:
Molte organizzazioni utilizzano informazioni memorizzate in sistemi di archiviazione dati legacy. Anche se tali dati potrebbero non essere importanti per le operazioni quotidiane, possono essere comunque utili per l'analisi delle tendenze, che richiede dati raccolti in un periodo di tempo prolungato.
Le filiali di un'organizzazione possono utilizzare tecnologie diverse per l'archiviazione dei dati operativi. Prima di eseguire l'unione è possibile che il pacchetto debba estrarre i dati sia da fogli di calcolo che da database relazionali.
Le informazioni possono essere archiviate in database che utilizzano schemi diversi per gli stessi dati. Prima di eseguire l'unione è possibile che il pacchetto debba modificare il tipo di dati di una colonna o combinare in un'unica colonna dati provenienti da più colonne.
Integration Services consente di connettersi a un'ampia gamma di origini dei dati, incluse più origini in un singolo pacchetto. Un pacchetto può connettersi a database relazionali, tramite i provider .NET e OLE DB, e a numerosi database legacy, tramite i driver ODBC, oltre che a file flat, file di Excel e progetti di Analysis Services.
Integration Services include componenti di origine in grado di estrarre dati da file flat, fogli di lavoro di Excel, documenti XML e tabelle o viste di database relazionali contenuti nell'origine dei dati a cui si connette il pacchetto.
In seguito i dati vengono in genere trasformati utilizzando le trasformazioni disponibili in Integration Services. Dopo la trasformazione in formati compatibili, i dati possono essere fisicamente uniti in un singolo set di dati.
Dopo l'unione e l'applicazione delle trasformazioni i dati vengono in genere caricati in una o più destinazioni. Integration Services include destinazioni per il caricamento dei dati in file flat, file non elaborati e database relazionali. È inoltre possibile caricare i dati all'interno di recordset in memoria, dove saranno accessibili ad altri elementi dei pacchetti.
Popolamento di data warehouse e data mart
I dati archiviati in data warehouse e data mart costituiscono carichi solitamente molto elevati, che in genere vengono aggiornati di frequente.
Integration Services include un'attività che consente di eseguire il caricamento bulk dei dati direttamente da un file flat nelle tabelle e nelle viste di SQL Server, oltre a un componente di destinazione che consente di eseguire il caricamento bulk dei dati in un database di SQL Server come ultimo passaggio in un processo di trasformazione dei dati.
Un pacchetto SSIS può essere configurato come riavviabile. Può essere pertanto rieseguito da un checkpoint predeterminato, costituito da un'attività o da un contenitore incluso nel pacchetto. La possibilità di riavviare un pacchetto può consentire un considerevole risparmio di tempo, soprattutto se il pacchetto elabora dati provenienti da un numero elevato di origini.
È possibile utilizzare pacchetti SSIS per caricare le tabelle delle dimensioni e dei fatti nel database. Se i dati di origine di una tabella di dimensioni sono archiviati in più origini dei dati, il pacchetto può unire i dati in un unico set di dati e caricare la tabella di dimensioni in un singolo processo, anziché utilizzare un processo distinto per ogni origine dei dati.
L'aggiornamento dei dati in data warehouse e data mart può risultare complesso, perché entrambi i tipi di archivi dati includono in genere dimensioni a modifica lenta, difficilmente gestibili tramite un processo di trasformazione dei dati. La Configurazione guidata dimensioni a modifica lenta offre supporto automatico per le dimensioni a modifica lenta, creando dinamicamente le istruzioni SQL per l'inserimento e l'aggiornamento dei record, l'aggiornamento dei record correlati e l'aggiunta di nuove colonne alle tabelle.
Le attività e le trasformazioni contenute nei pacchetti di Integration Services consentono inoltre di elaborare cubi e dimensioni di Analysis Services. Quando il pacchetto aggiorna tabelle nel database in base al quale è compilato un cubo è possibile utilizzare le attività e le trasformazioni di Integration Services per elaborare automaticamente sia il cubo che le dimensioni. L'elaborazione automatica di cubi e dimensioni aiuta a mantenere aggiornati i dati per gli utenti di entrambi gli ambienti, ovvero quelli che accedono alle informazioni tramite cubi e dimensioni e quelli che accedono ai dati da un database relazionale.
Integration Services è inoltre in grado di calcolare le funzioni prima che i dati vengano caricati nella relativa destinazione. Se nei data warehouse e nei data mart sono archiviate informazioni aggregate, il pacchetto SSIS potrà calcolare funzioni quali SUM, AVERAGE e COUNT. Una trasformazione SSIS può inoltre trasformare i dati relazionali tramite Pivot per convertirli in un formato meno normalizzato e più compatibile con la struttura delle tabelle del data warehouse.
Pulitura e standardizzazione dei dati
Che vengano caricati in un database OLTP (Online Transaction Processing) o OLAP (Online Analytic Processing), in un foglio di calcolo di Excel o in un file, i dati devono essere sempre puliti e standardizzati prima del caricamento. Può essere necessario aggiornare i dati per i motivi seguenti:
I dati provengono da più filiali di un'organizzazione, ognuna delle quali utilizza convenzioni e standard diversi, e per utilizzarli è necessario modificarne il formato. Può essere ad esempio necessario unire i campi nome e cognome in una sola colonna.
I dati sono stati affittati o acquistati. Prima di utilizzare i dati può essere necessario pulirli e standardizzarli in modo da conformarli agli standard aziendali. Un'organizzazione può avere ad esempio l'esigenza di verificare che tutti i record utilizzino lo stesso set di abbreviazioni per i nomi delle province o lo stesso set di nomi di prodotti.
I dati dipendono dalle impostazioni locali. Possono ad esempio contenere numeri o valori di data e ora in formati diversi. Se si uniscono dati con impostazioni locali diverse, prima di caricarli sarà necessario convertirli in modo che utilizzino le stesse impostazioni locali, per evitare che vengano danneggiati.
In Integration Services sono disponibili trasformazioni predefinite che è possibile aggiungere ai pacchetti per pulire e standardizzare i dati, modificarne la combinazione di maiuscole e minuscole, convertirli in tipi o formati diversi oppure creare nuovi valori di colonna basati su espressioni. Il pacchetto può ad esempio concatenare le colonne del nome e del cognome in una sola colonna per il nome completo e quindi convertirne i caratteri in maiuscolo.
Un pacchetto di Integration Services può anche pulire i dati sostituendo i valori contenuti nelle colonne con i valori di una tabella di riferimento, tramite una ricerca esatta o una ricerca fuzzy per individuare i valori appropriati nella tabella di riferimento. La maggior parte dei pacchetti applica prima la ricerca esatta e, se questa non riesce, applica la ricerca fuzzy. Un pacchetto può ad esempio tentare di trovare un nome di prodotto nella tabella di riferimento, utilizzando il valore della chiave primaria del prodotto, e se la ricerca non riesce, eseguire una ricerca fuzzy sul nome del prodotto.
Un'altra trasformazione pulisce i dati raggruppando in un set di dati i valori simili. Questo consente di identificare i record eventualmente duplicati e che pertanto non devono essere inseriti nel database senza un'ulteriore valutazione. Confrontando gli indirizzi archiviati nei record dei clienti è ad esempio possibile individuare numerosi clienti duplicati.
Integrazione di funzionalità di Business Intelligence in un processo di trasformazione dei dati
Nei processi di trasformazione dei dati viene utilizzata la logica incorporata per rispondere dinamicamente ai dati letti ed elaborati.
Può essere necessario riepilogare, convertire e distribuire i dati in base ai relativi valori. Il processo può avere addirittura l'esigenza di rifiutare alcuni dati, in base ai risultati della valutazione dei valori di colonna.
Per soddisfare tali esigenze la logica del pacchetto SSIS deve eseguire i tipi di attività seguenti:
Unire dati da più origini dei dati.
Valutare e convertire dati.
Dividere un set di dati in più set di dati, in base ai valori dei dati.
Applicare aggregazioni diverse ai diversi subset di un set di dati.
Caricare subset dei dati in più destinazioni o in destinazioni diverse.
In Integration Services sono disponibili contenitori, attività e trasformazioni che consentono di integrare funzionalità di Business Intelligence nei pacchetti SSIS.
I contenitori supportano la ripetizione dei flussi di lavoro tramite l'enumerazione su più oggetti o file e la valutazione di espressioni. Un pacchetto può valutare i dati e ripetere i flussi di lavoro in base ai risultati. Un pacchetto può ad esempio eseguire un determinato set di attività se la data è nel mese corrente, oppure un set di attività alternativo in caso contrario.
Anche le attività che utilizzano parametri di input possono integrare funzionalità di Business Intelligence nei pacchetti. È ad esempio possibile utilizzare il valore di un parametro di input per filtrare i dati recuperati da un'attività.
Le trasformazioni possono inviare le righe di un set di dati a destinazioni diverse a seconda del risultato della valutazione di un'espressione. Dopo la divisione dei dati il pacchetto può applicare trasformazioni diverse a ogni subset del set di dati. Un'espressione può ad esempio valutare una colonna contenente una data, aggiungere i dati di vendita per il periodo appropriato e quindi archiviare solo le informazioni di riepilogo.
È inoltre possibile inviare un set di dati a più destinazioni e quindi applicare set di trasformazioni diversi agli stessi dati. Un set di trasformazioni può ad esempio riepilogare i dati, mentre un altro set di trasformazioni può espanderli ricercando valori nelle tabelle di riferimento e aggiungendo dati provenienti da altre origini.
Automatizzazione delle funzioni amministrative e del caricamento dei dati
Gli amministratori hanno spesso l'esigenza di automatizzare funzioni amministrative quali il backup e il ripristino dei database, la copia dei database di SQL Server e degli oggetti contenuti, la copia di oggetti di SQL Server e il caricamento dei dati. Per eseguire tali funzioni è possibile utilizzare pacchetti Integration Services.
Integration Services include attività espressamente progettate per copiare oggetti di database di SQL Server quali tabelle, viste e stored procedure, copiare oggetti di SQL Server quali database, account di accesso e statistiche, nonché aggiungere, modificare ed eliminare oggetti e dati di SQL Server tramite istruzioni Transact-SQL.
L'amministrazione di un ambiente di database OLTP o OLAP prevede frequenti caricamenti di dati. Integration Services include diverse attività che consentono il caricamento bulk dei dati. È possibile utilizzare un'attività per caricare dati da file di testo direttamente in tabelle e viste di SQL Server oppure utilizzare un componente di destinazione per caricare dati in tabelle e viste di SQL Server dopo avere applicato trasformazioni ai dati delle colonne.
Un pacchetto Integration Services può eseguire altri pacchetti. Una soluzione di trasformazione dei dati che include molte funzioni amministrative può essere suddivisa in pacchetti più piccoli, più facili da gestire e riutilizzare.
È possibile utilizzare pacchetti anche per eseguire le stesse funzioni amministrative su server diversi. Un pacchetto può utilizzare un loop per eseguire un'enumerazione su vari server e svolgere le stesse funzioni su più computer. Per semplificare l'amministrazione di SQL Server, in Integration Services è disponibile un enumeratore che esegue un'iterazione su più oggetti SMO (SQL Server Management Objects). Un pacchetto può ad esempio utilizzare l'enumeratore SMO per eseguire le stesse funzioni amministrative su ogni processo nella raccolta Jobs di un'installazione di SQL Server.
I pacchetti SSIS possono essere inoltre pianificati tramite processi di SQL Server Agent.
|