T@rget trust business intelligence bi - etl - fundamentos e aplicações
O Processo de ETL
Transcript of O Processo de ETL
O processo de ETL (Extract,Transform and Load) destina-se á extração, transformação e carga dos dados de uma ou mais bases de dados de origem para uma ou mais bases de dados de destino(Data wareHouse).
ETL é o processo mais critico e demorado na construção de um Data WareHoruse.
A extração e a carga são obrigatórios para o processo, sendo a transformação /limpeza opcional.
Somente a extração dos dados leva mais ou menos 60 por cento das horas de desenvolvimento de um DW (KIMBALL, 1998 apud ABREU, 2007).
Processo de extração:
Segundo PALMA(1998), o processo de aquisição de dados é caro e complexo.
A complexidade está em rastrear e mapear informações de vários bancos de dados, projetados por diferentes profissionais, em diferentes épocas, que podem estar em diferentes formatos, plataformas e tecnologias, espalhados por toda a organização, às vezes sem documentação e geralmente redundantes.
Fatores que atrasam a extração dos dados:
• Ausência de informação
• Valores inválidos
• Ausência de integridade referencial
• Violações de regras de negócios
• Cálculos inválidos
• Formatos não padronizados
• Duplicação de informação e inconsistência
• Falhas na modelagem das bases de dados operacionais
Se esses fatores não forem corretamente trabalhados no processo de extração, as informações geradas através deles faram que as decisões sejam tomadas erroneamente, podendo afetar diretamente o negocio da organização. (criticidade do processo)
Vantagens
Todas as ferramentas de ETL trazem consigo um fluxo visual das cargas e dos processos disponíveis nas mesmas, obviamente de maneira diferente, mas normalmente de forma estruturada e lógica.
Controle de cargas:
A maioria das ferramentas de ETL disponíveis no mercado traz consigo a capacidade não apenas de fornecer o monitoramento do sucesso ou não das cargas, mas uns níveis de detalhe de quais problemas ocorreram, em que tabelas, quais registros duplicados ou rejeitados. Algumas delas fornecem modelos prontos para relatórios de operação de cargas.
Performance:
As ferramentas com oferecem tuning para os processos de cargas, algumas delas característicos para atender a diferentes bancos de dados.
Tratamento de Flat Files:
A possibilidade de mapear arquivos csv"s, txt"s, dbf"s etc...sem grandes esforços também é característico das ferramentas de ETL.
Desvantagens:
Alto Custo:
O preço de uma licença, dependendo da ferramenta pode chegar a 40% do custo total de um projeto de ETL. Tendo em vista que os patrocinadores de um projeto normalmente são usuário de negócio, justificar a compra de um ETL talvez fique inviável.
Profissionais capacitados:
Uma ferramenta de ETL deviria não demandar muito conhecimento de programação SQL, mas isso não é bem verdade. Além de termos que encontrar profissionais com conhecimento em SQL, algumas ferramentas são bastante complexas e precisamos de profissionais capacitados nas mesmas, o que pode encarecer o custo do recurso. Em alguns casos, é mais eficiente termos um ETL baseado em SQL e contratarmos um bom profissional na linguagem.
Reduz a flexibilidade:
Uma solução fornecida, obviamente fica dependente da capacidade de desenvolvimento de seu fabricante, assim como da dependência na resolução de problemas encontrados e atualizações.
Requisitos para ferramentas ETL
Para se obter uma boa ferramenta de ETL, esse documento apresenta um conjunto de requisitos considerados para ferramentas deste tipo. Em cada requisito citado, é especificado o seu tipo, a fonte na qual ele teve procedência, sua descrição e seu motivo .
Lista de requisitos para ferramentas ETL
Requisitos Descrição
Requisitos Funcionais
RF1 Permitir extração de dados de diversas fontes
RF2 Detalhamento da execução de uma transformação
RF3 Permitir Schedule de tarefas
RF4 Suportar função de transformação
RF5 Conter módulo de administração de modo a permitir um
gerenciamento centralizado
Requisitos não Funcionais
RNF1 Portabilidade: executar em ambiente multi-plataforma
RNF2 Usabilidade: flexibilidade de uso com ambiente gráfico
ou através de código
RNF3 Performance: permitir independência quanto ao volume
de dados para a carga
RNF4 Confiabilidade: conter mecanismos de transmissão e
retransmissão de dados
RNF5 Performance: permitir compactação de dados
RNF6 Segurança: permitir criptografia de dados
RNF7 Estrutura: possuir arquitetura aberta
RNF8 Usabilidade: facilidade de aquisição da ferramenta e sua
documentação
RNF9 Usabilidade: facilidade de instalação
Fonte: literatura técnica sobre o domínio de ETL, através do livro Extração de Dados para
Data Warehouse (Gonçalves, 2003).
RF1 - Permitir extração de dados de diversas fontes
É de profunda importância, por exemplo, que uma ferramenta de ETL possibilite a
integração com diversos tipos de arquivos da empresa, que consiga ler:
arquivos de texto;
planilhas;
arquivos XML;
bancos de dados (Oracle, SQL Server, PostgreeSQL, MySQL.).
Caso contrario a ferramenta perderia o conceito de ETL.
RF2 - Detalhamento da execução de uma transformação
Esse requisito está relacionado ao nível de detalhamento que a ferramenta oferece no
momento da execução de uma transformação. Por exemplo: exibição do tempo de leitura
da fonte, exibição do tempo de escrita no repositório, permitir visualização dos dados que
estão sendo trafegado no momento da execução, exibição da velocidade do tráfego dos
dados de leitura e de escrita.
RF3 - Permitir Schedule de tarefas
Schedule é o agendamento de tarefas ou atividades que devem ser disparadas no horário
programado.
Com Schedule de tarefas pode-se programar que um determinado processo fique rodando
por varias horas não necessitando do auxilio do desenvolvedor. Geralmente esses tipos de
processo são postos para serem executado durante o período da noite, pois os recursos
da máquina ficam disponíveis para que o processo trabalhe com eficiência.
RF4 - Suportar função de transformação
A ferramenta deve conter um esquema de validação dos dados que estão sendo
trabalhados e que vão ser persistidos em um banco de dados (ou outro meio de
armazenamento). Essas funções devem fazer validações tais como: verificação se uma
tabela existe no banco que vai receber os dados, verificar se haverá uma correspondência
de chave estrangeira ou primária, verificar se existe a coluna referente, ou até mesmo se o
banco existe, evitando erros ou simplesmente podendo prevê-los e tratá-los.
Com o uso dessas funções pode-se também ler um campo, executar um cálculo sobre ela
e inserir um valor alterado no repositório.
RF5 - Conter módulo de administração de modo a permitir um gerenciamento
centralizado
um módulo de administração consiste em um conjunto de atividades onde se pode
gerenciar e administrar um sistema.
Para uma ferramenta de ETL é importante se ter um módulo de onde se pode administrar
cada atividade, ou seja, um módulo que gerencie desde o local de onde será extraída uma
informação determinada até como ela será inserida ou trabalhada e de que forma ela se
associará com as demais informações.
Kettle
Em sua tradução a Kettle (Kettle Extraction, Transformation, Transportation and
Loading Environment). A Kettle é uma ferramenta de ETL código open source criada pela
Pentaho em 2004 usada na construção de um Data Warehouse.
Em julho de 2006, a Pentaho fez uma publicação na revista Intelligent Enterprise
(2006) da qual sua plataforma de BI bateu o recorde de download mensal com mais de
55.000 tornando-se um código open source mais baixado na área de ETL.
Com sua estrutura baseada em Java a Kettle possui algumas características
próprias da ferramenta que são:
Spoon: é a área gráfica onde os dados são modelados para a transformação
adequada e se eles serão gravados no repositório ou não;
Pan: comanda cada transformação que está sendo gerada no spoon;
Chef: local onde as jobs são modelados;
Kitchen: utilizado para executar as transformações criadas no Chef.
Por seu ambiente não utiliza programação para modelar as transformações, mas
gera o código da transformação, a Kettle conta principalmente de duas características sua
a spoon e chef de grande importância para seu funcionamento (Santos, 2006).
Ao iniciar a ferramenta o usuário determina onde será feita o armazenamento das
transformações se em um banco de dados ou arquivo XML, e esse repositório será usado
por todo período em que a ferramenta for trabalhada ou gere um novo repositório (Santos,
2006).
A Kettle dispõe de dois painéis em seu ambiente de desenvolvimento como mostra
a Figura 3:
O painel 1 - Localiza-se o Explorer onde ficam Transformation e Jobs para fazer
a modelagem do cenário.
O painel 2 - É a parte do ambiente gráfico a ser definido das transformações
que estão sendo geradas.
Talend
A Talend Open Studio (TOS) é uma ferramenta open source, que também auxilia
na fase de desenvolvimento de data warehouse fazendo o processo de ETL. Seu ambiente
gráfico é baseado no Eclipse (Talend, 2008).
Desde o seu lançamento no final de 2006 a Talend Open Studio chegou a
quinhentos mil downloads. Em 21 de outubro de 2008 a Talend anuncia a disponibilização
da mais nova Talend Open Studio versão 3.0 fazendo agora conexão com sistema SAP.
A TOS possuir uma arquitetura distribuída se torna um diferencial entre as outras
ferramentas de ETL fazendo com que a uma redução do seu custo ao mesmo tempo
melhoria no seu desempenho (Santos, 2006).
Na TOS oferece a opção qual a linguagem de geração sendo ela Java ou Perl.
Além disso, a TOS oferece conectividade:
Para pacote de aplicativos (ERP, CRM, etc.), base de dados, mainframes, Web
Services, arquivos, para abordar disparidade das fontes;
Data warehouse, Data Marts, aplicações OLAP- para fazer a analise,
elaborações de relatórios, dashboarding, scorecarding.
Built-in componente avançado para ETL, incluindo manipulação de string,
movimentação automática lookup e projetos em Java.
O ambiente da TOS é composto por quatro painéis, conforme pode ser visto na
Figura.
Repositório - É a parte onde se localiza todos os componentes de
armazenamento que serão usados na transformação;
Área gráfica - É a área responsável para editar o modelo a ser definido pelo
usuário (pode ser por desenho ou via código) das transformações que estão
sendo geradas. O lado direito do painel é composto dos conectores que serão
usados nas transformações;
Outline/Code Viewer – São as informações dos jobs. A aba Outline mostra uma
visualização das estruturas do modelo a ser gerado. A aba Code Viewer mostra
a linha de código correspondente a cada job;
Configuração do sistema – Nessa aba destaca várias informações a respeito da
transformação a ser feita. Nela apresenta as propriedades dos Jobs, os erros
das operações, run e Schedule do job a ser trabalhado.
Apatar
A Apatar-Open-Source-Data-Integração é uma ferramenta de ETL com código
open source, criada por Renat Khasanshyn em fevereiro de 2007, para fazer integração
das informações dos clientes com diversas fontes de dados ou fontes hospedadas na web
(Brodkin, 2007).
A ferramenta Apatar está disponível de duas maneiras á Apatar open source da
qual o código é livre para download e modificação para se adequar ao usuário. Nesse caso
para um apoio e manutenção da ferramenta open source, se necessitar, há um suporte no
valor de U$ 1.900 (um mil e novecentos dólares) anual. A outra forma, Apatar Enterprise
Edition, dispõem de todos os recursos adicionais até mesmo suporte (Feinman, 2007).
O ambiente de desenvolvimento mostrado na Figura 5 dispõe de dois painéis para
projeta as transformações necessárias do projeto a ser executado.
Aigura 5: Ambiente Apatar
O painel 1 - Localizam-se todos os conectores “functions” que a ferramenta
disponibiliza para fazer a modelagem do cenário.
O painel 2 - É a parte do ambiente gráfico a ser definido das transformações
que estão sendo geradas.
A Apatar por possui seu código 100% open source onde disponibiliza seu código
fonte para alteração, oferecendo guias aos usuários para que possam criar novos
conectores e funções a serem usados no ambiente de projeto. Além disso, a Apatar pode
também criar projetos através do IDE Eclipse (Apatar, 2008).
As anotações que foram feitas dizem respeito à velocidade (em linhas por segundo – rows
for second). Com Base nos resultados da velocidade foi calculado a média e desvio
padrão, que está contida nas tabelas.
A Tabela abaixo mostra os resultados dos testes com leitura de arquivo TXT e
repositório PostgreSQL e na Figura 21 o seu gráfico correspondente.
EntidadeQtd.
Registros
Kettle TOS Apatar
M D M D M D
regimes 8 57,73 2,38 188,24 76,38 33,54 4,27
situacoesorgaos 12 70,93 2,27 308,23 15,83 68,07 11,69
instrucoes 14 75,37 5,10 200,21 30,66 87,75 64,58
estados 27 112,93 2,54 960,67 107,62109,0
2 39,56
situacoes 76 224,03 2,97 1118,29 32,91117,6
0 3,73
funcoes 247 303,07 0,85 2268,14 3006,78582,7
5 29,47
municipios 419 208,97 3,05 364,05 40,49154,5
8 35,99
bairros 832 278,10 0,20 150,95 3,03140,8
2 2,75
orgaos 7909 220,23 2,41 670,02 18,48857,8
1 1,86
servidores 63981 3141,43 2,72 3463,47 59,13 16,08 0,02
dadospessoais 63981 3335,83 6,05 3155,03 26,62 16,76 0,12
financeiro 3636705 107,80 - 120,30 - - -
0,00 500,00 1000,00 1500,00 2000,00 2500,00 3000,00 3500,00
regimes
situacoesorgaos
instrucoes
estados
situacoes
funcoes
municipios
bairros
orgaos
servidores
dadospessoais
Velocidade
Kettle M TOS M Apatar M
PENTAHO KETTLE VS INFORMATICA
Informatica é uma boa suíte de integração de dados comerciais. Foi fundada em 1993 , é líder de mercado na integração de dados (Gartner Dataquest) Ele tem 2600 clientes. Destes, há empresas da Fortune 100, empresas no Dow Jones e organização do governo.
único foco da empresa é a integração de dados. Tem um grande leque de empresas para integrar seus sistemas, limpar seus dados e pode se conectar a um vasto número de atual e sistemas legados. É muito caro, será necessário ter funcionários capacitados para usá-lo e provavelmente exigirá a contratação de consultores também. (Eu ouço consultores Informatica são bem pagos). É muito rápido e pode ser escalado para grandes sistemas.
Ele tem " Otimização Pushdown ", que usa uma abordagem ELT que usa o banco de dados fonte para fazer a transformação -.
Comparando Informatica vs Pentaho, informática tem muito mais recursos corporativos, por exemplo, balanceamento de carga, entre servidores de banco de dados.
O Pentaho requer menos treinamento que o Informatica. Penatho não exige custos iniciais enormes como Informatica .
Informatica é mais rápido que o Pentaho. Infromatica tem Optimization Pushdown, mas com alguns ajustes para Pentaho e algum conhecimento do banco de dados de origem, você pode melhorar a velocidade de Pentaho. Você pode colocar Pentaho Kettle em vários servidores diferentes (Já que é de graça) e usá-lo como um cluster.
Informatica tem ferramentas de monitoramento muito melhores que o Pentaho.
Resultado: é realmente Informatica é bem superior em empresas ETL suite, mas é muito grande e caro.
Se o sistema é de pequeno/médio porte, eu prefiro utilizar Pentaho como alternativa e há muitos e muitos casos de uso, onde as grandes empresas utilizadas Pentaho .
Algumas dessas empresas estão implementado conceitos atuais como a baixo:
API Google de Geocodificação permitindo a validação de endereços. A API Google irá
corrigir endereços e enriquecer os dados com informações de geocodificação, como
latitude e longitude.
Vivo economiza US$ 28 milhões com data warehouseProjeto da operadora unificou dados de seis empresas, que transacionavam cerca de 2 bilhões de registros diários.
Criada a partir de seis empresas de telecomunicações, a operadora Vivo se viu diante de um grande desafio no processo de unificação das companhias: reunir, em um único data warehouse corporativo (ou repositório de dados), todas as informações de seus mais de 46 milhões de clientes. O cenário era complexo. As empresas reunidas contavam com ferramentas de diversos fornecedores de business intelligence (BI), diferentes processos e mais de mil usuários.
Tudo isso gerava um tempo de resposta muito alto para a operadora. Para solucionar o problema, a empresa optou pela integração de todos os sistemas na plataforma da teradata. Esta tarefa envolveu 40 áreas de negócios e 100 usuários concentrados no projeto, focados em integrar 2 bilhões de registros diários. Hoje, o tamanho do banco de dados é de 100 terabytes.
Para chegar à receita ideal, a extração e a análise de dados ficou a cargo de solução da MicroStrategy e todo o processo de desenvolvimento teve relação estreita com a área de negócios. A ordem era não implementar nada que não partisse de uma necessidade dessas áreas. Resultado: uma economia de 28 milhões de dólares.
Deste valor, 15 milhões de dólares foram economizados com impostos, segundo Daniela calaes, gerente de sistemas de BI da Vivo, que falou em evento da teradata realizado esta semana em Washington (EUA). Além disso, ao conseguir obter um retrato mais fiel dos consumidores com potencial para se tornarem devedores, a Vivo conseguiu reduzir em 13 milhões de dólares a receita perdida em situações de clientes devedores.
Outro benefício, de acordo com Daniela, foi a possibilidade de dirigir melhor campanhas de marketing para incentivar o consumo de diferentes produtos por clientes com potencial para aumentar gastos. E a própria rede e a cobertura tiveram melhorias. A partir das ferramentas de análise, a Vivo avaliou comportamentos atuais e históricos da rede para otimizar seu uso, identificar falhas e ampliar a infraestrutura onde fosse necessário. Assim, o custo da manutenção caiu em 20% e a capacidade da rede foi ampliada.
Para o futuro, a empresa prepara a integração com a Telemig Celular, cuja conclusão da compra foi realizada em abril do ano passado, e a implementação de novos módulos de informações, que já estão sendo requeridos pelas áreas de negócios. A área de TI da companhia quer também o aumento da performance do data warehouse, buscando garantir a informação sempre em tempo real.
Implementada a ferramenta, a meta agora é transformar o data warehouse na única fonte de dados da companhia, integrando todas as informações isoladas que ainda persistem na corporação.
Fonte<http://computerworld.uol.com.br/tecnologia/2009/10/20/vivo-economiza-us-15-milhoes-com-integracao-de-data-warehouse/>