Atenção: esse artigo tem um vídeo complementar. Clique e assista!
O artigo descreve as ferramentas nativas de ETL disponíveis no SQL Server 2008.
Para que serve
Melhor aproveitamento dos recursos nativos do SQL Server para fins de extração, transformação e carga de dados.
Em que situação o tema é útil
Na distribuição de dados em diversos ambientes, muito utilizado nas cargas de dados para Data Warehouse.
Os processos de Extração, Transformação e Carga (ETL, do inglês Extract Transform Load) são muito comuns em diversos cenários corporativos. Esses processos podem auxiliar as cargas de Data Warehouse, assim como integrações entre aplicações de plataformas homogêneas ou heterogêneas.
O objetivo deste artigo é falar sobre as ferramentas disponíveis no SQL Server 2008 para Extração, Transformação e Carga de dados, incluindo o SQL Server Integration Services, que é um dos pilares do pacote de Business Intelligence do SQL Server.
Extract, Transform, Load (ETL)
A expressão mais conhecida para Extração, Transformação e Carga de dados é a sigla ETL, que do idioma inglês desmembra-se como Extract, Transform, Load, em uma tradução literal para Extração, Transformação e Carga. Essas três atividades são por muitas vezes as mais trabalhosas de um administrador de Data Warehouse, e é onde este profissional deterá maior dedicação e cuidado.
Conceituando cada uma das etapas:
• Extração: responsável pela aquisição dos dados de origem. Na maior parte das vezes essa origem é heterogênea e são definidas como registros que existem em muitos formatos e localizações diferentes. Os tipos de entrada de dados podem ser os mais variados possíveis, por exemplo: arquivos XML (Extensible Markup Language), arquivos CSV (Comma Separated Values), SGBDs (Sistema Gerenciador de Banco de Dados) e etc.
• Transformação: determina a padronização dos dados. Nesta etapa, ocorrem à validação da integridade dos dados e a sua transformação. É também nessa fase que determinamos os campos e valores obrigatórios para o destino.
• Carga: a última etapa e a mais delicada para o processamento, pois é nessa etapa que os dados são efetivados no destino.
Por que usar uma ferramenta de ETL de mercado
Por muitos anos, as modelagens de Data Warehouses têm sido feitas usando uma variedade de ferramentas, desde softwares para modelagem de DER (Diagrama de Entidade e Relacionamento), até projetos de softwares desenvolvidos com o esforço de inúmeros desenvolvedores.
Quando falamos de ETL e projetos desenvolvidos por profissionais não especializados nos recursos dos bancos de dados envolvidos, estamos falando de um risco eminente para o projeto. Falamos de sobrecargas de processamento, má utilização dos tipos de dados e até mesmo de um alto custo de desenvolvimento.
O motivo pelo qual é melhor adquirir uma ferramenta de ETL pronta, desenvolvida por uma equipe especializada, é que não precisamos investir um conhecimento e um esforço imenso em especialização de cada origem e destino dos dados que podemos ter para um Data Warehouse.
O SQL Server Integration Services, que veremos na continuidade deste artigo, tem uma vantagem para quem já possui um ambiente baseado no SQL Server, visto que o custo já está na licença do SQL Server e não é necessário adquirir ferramentas de terceiros.
Outro fator que deve ser levado em consideração na hora da escolha é que o Integration Services possui nativamente a sua integração aos componentes de Business Intelligence do SQL Server. Além disto, este utiliza como camada de desenvolvimento o .NET Framework, o que nos permite a escolha entre desenvolver nas linguagens Visual Basic .NET ou C#.
A partir de agora iremos começar a descrever ferramentas que apoiam atividades ETL em bancos de dados no SQL Server.
Bulk Copy Program (BCP)
O Bulk Copy Program (BCP) é um software de linha de comando. Por esta característica, este software não possui interface gráfica ao usuário (GUI). Contudo, é uma ótima alternativa em relação ao DTSWizard, que veremos mais adiante.
Este é um dos utilitários mais antigos do SQL Server. Este software tem sido utilizado pelo menos desde a versão 6.0 do SQL Server, e até hoje é parte integrante do pacote de produtos distribuídos pela Microsoft.
Este software é avaliado por muitos, incluindo o autor deste artigo, como um dos utilitários favoritos para importação e exportação de dados, visto que seu desempenho é muito bom e o consumo de memória é baixo.
Porém, construir rotinas de transformação de dados utilizando o BCP não é uma das tarefas mais fáceis que existem. Sendo assim, para quem necessita de uma interface gráfica, podem ser recomendados o uso do SQL Server Import and Export Wizard ou o SQL Server Integration Services.
Importante ater-se ao detalhe que dados gravados pelo BCP estão no formato ODBC, ou seja, um tipo datetime terá o formato “yyyymmdd hh:mm:ss”, ou um tipo Money não conterá virgula com quatro dígitos depois da parte decimal. Outro detalhe importante é em relação às colunas computadas, pois essas não serão importadas. Para tratar essa situação, será necessário tratar no arquivo de origem ou destino.
Parâmetros e opções do Bulk Copy Program
O BCP possui uma extensa relação de parâmetros. Além desses parâmetros serem case sensitive, a ordem de posição dos mesmos pode influenciar na execução do comando. A Tabela 1 contém um resumo dos parâmetros do comando BCP.
Parâmetro |
Descrição ... |
Confira outros conteúdos:
Black November
Desconto exclusivo para as primeiras 200 matrículas!
Pagamento anual
12x no cartão
De: R$ 69,00
Por: R$ 54,90
Total: R$ 658,80
Garanta o desconto
- Formação FullStack Completa
- Carreira Front-end I e II, Algoritmo e Javascript, Back-end e Mobile
- +10.000 exercícios gamificados
- +50 projetos reais
- Comunidade com + 200 mil alunos
- Estude pelo Aplicativo (Android e iOS)
- Suporte online
- 12 meses de acesso
Pagamento recorrente
Cobrado mensalmente no cartão
De: R$ 79,00
Por: R$ 54,90 /mês
Total: R$ 658,80
Garanta o desconto
- Formação FullStack Completa
- Carreira Front-end I e II, Algoritmo e Javascript, Back-end e Mobile
- +10.000 exercícios gamificados
- +50 projetos reais
- Comunidade com + 200 mil alunos
- Estude pelo Aplicativo (Android e iOS)
- Suporte online
- Fidelidade de 12 meses
- Não compromete o limite do seu cartão
<Perguntas frequentes>
Nossos casos de sucesso
Eu sabia pouquíssimas coisas de programação antes de começar a estudar com vocês, fui me especializando em várias áreas e ferramentas que tinham na plataforma, e com essa bagagem consegui um estágio logo no início do meu primeiro período na faculdade.
Estudo aqui na Dev desde o meio do ano passado!
Nesse período a Dev me ajudou a crescer muito aqui no trampo.
Fui o primeiro desenvolvedor contratado pela minha
empresa. Hoje eu lidero um time de desenvolvimento!
Minha meta é continuar estudando e praticando para ser um
Full-Stack Dev!
Economizei 3 meses para assinar a plataforma e sendo sincero valeu muito a pena, pois a plataforma é bem intuitiva e muuuuito didática a metodologia de ensino. Sinto que estou EVOLUINDO a cada dia. Muito obrigado!
Nossa! Plataforma maravilhosa. To amando o curso de desenvolvimento front-end, tinha coisas que eu ainda não tinha visto. A didática é do jeito que qualquer pessoa consegue aprender. Sério, to apaixonado, adorando demais.
Adquiri o curso de vocês e logo percebi que são os melhores do Brasil. É um passo a passo incrível. Só não aprende quem não quer. Foi o melhor investimento da minha vida!
Foi um dos melhores investimentos que já fiz na vida e tenho aprendido bastante com a plataforma. Vocês estão fazendo parte da minha jornada nesse mundo da programação, irei assinar meu contrato como programador graças a plataforma.
Wanderson Oliveira
Comprei a assinatura tem uma semana, aprendi mais do que 4 meses estudando outros cursos. Exercícios práticos que não tem como não aprender, estão de parabéns!
Obrigado DevMedia, nunca presenciei uma plataforma de ensino tão presente na vida acadêmica de seus alunos, parabéns!
Eduardo Dorneles
Aprendi React na plataforma da DevMedia há cerca de 1 ano e meio... Hoje estou há 1 ano empregado trabalhando 100% com React!
Adauto Junior
Já fiz alguns cursos na área e nenhum é tão bom quanto o de vocês. Estou aprendendo muito, muito obrigado por existirem. Estão de parabéns... Espero um dia conseguir um emprego na área.
Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.