Automatização de dados com o SSIS - Revista SQL Magazine 107
O artigo descreve conceitos fundamentais e exemplos bem simples sobre o tema Automatização da Extração de Dados com o Integration Services.
Automatização de dados com o SSIS – Parte 2
Recursos especiais neste artigo:
Contém nota Quickupdate, Conteúdo sobre boas práticas.
Autores: Jean Cristian Ferreira Machado e Elton de Freitas
Neste artigo são explorados conceitos sobre o módulo Integration Services (SSIS) presente na ferramenta Business Intelligence Development Studio (BIDS) da empresa Microsoft. Após definições sobre os principais conceitos e aplicabilidades da ferramenta e seus componentes, são detalhados conceitos da extração de dados, a primeira fase do ETL. Por fim, é feita uma conclusão descrevendo a importância e os benefícios em conhecer a automatização da extração de dados no processo de ETL.
Em que
situação o tema é útil
A
aplicação de conceitos de extração do processo de ETL (Extração, Transformação
e Carga) é recomendada para empresas de todos os segmentos, em especial,
empresas com diversas fontes de dados, para que possam fazer o recebimento e
carregamento de dados de forma automatizada e popule o seu armazém de dados
(data warehouse) ou datamart, facilitando o processo, aumentando a
produtividade e diminuindo a margem de erro.
Atualmente vivemos em uma era onde a produção de informação é constante, diversas empresas possuem muitas fontes de dados nos mais diversos formatos. Mediante tal situação surge a necessidade de integrá-los de forma rápida, prática e produtiva.
Trabalhar com dados de diferentes fontes e formatos pode ser uma tarefa complicada, principalmente quando há necessidade de integrá-los para utilizá-los como uma única base de consulta.
Saber automatizar este processo é de vital importância para as empresas, pois há um grande ganho de tempo nas consultas e obtenção das informações que por sua vez são importantes nas tomadas de decisões gerenciais.
Neste artigo apresentaremos na prática o uso da extração de dados. O projeto foi desenvolvido a partir de uma necessidade real de uma empresa. O mesmo resolveu o problema de recebimento de informações que chegavam de forma manual, aumentou a produtividade e demonstrou-se muito eficaz.
Para tanto, será demonstrado como realizar o processo de extração de forma automatizada. Será utilizada a ferramenta BIDS que possui o módulo SSIS, específico para este tipo de operação.
Para fins de ilustração, foram utilizadas bases de dados de um concurso público da Universidade Federal de Juiz de Fora (UFJF) e seus resultados foram divulgados em formato PDF, conforme cargo e localidade. As bases de dados são públicas e podem ser encontradas no site da Universidade Federal de Juiz de Fora, o caminho pode ser obtido no endereço indicado na seção Links.
Para que o processo possa ser feito corretamente, depois de baixar todos os arquivos, deverão ser retirados todos os seus acentos e caracteres especiais (ç) e incluir um adendo ao final do nome do arquivo que irá referenciar a cidade que o candidato escolheu para concorrer ao cargo. Para a cidade de Juiz de Fora, os arquivos receberam “_jf” e para a cidade de Governador Valadares “_gv”. Isso foi feito devido ao fato de que o nome do arquivo será o nome da tabela que irá abrigar os dados.
Conceitos iniciais sobre o Integration Services
O SSIS é parte integrante do BIDS desde o SQL Server 2005. No SQL Server 2008 R2 é encontrado a partir da versão Standard, que permite trabalhar com os conceitos de ETL nos dados a partir de uma fonte de dados qualquer para outra qualquer, mesmo que sejam distintas.
O uso do SSIS vem para solucionar problemas de integração de dados complexos, com a finalidade de copiar ou baixar arquivos, enviar mensagens de e-mail em resposta a eventos, atualizar data warehouses ou datamarts, fazer limpeza, mineração e gerenciamento de dados do SQL Server.
Os pacotes podem funcionar sozinhos ou integrados ao gerenciador de tarefas do SQL Server para resolver necessidades complexas de tratamento de dados. O SSIS pode manipular uma ampla variedade de fontes de dados, como arquivos XML, arquivos TXT, CSV, RAW e fontes de dados de bancos relacionais e transferir dados para um ou mais destinos.
O SSIS inclui um conjunto variado de tarefas e componentes para extração, transformação e carga de dados contidos em pacotes de manipulação de dados. Pode-se usar as ferramentas gráficas do SSIS para criar soluções sem utilizar uma única linha de código, ou pode-se fazer uso de scripts que trabalham com SQL e as linguagens de programação VB.Net e C#.
Passo inicial
Para seguir em frente é necessário que o SQL Server 2008 R2 esteja instalado e configurado adequadamente na máquina em que será feito o projeto de integração de dados.
Outro item necessário é criar uma pasta para receber e guardar os arquivos do projeto, se possível numa segunda unidade do disco rígido, caso a mesma exista. No exemplo será usada a unidade D, de acordo com a configuração da máquina do usuário pode ser E ou F. Caso ocorra algum problema de segurança se a pasta for criada diretamente na unidade C, é bom assegurar que esse tipo de questão não prejudique o funcionamento do projeto, então é necessário ajustar as propriedades de segurança da unidade C caso seja necessário.
Na unidade escolhida para se trabalhar, deve-se criar a pasta devmedia e a subpasta SSIS, provavelmente o seu caminho ficará da seguinte forma: D:\devmedia\SSIS. Também é necessário criar uma pasta dentro de devmedia com o nome de Scripts que irá conter o script necessário para criar o banco que vai receber os dados. Crie também uma pasta chamada database para conter o banco de dados.
Criadas as pastas, agora é necessário criar o banco de dados no SQL Server para armazenar os dados que serão obtidos nos arquivos PDF. Tal banco será criado a partir do script contido na Listagem 1. Copie o código para o SQL Server, atualize a unidade de trabalho contida no script e depois salve-o dentro de D:\devmedia\Scripts.
Listagem 1. Cria o banco de dados Importa.
USE master
GO
CREATE DATABASE Importa
ON
( NAME = Importa_dat,
--Atualizar a unidade abaixo de acordo com a que
--está sendo trabalhada
FILENAME='D:\devmedia\database\importadat.mdf',
SIZE = 10,
MAXSIZE = 50,
FILEGROWTH = 5
)
LOG ON
( NAME ='Importa_log',
--Atualizar a unidade abaixo de acordo com a que
--está sendo trabalhada
FILENAME='D:\devmedia\database\importalog.mdf',
SIZE = 5MB,
MAXSIZE = 25MB,
FILEGROWTH = 5MB
)
GO
"
[...] continue lendo...
Artigos relacionados
-
Artigo
-
Artigo
-
Artigo
-
Artigo
-
Artigo