Usos típicos do Integration Services
O Integration Services fornece um amplo conjunto de tarefas, contêineres, transformações e adaptadores de dados internos que dão suporte ao desenvolvimento de aplicativos de negócios. Sem escrever uma única linha de código, você pode criar soluções do SSIS que resolvam problemas complexos de negócios usando ETL e business intelligence, gerenciem bancos de dados do SQL Server e copiem objetos do SQL Server entre instâncias do SQL Server.
Os cenários a seguir descrevem usos típicos de pacotes do SSIS.
Mesclando dados de armazenamentos de dados heterogêneos
Os dados são geralmente armazenados em muitos sistemas de armazenamento de dados diferentes e é um desafio extrair dados de todas as fontes e mesclá-los em um conjunto de dados único e coerente. Essa situação pode acontecer por várias razões. Por exemplo:
Muitas organizações arquivam informações que são armazenadas em sistemas herdados de armazenamento de dados. Esses dados podem não ser importantes para operações diárias, mas podem ser valiosos para análise de tendência que requer dados coletados durante um longo período.
As filiais de uma organização podem usar tecnologias diferentes de armazenamento de dados para armazenar os dados operacionais. O pacote pode precisar extrair dados de planilhas e também de bancos de dados relacionais antes de poder mesclar os dados.
Os dados podem estar armazenados em bancos de dados que usem esquemas diferentes para os mesmos dados. O pacote pode precisar alterar o tipo de dados de uma coluna ou combinar dados de colunas múltiplas em uma coluna antes de poder mesclar os dados.
O Integration Services pode se conectar a uma ampla variedade de fontes de dados, inclusive fontes múltiplas em um único pacote. Um pacote pode conectar-se a bancos de dados relacionais usando provedores .NET e OLE DB, e a muitos bancos de dados herdados usando os drivers de ODBC. Ele também pode se conectar a arquivos simples, a arquivos do Excel e a projetos do Analysis Services.
O Integration Services inclui componentes de origem que executam o trabalho de extrair dados de arquivos simples, de planilhas Excel, de documentos XML e de tabelas e exibições em bancos de dados relacionais a partir da fonte de dados à qual o pacote se conecta.
A seguir, geralmente, os dados são transformados usando as transformações incluídas no Integration Services. Depois de os dados serem transformados para formatos compatíveis, eles podem ser mesclados fisicamente em um conjunto de dados.
Depois de os dados serem mesclados com êxito e as transformações serem aplicadas aos dados, estes geralmente são carregados em um ou mais destinos. O Integration Services inclui destino para carregar dados em arquivos simples, em arquivos brutos e em bancos de dados relacionais. Os dados podem ser carregados também em um conjunto de registros na memória e podem ser acessados por outros elementos de pacote.
Populando Data Warehouses e Data Marts
Os dados em data warehouses e data marts normalmente são atualizados com freqüência, e os carregamentos de dados geralmente são muito grandes.
O Integration Services inclui uma tarefa que carrega dados em massa diretamente de um arquivo simples em tabelas e exibições do SQL Server e um componente de destino que carrega dados em massa em um banco de dados do SQL Server como a última etapa em um processo de transformação de dados.
Um pacote do SSIS pode ser configurado para ser reiniciável. Isso significa que você pode executar novamente o pacote a partir de um ponto de verificação predeterminado, que pode ser uma tarefa ou contêiner no pacote. A capacidade de reinicializar um pacote pode economizar muito tempo, especialmente se o pacote processar dados de um grande número de origens.
Você pode usar pacotes do SSIS para carregar as tabelas de dimensões e de fatos no banco de dados. Se os dados de origem para uma tabela de dimensões estiverem armazenados em várias fontes de dados, o pacote poderá mesclar os dados em um conjunto de dados e carregar a tabela de dimensões em um único processo, em vez de usar um processo separado para cada fonte de dados.
Atualizar dados em data warehouses e em data marts pode ser complexo porque ambos os tipos de armazenamentos de dados incluem dimensões de alteração lenta que podem ser difíceis de gerenciar por meio de um processo de transformação. O Assistente para Dimensões de Alteração Lenta automatiza o suporte às dimensões de alteração lenta ao criar dinamicamente as instruções SQL que inserem e atualizam registros, atualizam registros relacionados e adicionam colunas novas a tabelas.
Além disso, as tarefas e transformações em pacotes do Integration Services podem processar cubos e dimensões do Analysis Services. Quando o pacote atualiza as tabelas no banco de dados nas quais um cubo está baseado, você pode usar tarefas e transformações do Integration Services para processar o cubo automaticamente e também processar as dimensões. Processar os cubos e as dimensões automaticamente ajuda a manter os dados atuais para usuários em ambos os ambientes: os usuários que acessam as informações nos cubos e nas dimensões e os usuários que acessam dados em um banco de dados relacional.
O Integration Services também pode computar funções antes de os dados estarem carregados em seu destino. Se seus data warehouses e data marts armazenarem informações agregadas, o pacote do SSIS poderá computar funções como SUM, AVERAGE e COUNT. Uma transformação do SSIS pode também dinamizar dados relacionais e transformá-los em um formato menos normalizado que seja mais compatível com a estrutura de tabela no data warehouse.
Limpando e padronizando dados
Quer os dados estejam carregados em um processamento de transações online (OLTP), em um banco de dados de processamento analítico online (OLAP), em uma planilha Excel ou em um arquivo, eles precisam ser limpos e padronizados antes de serem carregados. Os dados podem precisar ser atualizados pelas razões a seguir:
Os dados vêm de múltiplas filiais de uma organização, cada uma delas usando convenções e padrões diferentes. Antes de os dados poderem ser usados, pode ser preciso formatá-los diferentemente. Por exemplo, você pode precisar combinar o primeiro nome e o último nome em uma coluna.
Os dados são alugados ou adquiridos. Antes de poder ser usados, os dados poderão precisar ser padronizados e limpos para cumprir padrões do negócio. Por exemplo, uma organização quer verificar se todos os registros usam o mesmo conjunto de abreviações de estado ou o mesmo conjunto de nomes de produto.
Os dados são específicos à localidade. Por exemplo, os dados podem usar formatos diversificados para data, hora e número. Se dados de localidades diferentes forem mesclados, eles precisarão ser convertidos a uma localidade antes de serem carregados para evitar dano aos dados.
O Integration Services inclui transformações internas que você pode adicionar a pacotes para limpar e padronizar dados, alterar as maiúsculas e minúsculas nos dados, converter dados a um tipo ou formato diferente ou criar valores de coluna novos com base em expressões. Por exemplo, o pacote poderia concatenar a primeira e a última colunas de nome em uma única coluna de nome completa e depois alterar os caracteres para letra maiúscula.
Um pacote do Integration Services também pode limpar dados substituindo os valores em colunas por valores de uma tabela de referência, usando uma pesquisa exata ou difusa para localizar valores em uma tabela de referência. Freqüentemente, um pacote aplica primeiro a pesquisa exata e, se a pesquisa falhar, aplicará a pesquisa difusa. Por exemplo, o pacote tenta primeiro procurar um nome de produto na tabela de referência usando o valor de chave primária do produto. Se essa pesquisa não retornar o nome de produto, o pacote tentará a pesquisa novamente, desta vez usando correspondência difusa ao nome de produto.
Outra transformação limpa dados agrupando valores em um conjunto de dados que sejam semelhantes. Isso é útil para identificar registros que possam ser duplicatas e, portanto, não deveriam ser inseridos em seu banco de dados sem avaliação adicional. Por exemplo, comparando endereços em registros de clientes você pode identificar vários clientes duplicados.
Compilando Business Intelligence em um processo de transformação de dados
Um processo de transformação de dados exige lógica interna para responder dinamicamente aos dados que acessa e processa.
Os dados podem precisar ser resumidos, convertidos e distribuídos com base em valores de dados. O processo pode até mesmo precisar rejeitar dados, com base em uma avaliação de valores de coluna.
Para lidar com esse requisito, a lógica no pacote do SSIS pode precisar executar os tipos seguintes de tarefas:
Mesclar dados de várias fontes de dados.
Avaliar dados e aplicar conversões de dados.
Dividir um conjunto de dados em múltiplos conjuntos de dados com base em valores de dados.
Aplicar agregações diferentes a subconjuntos diferentes de um conjunto de dados.
Carregar subconjuntos dos dados em destinos diferentes ou múltiplos.
O Integration Services fornece contêineres, tarefas e transformações para compilar business intelligence em pacotes do SSIS.
Os contêineres dão suporte à repetição de fluxos de trabalho enumerando arquivos ou objetos e avaliando expressões. Um pacote pode avaliar dados e repetir fluxos de trabalho com base em resultados. Por exemplo, se a data estiver no mês atual, o pacote executará um conjunto de tarefas; se não, o pacote executará um conjunto alternativo de tarefas.
As tarefas que usam parâmetros de entrada também podem compilar business intelligence nos pacotes. Por exemplo, o valor de um parâmetro de entrada pode filtrar os dados que uma tarefa recupera.
As transformações podem avaliar expressões e então, com base nos resultados, enviar linhas em um conjunto de dados para destinos diferentes. Depois de os dados serem divididos, o pacote pode aplicar transformações diferentes a cada subconjunto do conjunto de dados. Por exemplo, uma expressão pode avaliar uma coluna de data, somar os dados de vendas para o período apropriado e depois armazenar só as informações resumidas.
Também é possível enviar um conjunto de dados a destinos múltiplos e depois aplicar conjuntos diferentes de transformações aos mesmos dados. Por exemplo, um conjunto de transformações pode resumir os dados, enquanto outro conjunto de transformações expande os dados ao pesquisar valores em tabelas de referência e adicionar dados de outras fontes.
Automatizando funções administrativas e carregamento de dados
Os administradores freqüentemente querem automatizar funções administrativas como fazer backups e restaurar bancos de dados, copiar bancos de dados do SQL Server e os objetos que eles contêm, copiar objetos do SQL Server e carregar dados. Os pacotes do Integration Services podem executar essas funções.
O Integration Services inclui tarefas que foram especificamente projetadas para copiar objetos de banco de dados do SQL Server como tabelas, exibições e procedimentos armazenados; copiar objetos do SQL Server como bancos de dados, logons e estatísticas; e adicionar, alterar e excluir objetos e dados do SQL Server usando instruções Transact-SQL.
A administração de um ambiente de banco de dados OLTP ou OLAP freqüentemente inclui o carregamento de dados. O Integration Services inclui várias tarefas que facilitam o carregamento em massa de dados. Você pode usar uma tarefa para carregar dados diretamente de arquivos de texto em tabelas e exibições do SQL Server ou pode usar um componente de destino para carregar dados em tabelas e exibições do SQL Server depois de aplicar transformações aos dados de coluna.
Um pacote do Integration Services pode executar outros pacotes. Uma solução de transformação de dados que inclua muitas funções administrativas pode ser separada em pacotes múltiplos de forma a tornar mais fácil o gerenciamento e a reutilização dos pacotes.
Se for preciso executar as mesmas funções administrativas em servidores diferentes, você poderá usar pacotes. Um pacote pode usar looping para enumerar em todos os servidores e executar as mesmas funções em computadores múltiplos. Para oferecer suporte à administração do SQL Server, o Integration Services fornece um enumerador que itera nos objetos do SQL Server Management Objects (SMO). Por exemplo, um pacote pode usar o enumerador de SMO para executar as mesmas funções administrativas em todos os trabalhos na coleção Jobs de uma instalação do SQL Server.
Os pacotes do SSIS também podem ser agendados usando o SQL Server Agent Jobs.
|