Introdução ao SQL Server 2008 Integration Services Artigo Técnico do SQL Server Autor: Kamal Hathi Atualizado por: Geoff Allix Revisor Técnico: Ram Ramanathan Editor do Projeto: Joanne Hodgins Publicado em: Maio de 2005 Atualizado em: Novembro de 2007 Aplica-se ao: SQL Server 2008 Resumo: Este artigo discute os desafios enfrentados pelas empresas que dependem de tecnologias de integração de dados para oferecer informação significativa e confiável e manter uma vantagem competitiva no atual mundo dos negócios. Ele aborda como o SSIS (SQL Server 2008 Integration Services) pode ajudar o departamento de Tecnologia de Informação a atingir os requisitos de integração de dados em suas empresas. Cenários reais estão incluídos. Direitos Autorais Este é um documento preliminar e pode ser alterado substancialmente antes do lançamento comercial final do software aqui descrito. As informações contidas neste documento representam a visão atual da Microsoft Corporation sobre os temas discutidos na data da publicação. Como a Microsoft deve responder às mudanças das condições de mercado, este documento não deve ser interpretado como um compromisso da parte da Microsoft, e a Microsoft não pode assegurar a exatidão de qualquer informação apresentada após a data da publicação. Este white paper destina-se a fins informativos apenas. A MICROSOFT NÃO FORNECE NENHUMA GARANTIA, EXPRESSA OU IMPLÍCITA, QUANTO ÀS INFORMAÇÕES NESTE DOCUMENTO. O cumprimento de todas as leis pertinentes de direitos autorais é de responsabilidade do usuário. Sem limitar os direitos sob o direito autoral, nenhuma parte deste documento pode ser reproduzida, armazenada em ou inserida em um sistema de recuperação de dados ou transmitido de qualquer forma ou por qualquer meio (eletrônico, mecânico, fotocópia, gravação ou outro) ou para qualquer fim, sem a permissão expressa por escrito da Microsoft Corporation A Microsoft pode deter as patentes, as solicitações de patentes, as marcas comerciais, os direitos autorais ou outras propriedades intelectuais pertinentes ao objeto deste documento. Salvo expressamente disposto em qualquer contrato de licença escrito da Microsoft, o fornecimento deste documento não confere a você qualquer licença em relação a essas patentes, marcas comerciais, direitos autorais ou outras propriedades intelectuais. Salvo indicação em contrário, os exemplos de empresas, organizações, produtos, nomes de domínio, endereços de e-mail, logotipos, pessoas, lugares e eventos aqui mencionados são fictícios e nenhuma associação com qualquer empresa, organização, produto, nome de domínio, endereço de email, logotipo, pessoa, lugar ou evento real é intencional ou deve ser deduzida como tal. 2007 Microsoft Corporation. Todos os direitos reservados. Microsoft e SQL Server são marcas registradas ou comerciais da Microsoft Corporation nos Estados Unidos e/ou outros países. Os nomes de empresas e produtos reais aqui mencionados podem ser marcas comerciais de seus respectivos proprietários. Conteúdo Introdução.................................................................. Erro! Indicador não definido. Um Cenário Real ............................................... Erro! Indicador não definido. Fontes de Dados .................................................. Erro! Indicador não definido. Consumo de Dados .............................................. Erro! Indicador não definido. Requisitos de Integração de Dados ........................ Erro! Indicador não definido. Desafios da Integração de Dados ............................... Erro! Indicador não definido. Desafios de Tecnologia ......................................... Erro! Indicador não definido. Desafios Organizacionais ...................................... Erro! Indicador não definido. Poder ............................................................ Erro! Indicador não definido. Zona de Conforto............................................ Erro! Indicador não definido. Desafios Econômicos ............................................ Erro! Indicador não definido. SQL Server 2008 Integration Services ........................ Erro! Indicador não definido. Arquitetura do SSIS ............................................. Erro! Indicador não definido. Mecanismo de Fluxo de Tarefas e Dados ............ Erro! Indicador não definido. Arquitetura do Pipeline .................................... Erro! Indicador não definido. Conectividade ADO.NET ................................... Erro! Indicador não definido. Pool de Thread ............................................... Erro! Indicador não definido. Pesquisas Persistentes .................................... Erro! Indicador não definido. Cenários de Integração ........................................ Erro! Indicador não definido. SSIS para Operações de Transferência de Dados ............ Erro! Indicador não definido. SSIS para Carregamento de Data Warehouse................ Erro! Indicador não definido. SSIS e Qualidade de Dados.................................... Erro! Indicador não definido. Aplicação de SSIS Além do ETL Tradicional .................... Erro! Indicador não definido. SSIS, a Plataforma de Integração............................. Erro! Indicador não definido. Viabilizando a Integração de Dados .................................. Erro! Indicador não definido. Conclusão ................................................................... Erro! Indicador não definido. Introdução A capacidade de transformar dados corporativos em informação acionável e significativa é a fonte mais importante de vantagem competitiva no atual mundo dos negócios. Tirar proveito da explosão de dados para entender melhor o passado e buscar direcionamento para o futuro tornou-se um dos empreendimentos mais desafiadores para os departamentos de Tecnologia da Informação nas grandes organizações. Existem três amplas categorias de assuntos relacionados à integração de dados: - Desafios Tecnológicos - Desafios Organizacionais - Desafios Econômicos Neste artigo, vamos explorar esses desafios em detalhe e discutir como lidar com eles usando o Microsoft® SQL Server™ 2008 Integration Services (SSIS). Primeiro você deve vê-los no contexto de um cenário real. Um Cenário Real Uma grande e global companhia de transportes usa seu data warehouse para analisar o desempenho de suas operações e para prever variações em suas entregas agendadas. Fontes de Dados As principais fontes de dados dessa companhia incluem os dados de seu sistema de entrada de pedidos baseado em DB2, dados do cliente de seu sistema de CRM (customer relationship management) baseado em SQL Server e dados do fornecedor de seu sistema ERP baseado em Oracle. Adicionalmente a esses três sistemas principais, incorporam-se dados de planilhas que acompanham eventos “extraordinários” dentro do data warehouse — dados esses inseridos manualmente pelos supervisores de remessa. Atualmente você incorpora dados externos como informações sobre o clima, situação do trânsito e detalhes do fornecedor (para entregas subcontratadas) com atraso, usando arquivos de texto de fontes diversas. Consumo de Dados Não apenas as fontes desses dados são diversificadas, mas os consumidores também o são, tanto em suas necessidades como em sua localização geográfica. Essa diversidade levou a uma proliferação de sistemas locais. Um dos maiores esforços do departamento de Tecnologia da Informação é estabelecer “uma versão única da verdade”, ao menos para os dados de seus consumidores. Requisitos de Integração de Dados Tendo em vista essa diversidade de dados, necessidades de negócios e necessidades do usuário, o departamento de Tecnologia da Informação especificou o seguinte grupo de requisitos de integração de dados: - Eles devem fornecer dados confiáveis e consistentes, históricos e atuais, integrados a partir de uma variedade de fontes internas e externas. - Para reduzir os atrasos na aquisição de dados, dados de provedores ou fornecedores devem ser disponibilizados via serviços da Web ou outro mecanismo direto, como FTP. - Eles precisam limpar e remover dados duplicados para reforçar a qualidade dos dados. - A crescente demanda global por normas exige que a companhia deixe rastros claros de auditoria. Manter dados confiáveis não é suficiente; os dados precisam ser rastreados e certificados. Desafios da Integração de Dados Em um nível, o problema da integração de dados num cenário real é extraordinariamente simples. Pegar os dados de fontes variadas, limpá-los, transformá-los e carregá-los em repositórios adequados para análise e relatórios. Infelizmente, em um data warehouse ou projeto de BI típicos, as empresas gastam de 60 a 80% de seus recursos disponíveis no estágio de integração de dados. Por que isso é tão difícil? Desafios de Tecnologia Os desafios de tecnologia começam com os sistemas de origem. Estamos nos movendo de coletas de dados em transações (onde os clientes se comprometem em pegar, comprar ou conseguir de outra forma alguma coisa) para coletas de dados em prétransações (onde mecanismos como Web Clicks ou tags RFID rastreiam as intenções do consumidor). Agora os dados não são apenas adquiridos via fontes e formatos tradicionais, como bancos de dados e arquivos de texto, mas estão cada vez mais disponíveis em uma variedade de diferentes formatos (variando de arquivos do proprietário a documentos do Microsoft Office e a arquivos baseados em XML) e de origens baseadas na internet como o Web services e os fluxos RSS (Really Simple Syndication). Os desafios mais pertinentes são: - Origens múltiplas com diferentes formatos. - Dados estruturados, semi-estruturados e não estruturados. - Alimentações de dados de sistemas de origem chegando em tempos diferentes. - Grandes volumes de dados. Em um mundo ideal, mesmo que você de alguma forma consiga todos os dados necessários em um só local, novos desafios começam a aparecer, incluindo: - Qualidade dos dados. - Fazendo sentido diferentes formatos de dados. - Transformando os dados em um formato que seja significativo para os analistas de negócios. Suponha que você possa magicamente conseguir todos os dados que você precisa e também limpar, transformar e mapear esses dados em um formato útil. Ainda há outro deslocamento para longe da movimentação e integração tradicionais de dados. É o deslocamento de processos fixos orientados por lotes, para fazer fluir e encurtar processos sob demanda. A maioria das organizações realiza processos orientados em lotes durante tempos de inatividade, quando os usuários não inserem pedidos pesados no sistema. Isso normalmente ocorre à noite, durante uma janela em lote predefinida de 6 a 8 horas, quando supostamente ninguém está no escritório. Com a crescente globalização dos negócios de todos os tipos e tamanhos, isso não é mais verdade. Há muito pouco (se houver algum) tempo de inatividade e alguém sempre está no escritório em algum lugar do mundo. Como resultado você tem: - Aumento da pressão para carregar os dados o mais rapidamente possível. - A necessidade de carregar múltiplos destinos ao mesmo tempo. - Destinos diversos. Você não só precisa atingir todos esses resultados, mas também atingi-los o mais rapidamente possível. Em casos extremos, como negócios online, você precisa integrar os dados de uma maneira contínua. Não há reais janelas em lotes e as latências não podem exceder os minutos. E muitos desses cenários, o processo de tomada de decisão é automatizado com software de funcionamento contínuo. Desempenho e escalabilidade tornam-se mais e mais importantes quando você enfrente necessidades comerciais que não podem tolerar qualquer tempo de inatividade. Sem a tecnologia certa, os sistemas precisam de preparação em quase todos os passos do processo de integração e armazenamento. Quando fontes de dados diferentes (especialmente fora do padrão) precisam ser incluídas no processo ETL (Extract, Transform, and Load) e quando operações mais complexas (como data mining e text mining) precisam ser realizadas nos dados, a necessidade de preparar os dados aumenta. Conforme ilustrado na Figura 1, com aumento da preparação, o tempo tomado para “fechar o ciclo” (ou seja, para analisar e tomar ação em novos dados) também aumenta. Essas tradicionais arquiteturas ELT (ao contrário do valor agregado pelos processos ETL que ocorrem antes do carregamento) impõem sérias restrições à capacidade do sistema de responder a necessidades emergentes do negócio. Figura 1 Finalmente, a questão de como a integração de dados se amarra na arquitetura geral de integração da organização está ganhando importância, quando você precisa tanto da tecnologia transacional de integração de aplicativo em tempo real quanto do mundo de alto volume e orientado por lotes da tecnologia de integração de dados para resolver os problemas comerciais da empresa. Desafios Organizacionais Existem dois assuntos amplos relativos à integração de dados em uma grande organização; eles são o desafio “poder” e o desafio “zona de conforto”. Poder Dados são poder, e é usualmente muito difícil fazer as pessoas pensarem nos dados como um ativo real e compartilhado da empresa. Para que a integração de dados de negócios seja bem sucedida, todos os donos de fontes múltiplas de dados precisam a proposta e direcionamento do projeto. A falta de cooperação de partes relevantes é uma das maiores causas do fracasso em projetos de integração de dados. Patrocínio executivo, construção do consenso e um forte time de integração de dados, com vários participantes, são alguns dos fatores críticos para o sucesso que podem ajudar a resolver os problemas. Zona de Conforto Quando analisando no contexto de uma necessidade isolada, você pode vencer desafios de integração de dados de diversas maneiras. Codificação manual resolve 60% da integração de dados. A tecnologia utilizada para resolver problemas similares pode passar por replicação, ETL, SQL e EAI (Enterprise Application Integration). As pessoas gravitam em direção à tecnologia com a qual elas têm familiaridade. Embora essas abordagens tenham funcionalidades de sobreposição e possam talvez realizar o serviço em casos isolados, essas tecnologias são aperfeiçoadas para solucionar diferentes grupos de problemas. Na tentativa de resolver o problema da integração de dados de negócios, a falta de uma arquitetura de som com escolhas apropriadas de tecnologia pode acabar se tornando uma receita para o fracasso. Desafios Econômicos Os assuntos organizacionais e tecnológicos destacados anteriormente conspiram juntos para fazer da integração de dados a parte mais cara de qualquer projeto de BI e data warehouse. Os fatores principais que encarecem a integração de dados são: - Retirar os dados no formato necessário para a integração acaba sendo um lento e tortuoso processo, cheio de jogos de poder organizacionais. - Limpar e mapear os dados de diversas fontes para apenas um formato coerente e consistente é extremamente difícil. - Ferramentas-padrão para integração de dados usualmente não oferecem funcionalidade ou extensibilidade suficientes para satisfazer os requisitos de transformação de dados para o projeto. Isso pode resultar em grandes despesas em custos de consultoria, para desenvolver códigos ETL especiais visando terminar o trabalho. - Diferentes partes da organização focam nos problemas da integração de dados em silos. Quando há uma necessidade de colocá-los todos juntos, os custos adicionais são utilizados para integrar esses esforços em uma arquitetura de dados de negócios. Enquanto as necessidades de data warehousing e BI da organização evoluem, uma arquitetura de integração de dados defeituosa se torna cada vez mais difícil de manter e o custo total de propriedade vai às alturas. SQL Services Integration Services A tradicional integração de dados ETL-centric de fontes-padrão de dados continua no coração da maioria dos depósitos. Entretanto, exigências para incluir fontes de dados mais diversificadas, requisições de normas e operações globais e online estão rapidamente transformando os requisitos tradicionais para integração de dados. Neste horizonte de muitas mudanças e rápido crescimento, a necessidade de extrair valor dos dados e poder confiar neles é mais importante do que nunca. A integração de dados efetiva se tornou a base da efetiva tomada de decisões. O SQL Server Integration Services oferece uma arquitetura flexível, rápida e escalonável, que permite a efetiva integração de dados nos atuais ambientes de negócios. Neste artigo, examinaremos como o SQL Server Integration Services (SSIS) é um efetivo conjunto de ferramentas para as exigências tradicionais das operações ETL, assim como para as necessidades evolutivas da integração de dados genérica. Também vamos discutir como o SSIS é muito diferente das ferramentas e soluções oferecidas pelos maiores fornecedores ETL, sendo idealmente indicado para atender às exigências do negócio global, da maior à menor empresa. Arquitetura do SSIS Mecanismo de Fluxo de Tarefas e Dados O SSIS consiste tanto num mecanismo de fluxo de tarefas orientado por operações, quanto num mecanismo de fluxo de dados rápido e escalonável. O fluxo de dados existe no contexto de um fluxo de dados geral. O mecanismo de fluxo de tarefas oferece recurso de tempo de execução e suporte operacional para o mecanismo de fluxo de dados. Essa combinação de fluxo de tarefas e de dados permite que o SSIS seja efetivo em cenários ETL tradicional ou DW (data warehouse), além de muitos outros cenários estendidos como operações de data center. Neste artigo vamos focar principalmente nos cenários relativos ao fluxo de dados. O uso de SSIS para o fluxo de trabalho orientado pelo data center consiste num tópico por si só. Arquitetura de Pipeline No núcleo do SSIS está o pipeline de transformação de dados. Esse pipeline tem uma arquitetura orientada por buffer que é extremamente rápida na manipulação de conjuntos de linhas de dados assim que são carregados na memória. A abordagem é realizar todos os passos de transformação de dados do processo ETL numa única operação sem preparação de dados, apesar de que transformações específicas ou requisitos operacionais, ou mesmo o hardware possa ser um obstáculo. Mesmo assim, para máximo desempenho, a arquitetura evita a preparação. O SSIS evita até mesmo e ao máximo possível a cópia dos dados na memória. Isso é um contraste às ferramentas ETL tradicionais, que freqüentemente requerem preparação em quase todos os passos do warehousing e processo de integração. A capacidade de manipular dados sem preparação se estende além dos tradicionais arquivos de dados relacionais e planos e além das tradicionais funcionalidades ETL de transformação. Com o SSIS, todos os tipos de dados (estruturados, não estruturados, XML etc.) são convertidos em uma estrutura tabular (colunas e linhas) antes de ser carregados dentro de seus buffers. Qualquer operação de dados que você pode aplicar a dados tabulares pode ser também aplicada aos dados em qualquer passo do pipeline do fluxo de dados. Isso significa que um único pipeline de fluxo de dados pode integrar diversas fontes de dados e realizar operações arbitrariamente complexas nesses dados, sem precisar prepará-los. Entretanto, você deve notar que, se a preparação é requisitada por razões comerciais ou operacionais, o SSIS também tem bom suporte para as implementações. Essa arquitetura permite que você use o SSIS em uma variedade de cenários de integração de dados, desde o tradicional ETL orientado por DW até as tecnologias de integração de informação não-tradicionais. Conectividade ADO.NET Um aspecto significante numa solução de integração de dados é a extração ou carregamento de dados. Portanto, é importante que sua solução de integração possa se conectar diretamente com um amplo grupo de fontes de dados para elevar ao máximo os benefícios em desempenho e confiabilidade trazidos por uma abrangente plataforma de acesso de dados. O SQL Server 2008 Integration Services é aperfeiçoado para conectividade ADO.NET (versões anteriores eram aperfeiçoadas para OLE DB ou ODBC). A mudança para ADO.NET melhora a integração do sistema e o suporte a terceiros. O SQL Server 2005 Integration Services usava OLE DB para tarefas importantes como pesquisas, mas agora você pode usar ADO.NET para tarefas, e também como componentes de origem e destino. Pool de Thread Quando uma solução de integração é dimensionada para mais, ela freqüentemente atinge um platô acima do qual os aperfeiçoamentos de desempenho tornam-se difíceis de conquistar. O SQL Server 2008 Integration Services quebra essa limitação ao compartilhar threads entre múltiplos componentes, o que aumenta o paralelismo e reduz os bloqueios; e por isso melhora o desempenho em grandes sistemas altamente paralelos multiple-processor e multiple-core. Assim como melhora o desempenho em na maioria dos sistemas, o pool de thread também reduz a necessidade de configurações manuais dos pacotes SSIS para aumentar o paralelismo, e portanto uma produtividade melhorada do desenvolvedor. Pesquisas Persistentes Realizar pesquisas é uma das operações mais comuns em uma solução de integração. Isso é muito comum em data warehousing onde o registro de fatos utiliza pesquisas para transformar chaves de negócios em seus substitutos correspondentes. O SQL Server 2008 Integration Services melhora o desempenho das pesquisas para dimensionar para as tabelas maiores. Você pode configurar as transformações de pesquisa para fazer cache de alguns ou todos os dados de referência antes que a coluna de input seja processada. O SQL Server 2008 Integration Services pode carregar um cache completo de qualquer origem e permite que o cache seja maior que 4 GB, mesmo num sistema operacional 32-bit. Usando um cache parcial, o SQL Server 2008 Integration Services faz uma précarga da pesquisa usando o fluxo de dados. Caches parciais suportam OLEDB, ADO.Net e ODBC para pesquisas em bancos de dados, e rastreiam os erros e acertos da pesquisa. Se você optar por não ter um pré-cache dos dados de referência, o SQL Server 2008 Integration Services suporta chamadas de bancos de dados em lotes e coincidências que não diferenciam maiúsculas. Cenários de Integração SSIS para Operações de Transferência de Dados Embora o SQL Server 2005 Integration Services fosse um produto muito mais funcional e poderoso que suas versões anteriores, muitos usuários descobriram que transferências simples de dados, com o uso do assistente, eram mais complexas e menos funcionais. O SQL Server 2008 Integration Services tem um assistente aperfeiçoado que utiliza ADO.NET, oferece de uma interface de usuário melhorada, realiza conversões automáticas de tipos de dados e é mais escalonável que suas versões anteriores. Figura 2 SSIS para carregamento de data warehouse Assim como seu núcleo, o SSIS é uma ferramenta de ETL abrangente e totalmente funcional. Sua funcionalidade, sua escala e seu desempenho comparam muito favoravelmente com competidores high-end no mercado, e a uma fração de seu custo. A arquitetura pipeline de integração de dados permite que o SSIS consuma dados de diversas fontes simultâneas, realize várias transformações complexas e então entregue os dados a múltiplos destinos simultaneamente. Essa arquitetura permite que ele seja usado não apenas para grandes conjuntos de dados, mas também para complexos fluxos de dados. Enquanto os dados fluem de fonte(s) para destino(s), você pode dividir, fundir e combinar o fluxo de dados com outros fluxos de dados, assim como manipulá-lo. A Figura 3 mostra um exemplo desse fluxo. Figura 3 O SQL Server 2008 inclui suporte para CDC (Change Data Capture), que você pode usar para gravar inserções, atualizar e apagar atividades em tabelas SQL Server, e deixar os detalhes das alterações disponíveis em um formato relacional de fácil consumo. Você pode aproveitar o CDC ao implementar uma solução ETL com SQL Server 2008 Integration Services, para assegurar que somente dados alterados sejam incluídos no processo de extração — o que elimina a sobrecarga de realizar uma atualização total de dados, que inclui dados não alterados em cada operação ETL. O SSIS pode consumir dados de (e carregar dados a partir de) uma variedade de fontes, incluindo gerenciadas (ADO.NET), OLE DB, ODBC, arquivo plano, Microsoft Office Excel® e XML, usando um conjunto especializado de componentes chamados adaptadores. O SSIS pode até mesmo consumir dados de adaptadores de dados personalizados (desenvolvidos em casa ou por terceiros) para que você consiga encapsular dados herdados carregando lógica numa fonte de dados que você pode integrar diretamente no fluxo de dados do SSIS. O SSIS inclui um conjunto de poderosos componentes de transformação de dados que permitem manipulações de dados essenciais para a construção de data warehouses. Esses componentes de transformação incluem: - Aggregate. Realiza agregações múltiplas em uma única passagem. - Sort. Escolhe dados no fluxo. - Lookup. Realiza operações de pesquisa flexíveis e com cache para referenciar conjuntos de dados. - Pivot e UnPivot. Duas transformações separadas fazem o pivot e o unpivot dos dados no fluxo. - Merge, Merge Join e UnionAll. Podem realizar operações de junção e união. - Derived Column. Realiza manipulações no nível das colunas, como operações em cadeia, numéricas e de data e tempo, e traduções de páginas de código. Este único componente encapsula o que outros fornecedores podem dividir em muitas transformações diferentes. - Data Conversion. Converte dados entre vários tipos (como numéricos e em cadeia). - Audit. Adiciona colunas com metadados de linhagem e outros dados operacionais de auditoria. Adicionalmente a essas transformações centrais de data warehousing, o SSIS inclui suporte para necessidades avançadas de data warehousing, como SCD (Slowly Changing Dimensions). O SCD Wizard no SSIS guia os usuários especificando seus pedidos por gerenciar dimensões de mudança lenta e, baseado em seu input, gera um fluxo completo de dados com múltiplas transformações para implementar o carregamento do SCD. É oferecido suporte para os Tipos 1 e 2 de SCD, juntamente com dois novos tipos (Fixed Attributes e Inferred Members). A Figura 4 mostra uma página do SCD Wizard. Figura 4 A Figura 5 mostra o fluxo de dados gerado por esse assistente. Figura 5 Você também pode usar o SSIS para carregar os caches MOLAP (multidimensional OLAP) Analysis Services, diretamente do pipeline de fluxo de dados. Isso significa que você pode usar o SSIS não somente para criar data warehouses relacionais, mas também para carregar cubos multidimensionais para aplicativos analíticos. SSIS e Qualidade de Dados Um dos recursos-chave do SSIS, assim como sua capacidade de integrar dados, é a capacidade de integrar diferentes tecnologias para manipular os dados. Isso permitiu que o SSIS incluísse inovadores componentes de limpeza de dados baseados em “fuzzy-logic”. Os laboratórios de pesquisa da Microsoft desenvolveram esses componentes e eles representam a última pesquisa nessa área. A abordagem é um domínio independente e não depende de nenhum domínio de dados específico, como dados de referência endereço/CEP. Isso permite que você use essas transformações para limpar a maioria dos tipos de dados, e não somente dados de endereços. O SSIS se integra profundamente com a funcionalidade de data mining do Analysis Services. O data mining abstrai os padrões em um conjunto de dados, encapsulandoos em um modelo de mining. Você pode então usar esse modelo de mining para fazer previsões sobre quais dados pertencem a quais grupos e quais dados podem ser anômalos. Assim você pode usar como uma ferramenta para implementar qualidade de dados. O suporte para roteamento complexo de dados no SSIS ajuda você a não só identificar dados irregulares, mas também a automaticamente corrigi-los e substituí-los por valores melhores. Isso permite cenários de limpeza “closed loop”. A Figura 6 mostra um exemplo de um fluxo de dados de limpeza closed loop. Figura 6 Em adição aos seus recursos internos de qualidade de dados, o SSIS pode ser estendido para trabalhar de perto com soluções de limpeza de dados de terceiros. Aplicação de SSIS Além do ETL Tradicional A capacidade do pipeline de fluxo de dados de manipular quase qualquer tipo de dados, a profunda integração com o Analysis Services, o suporte de estendê-lo com uma ampla variedade de tecnologias de manipulação de dados e a inclusão de um mecanismo avançado de fluxo de trabalho permitem que o SSIS seja utilizado em muitos cenários que não são tradicionalmente pensados como ETL. Arquitetura Orientada a Serviços (SOA) O SSIS oferece suporte para dados de origem XML no pipeline de fluxo de dados, incluindo dados de arquivos em disco e URLs sobre http. Dados XML são “decompostos” em dados tabulares, que então podem ser facilmente manipulados no fluxo de dados. Esse suporte para XML pode trabalhar com o suporte para serviços Web. O SSIS pode interagir com os serviços Web no fluxo de controle para capturar dados XML. Você pode capturar XML de arquivos, do MSMQ (Microsoft Message Queuing) e pela internet via http. O SSIS permite a manipulação do XML com XSLT, XPATH, diff/merge, etc. e pode transmitir o XML para dentro do fluxo de dados. Data Mining e Text Mining O SSIS não somente tem profunda integração com os recursos de data mining do Analysis Services, mas também tem componentes de text mining. O text mining (também identificado como classificação de texto) envolve a identificação de relacionamentos entre categorias de negócios e os dados de texto (palavras e frases). Isso permite a descoberta de termos-chave em dados de texto e, com base nisso, a identificação automática de textos “interessantes”. Isso em movimento pode direcionar ações “closed-loop” a atingir metas de negócios como o aumento de satisfação do consumidor e a melhora na qualidade de produtos e serviços. Fonte de Dados Sob Demanda Um dos recursos únicos no SSIS é o destino DataReader, que entrega os dados em um ADO.NET DataReader. Quando esse componente é incluído num pipeline de fluxo de dados, você pode usar o pacote que contém o destino DataReader como uma fonte de dados, exposta como um ADO.NET DataReader. Então você pode usar o SSIS não só como um ETL tradicional para carregar data warehouses, mas também como uma fonte de dados que pode entregar dados integrados, reconciliados e limpos, partindo de diversas fontes sob demanda. Por exemplo, você pode usar isso para ajudar o Reporting Services a consumir dados de fontes variadas, usando um pacote SSIS como sua origem. Um cenário possível que integre todos esses recursos consiste em identificar e entregar artigos interessantes de feeds RSS como parte de um relatório comum. A Figura 7 mostra um pacote SSIS que origina os dados de feeds RSS pela internet, integra-se com dados de um serviço Web, realiza text mining para encontrar artigos interessantes entre os feeds RSS e então coloca esses artigos interessantes dentro de um destino DataReader, para finalmente ser consumido por um relatório Reporting Services. Figura 7 A Figura 8 mostra o uso do pacote SSIS como uma fonte de dados no Report Wizard. Figura 8 De uma perspectiva de ferramenta de ETL, este cenário é muito incomum porque não há extração, transformação ou carregamento de dados. SSIS, a Plataforma de Integração O SSIS vai além de ser uma ferramenta de ETL não apenas em termos de permitir cenários não tradicionais, mas também em ser uma verdadeira plataforma para integração de dados. O SSIS é parte da plataforma SQL Server Business Intelligence que possibilita o desenvolvimento de aplicativos ponta a ponta de BI. Plataforma Integrada de Desenvolvimento O SQL Server Integration Services, o Analysis Services e o Reporting Services utilizam um ambiente de desenvolvimento comum, baseado no Microsoft Visual Studio®, chamado SQL Server Business Intelligence Development Studio. O BI Development Studio oferece um IDE (ambiente de desenvolvimento integrado - integrated development environment) para desenvolvimento de aplicativos de BI. Essa infraestrutura compartilhada permite integração em nível de metadados entre vários projetos de desenvolvimento (integração, análise e relatório). Um exemplo dessa construção compartilhada é o DSV (Data Source View), que é uma definição de fontes de dados offline schema/view, e é usada pelos três tipos de projetos de BI. Esse IDE proporciona facilidades como a integração com o software de controle de versão (VSS) juntamente com suporte para recursos baseados em equipe como “check-in/check-out” — e dessa forma ele preenche a necessidade por um ambiente de desenvolvimento de aplicativos de BI de nível corporativo e orientado por trabalho em equipe. A Figura 9 mostra uma solução BI Development Studio que consiste em Integrar, Analisar e Relatar projetos. Figura 9 Isso não apenas fornece um único local para desenvolver aplicativos de BI, mas também pode ser usado para desenvolver outros projetos Visual Studio (usando Visual C#®, Visual Basic® .NET etc.) e pode brindar os desenvolvedores com uma verdadeira experiência de desenvolvimento ponta a ponta. Além de um ambiente de desenvolvimento de BI integrado, o BI Development Studio tem recursos de depuração em tempo de execução para pacotes SSIS. Esses recursos incluem a capacidade de definir pontos de quebra e suporte para construções-padrão de desenvolvimento, como olhar variáveis. Um recurso verdadeiramente único é o Data Viewer, que oferece a capacidade de visualizar linhas de dados enquanto o Integration Services os processa no pipeline de fluxo de dados. Essa visualização de dados pode se dar na forma de uma simples grade de texto ou uma apresentação gráfica como um gráfico de dispersão ou de barras. De fato, é possível haver múltiplos visualizadores conectados que podem exibir os dados simultaneamente em diversos formatos. A Figura 10 mostra um exemplo de dados geográficos visualizados usandose um gráfico de dispersão e uma grade de texto. Figura 10 Programabilidade Adicionalmente a oferecer um ambiente de desenvolvimento profissional, o SSIS expõe todas as suas funcionalidades através de um conjunto de APIs avançados. Esses APIs são gerenciados (.NET Framework) e nativos (Win32) e permitem aos desenvolvedores estender a funcionalidade do SSIS ao desenvolver componentes personalizados em qualquer linguagem aceita pelo .NET Framework (como Visual C#, Visual Basic .NET, etc.) e pelo Visual C++. Esses componentes personalizados podem ser tarefas de fluxo de trabalho e transformações de fluxo de dados (incluindo adaptadores de fonte e destino). Isso permite que dados e funcionalidades herdados sejam facilmente incluídos nos processos de integração do SSIS, possibilitando que você use efetivamente investimentos passados em tecnologias herdadas. Isso também permite a fácil inclusão de componentes de terceiros. Scripting A extensibilidade previamente mencionada não é somente limitada a componentes personalizados reutilizáveis, mas também inclui extensibilidade baseada em script. O SSIS traz componentes de script para fluxo de tarefas e de dados. Eles permitem que os usuários escrevam scripts em Visual Basic .NET para agregar funcionalidades ad hoc (incluindo fontes e destinos de dados) e para reutilizar qualquer funcionalidade préexistente embalada como montagem .NET Framework. O SQL Server 2008 inclui o Visual Studio Tools for Applications, que fornece um ambiente de scripting no qual você pode usar Visual Basic .NET ou C# para implementar componentes de script. A Figura 11 mostra um exemplo de script que busca a existência de um arquivo Office Excel. Figura 11 Esse modelo de extensibilidade faz do SSIS não só uma ferramenta de integração, mas também um Integration Bus dentro do qual tecnologias como data mining, text mining e UDM (Unified Dimensional Model) podem ser facilmente plugadas para permitir a integração de complexos cenários, envolvendo manipulação e estruturação de dados bastante arbitrárias. Viabilizando a Integração de Dados A arquitetura flexível e extensível do SSIS permite que ele aborde a maioria dos desafios de tecnologia para a integração de dados apontados no início desse artigo. Como mostra a Figura 12, o SSIS elimina (ou ao menos minimiza) a preparação desnecessária. Pelo fato de ele realizar manipulação complexa de dados em uma única operação pipeline, agora é possível reagir a mudanças e padrões nos dados rapidamente, num período de tempo em que é significativo para fechar a curva e entrar em ação. Isso vai de encontro às tradicionais arquiteturas, que se baseiam em preparação de dados e se tornam pouco práticas para fechar a curva e criar ações significativas em dados. Figura 12 A natureza extensível do SSIS faz com que as organizações consigam aproveitar seus investimentos existentes em códigos personalizados para integração de dados, encapsulando-os como extensões reutilizáveis ao SSIS e fazendo o possível para tirar o máximo de proveito de recursos como logging, depuração, integração de BI etc. Isso ajuda muito na superação de alguns dos desafios organizacionais apontados anteriormente neste artigo. A inclusão do SSIS no produto SQL Server torna o custo de aquisição extremamente razoável em comparação com outras ferramentas high-end de integração de dados. Não só o custo inicial de aquisição é mais baixo, mas também com a estreita integração com o Visual Studio e as outras ferramentas de BI SQL Server, o custo de desenvolvimento e manutenção de aplicativo é significativamente mais baixo em comparação com outras ferramentas parecidas. O extremamente razoável TCO (total cost of ownership) do SSI (e do restante do SQL Server) torna a integração de dados de nível corporativo acessível a todos os segmentos do mercado, tirando-o do domínio exclusivo das maiores (e mais ricas) companhias. Ao mesmo tempo, a arquitetura do SSIS é sintonizada para tirar proveito do hardware moderno e entregar desempenho e escala na ponta mais alta das exigências do cliente. O SSIS fornece integração dados avançada e escalonável a todos os clientes, da maior companhia aos pequenos e médios negócios. Em conjunto com o restante dos recursos do SQL Server, a infraestrutura de suporte ao cliente da Microsoft (variando de longos testes em beta para avançadas comunidades online e contratos premium de suporte) e a integração e consistência com o restante das ofertas de produtos da Microsoft, o SSIS é realmente um conjunto de ferramentas único que abre novas fronteiras na integração de dados. Conclusão Muitos negócios apóiam-se em tecnologias de integração de dados para fornecer informações significativas e confiáveis e manter uma vantagem competitiva no atual mundo de negócios. O SSIS (SQL Server 2008 Integration Services) ajuda os departamentos de Tecnologia da Informação a atingir as exigências de integração de dados em suas companhias. O SQL Server 2008 Integration Services vence os desafios de limpeza, transformação e mapeamento de fontes múltiplas de dados com grande volume, resultando em num único e útil formato. Novos recursos aperfeiçoam sua capacidade de dimensionar e melhorar o desempenho enquanto acelera o desenvolvimento e baixa o TCO. Para mais informações, visite: http://www.microsoft.com/brasil/sql Este white paper foi útil? Envie-nos seus comentários. Informe, em uma escala de 1 (insatisfatório) a 5 (excelente), como você classificaria este white paper e por que você usou essa classificação. Por exemplo: · Você deu uma nota alta porque ele tem bons exemplos, capturas de tela excelentes, uma redação clara ou outra razão? · Você deu uma nota baixa devido aos exemplos insatisfatórios, às capturas de tela difusas ou à redação confusa? Esse feedback nos ajudará a melhorar a qualidade dos white papers que lançamos. Enviar comentários.