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.
Download

Introdução ao SQL Server 2008 Integration