Você está na página 1de 124

UNIO METROPOLITANA DE EDUCAO E CULTURA CURSO DE BACHARELADO EM SISTEMAS DE INFORMAO

TRAJANO CARLOS MONTASSIER NETO

AVALIAO DAS FERRAMENTAS ETL OPEN-SOURCE TALEND E KETTLE PARA PROJETOS DE DATA WAREHOUSE EM EMPRESAS DE PEQUENO PORTE

LAURO DE FREITAS 2012

TRAJANO CARLOS MONTASSIER NETO

AVALIAO DAS FERRAMENTAS ETL OPEN-SOURCE TALEND E KETTLE PARA PROJETOS DE DATA WAREHOUSE EM EMPRESAS DE PEQUENO PORTE
Trabalho de Concluso de Curso apresentado ao curso de Bacharelado em Sistema de Informaes da UNIME, como requisito parcial para obteno de grau de Bacharel em Sistema de Informao. Orientador: Professor Pablo Passos Nascimento.

LAURO DE FREITAS 2012

AGRADECIMENTOS

Em primeiro lugar, agradeo a Deus, que me deu foras e clareou o meu caminho, ajudando-me a superar as dificuldades e os obstculos, mas no final, fui presenteado por este momento. A minha Me Cecilia (in memoriam), a quem dedico essa realizao e que, durante muitos anos, foi para mim um exemplo de fora e superao. Um especial agradecimento a minha esposa, Rosangela e ao meu filho Vitor, que me apoiaram em todos os momentos desta trajetria. Obrigado por compartilharem comigo essa caminhada; sem essa fora no seria possvel chegar ao fim. Igualmente agradeo aos meus tios Sylvio e Deolinda(in memoriam), sempre presentes na minha vida e responsveis por um apoio incondicional no momento em que mais precisei no incio de minha carreira profissional. Obrigado pelo carinho e o afeto que tm me concedido. Aos familiares e amigos, que estiveram ao meu lado ou de alguma forma fizeram parte desta histria, dando-me foras para superar e no desistir e ainda me ajudando a esquecer as dificuldades desse percurso atravs dos momentos descontrao e alegria em que passamos juntos. Tambm, no menos importante, meu agradecimento direo da empresa Morais de Castro, que me apoiou e me incentivou-me a realizar o curso superior. A todos os Mestres com quem tive o prazer de compartilhar conhecimento nesse perodo, um muito obrigado. E, em especial, ao meu orientador Professor Pablo Passos, que acreditou em meu potencial e, com dedicao e empenho, ajudou-me a realizar este trabalho alm de ser uma figura fundamental nesta orientao desde seu nascimento. Ao Coordenador Jorge Farias, que sempre se mostrou interessado em apoiar e ajudar seus alunos. Por fim, no poderia deixar de agradecer a minha Professora Cristiane Dutra por sua colaborao ajudando a engrandecer o resultado deste trabalho.

RESUMO

Ferramentas de ETL so aplicaes de software cuja funo, em termos gerais, extrair dados de diversas fontes, transformar esses dados para garantir padronizao e consistncia das informaes carreg-los para um ambiente de consulta e anlise, conhecido como data warehouse. As diversas ferramentas de ETL disponveis no mercado atualmente possuem as funes bsicas com caractersticas bem semelhantes e o nvel de sofisticao fica por conta de recursos mais especficos que vo diferenciar umas das outras. Na perspectiva das empresas de pequeno e mdio porte, s quais possuem uma capacidade de investimento em ferramental tecnolgico limitada, as ferramentas ETL open source configuram-se como uma alternativa interessante uma vez que o licenciamento e as atualizaes so gratuitos. Atravs de pesquisas realizadas por organizaes especializadas, foi possvel identificar as ferramentas Kettle e Talend como as mais importantes atualmente no universo das ferramentas ETL open-source. Tal fato expe a necessidade de desenvolver um mtodo para avaliar as ferramentas ETL open-source Talend e Kettle/Pentaho atravs da definio de critrios relativos s caractersticas e funcionalidades importantes para a construo de um projeto de DW. Os resultados de cada um dos critrios foram coletados atravs da utilizao das ferramentas em um estudo de caso prtico no mbito de uma empresa de pequeno porte. Palavras-chave: Ferramenta ETL, Kettle, Talend, CloverETL, Business Intelligence, Data Warehouse.

ABSTRACT

ETL tools are software applications whose function, in general terms, is to extract data from several sources, then transform it to ensure standardization and consistency of information, upload it to an environment of consultation and analysis, known as data warehouse. The several ETL tools available on the market these days have the basic functions with very similar characteristics and the level of sofistication is on more specific features that will differentiate one another. From the perspective of small and medium businesses, which have a limited capacity of investment in technological tools, the ETL open-source tools are an interesting alternative since the licensing and upgrades are for free. Through research conducted by organizations it was possible to identify the Kettle and Talend as the currently most important ones in the world of ETL open-source tools. This fact explains the need to develop a method to evaluate the ETL open-source Talend and Kettle / Pentaho tools by defining criteria pertaining to the characteristics and features that are important to build a DW project. The results of each of the criteria were collected through the use of tools in a practical case study within a small business. Keywords: ETL Tools, Kettle, Talend, CloverETL, Business Intelligence, Data Warehouse.

LISTA DE FIGURAS

Figura 1 O Ambiente de um Data Warehouse................................................................... 19 Figura 2 - Staging Area ou ODS .......................................................................................... 22 Figura 3 Arquitetura de Data Mart Independente ............................................................. 23 Figura 4 Arquitetura de Data Mart Integrado ................................................................... 24 Figura 5 Modelo de Implementao Top Down em Data Mart Dependente .................... 25 Figura 6 Modelo de Implementao Botton Up para Data Mart Independente ................ 27 Figura 7 Modelo Multidimensional Snowflake ................................................................. 30 Figura 8 Modelo Multidimensional Star Schema .............................................................. 31 Figura 9 Representao de Granularidade ......................................................................... 32 Figura 10 - Dimenso que Muda Lentamente Tipo-1 .......................................................... 34 Figura 11 - Dimenso que Muda Lentamente Tipo-2 .......................................................... 35 Figura 12 - Dimenso que Muda Lentamente Tipo-3 .......................................................... 36 Figura 13 - Estratgia de Carregamento de Tabelas de Fatos de Nvel Bsico .................... 37 Figura 14 Representao das Origens de Metadados ........................................................ 40 Figura 15 Modelo Clover Designer ................................................................................... 49 Figura 16 Modelo Talend Open Studio ............................................................................. 53 Figura 17 Modelo PDI / Kettle .......................................................................................... 56 Figura 18 - Ambiente OLAP - Modelagem Esquema Star .................................................. 61 Figura 19 - Ambiente Transacional Modelagem 3FN ....................................................... 62 Figura 20 Menu Conexo Banco de Dados no Kettle/Pentaho ......................................... 63 Figura 21 - Conexo Banco de Dados no Kettle/Pentaho .................................................... 63 Figura 22 Menu Conexo Banco de Dados no Talend ...................................................... 64 Figura 23 - Conexo Banco de Dados no Talend ................................................................. 64 Figura 24 - Movimentao de Dados para Staging Area no Kettle ...................................... 65 Figura 25 - Movimentao de Dados para Staging Area no Talend .................................... 66 Figura 26 Componente tMap do Talend Open Studio Tabela Cliente ........................... 67 Figura 27 Componente tMap do Talend Open Studio Calculo da Margem de Contribuio ......................................................................................................................... 67 Figura 28 Componente Database Lookup do Kettle Tabela Cliente .............................. 68

Figura 29 Componente Calculator do Kettle Calculo da Margem de Contribuio ...... 68 Figura 30 Componente Dimension Lookup/Update do Kettle SCD tipo 1 e 2 .............. 71 Figura 31 Componente tPostgreSqlSCD do Talend SCD tipo 1, 2 e 3 ....................... 72 Figura 32 Componente Database lookup do Kettle Carga Tabela Fato Vendas.......... 72 Figura 33 Componente tMap do Talend Carga Tabela Fato Vendas........................... 73 Figura 34 Modelo do Talend Carga Tabela Fato Vendas ............................................... 73 Figura 35 Exemplo Facilidade para Criar Componentes a Partir de Conexes ................ 75 Figura 36 - Controle de Verso da Transformao no Kettle............................................. 105 Figura 37 - Controle de Verso da Transformao no Talend ........................................... 106 Figura 38 - Consulta Verso de um Trabalho no Talend ................................................... 107 Figura 39 Consulta Histrico das Verses de um Trabalho no Talend ........................... 107 Figura 40 - Controle de Status das Verses de um Trabalho no Talend ......................... 108 Figura 41 Exemplo de Tratamento de Erro no Kettle ..................................................... 109 Figura 42 - Conjunto de Componentes para Manipulao de Erros no Talend ................. 110 Figura 43 - Exemplo Relatrio Anlise de Impacto no Kettle ........................................... 111 Figura 44 - Exemplo de Rastreabilidade e Propagao de Atributos no Kettle ................. 112 Figura 45 - Relatrio de Rastreabilidade dos Atributos no Kettle ..................................... 113 Figura 46 - Exemplo de Propagao de Atributos no Talend ............................................ 113 Figura 47 - Exemplo de Rastreabilidade e Manipulao de Atributos no Talend .............. 114 Figura 48 - Relatrio de Documentao Automtica do Kettle ......................................... 115 Figura 49 - Chamada ao Gerador de Documentao no Talend......................................... 115 Figura 50 - Relatrio de Documentao no Talend............................................................ 116 Figura 51 - Exemplo de Compartilhamento de Recursos do Kettle ................................... 117 Figura 52 - Modelo de um Painel com Jobs e Metadados Compartilhados no Talend .. 118 Figura 53 - Exemplo de Execuo Passo-a-Passo no Kettle .............................................. 119 Figura 54 - Modelo dos Painis de Depurao Passo-a-Passo no Talend .......................... 120 Figura 55 - Exemplo de Configurao do Ponto de Parada no Kettle................................ 120 Figura 56 - Exemplo de Configurao do Ponto de Parada no Talend .............................. 121 Figura 57 - Exemplo do Recurso de Validao no Kettle .................................................. 122

LISTA DE GRFICOS

Grfico 1 Quadrante Mgico para Ferramentas de Qualidade de Dados .......................... 52 Grfico 2 Por Categoria de Requisitos .............................................................................. 88

LISTA DE TABELAS

Tabela 1 Vantagens e Desvantagens da Implementao TOP DOWN .............................. 25 Tabela 2 Vantagens e Desvantagens da Implementao BOTTON-UP ............................ 26 Tabela 3 Matriz de Processo de Negcio - Parte 1 ............................................................ 59 Tabela 4 Matriz de Processo de Negcio Parte 2 (continuao) .................................... 59 Tabela 5 Requisitos Relevantes com as Respectivas Avaliaes ...................................... 81 Tabela 6 - Pontuaes por Item de Requisito ....................................................................... 87 Tabela 7 - Resumo das Pontuaes por Categoria de Requisitos ......................................... 88

LISTA DE SIGLAS

3FN API BI DB2 DM DSS DW EIS ER ETL IDC MDM MPP

Terceira Forma Normal Interface de Programao de Aplicativos Business Intelligence Banco de Dados da IBM Data Mart Sistema de Suporte a Deciso Data Warehouse Sistema de Informaes Executivas Entidade de Relacionamento Extract, Transformation and Load International Data Corporation Master Data Management Multi-Processamento Paralelo

ODBC Open Database Connectivity ODS Staging Area ou Operacional Data Store

OLAP On-line Analitycal Processing OLTP PDI SAD SAP On-line Transactional Processing Pentaho Data Integration Sistema de Apoio a Deciso Sistemas Aplicativos e Produtos - Software Gesto Empresarial

SGBD Sistema Gerenciador de Banco de Dados SMP TXT VM XML Multi-processamento Simtrico Padro de Arquivo Texto Mquina Virtual Padro de Arquivo

SUMRIO 1 INTRODUO ................................................................................................................. 12 2 Data Warehouse................................................................................................................. 18 2.1 A HISTRIA DO EIS AO DATA WAREHOUSE ....................................................... 18 2.2 CONCEITOS E PROPRIEDADES DO DATA WAREHOUSE .................................. 19 2.3 ARQUITETURA DO DATA WAREHOUSE ............................................................... 21 2.3.1 Staging Area ................................................................................................................ 21 2.3.2 Data Mart ..................................................................................................................... 23 2.4 FORMAS DE IMPLEMENTAES ............................................................................ 24 2.5 ETAPAS DA IMPLANTAO DO PROJETO ........................................................... 28 2.5.1 Modelagem .................................................................................................................. 28 2.5.2 ETL ............................................................................................................................. 33 2.5.3 ANLISE DE INFORMAES ................................................................................ 41 3 ETL EXTRAO, TRANSFORMAO E CARGA DE DADOS ............................ 42 3.1 ABRANGNCIA DO ETL ........................................................................................... 42 3.2 ETAPAS DO PROCESSO DE ETL ............................................................................. 43 4 FERRAMENTAS DE ETL .............................................................................................. 45 4.1 CONCEITO ................................................................................................................... 45 4.2 CARACTERSTICAS E BENEFCIOS ....................................................................... 45 4.3 MODELO OPEN SOURCE .......................................................................................... 47 4.3.1 Ferramenta CloverETL ............................................................................................... 48 4.3.2 Ferramenta TALEND ................................................................................................. 51 4.3.3 Ferramenta KETTLE (PENTAHO)............................................................................. 54 5 Estudo de caso: empresa de pequeno Porte ...................................................................... 57 5.1 ANLISE DE REQUISITOS E DESENVOLVIMENTO DA MATRIZ DO PROCESSO DE NEGCIO................................................................................................. 58 5.2 DEFINIO DO MODELO DIMENSIONAL ............................................................ 60 5.3 EXTRAO DOS DADOS, MOVIMENTAO PARA STAGING AREA .............. 62 5.4 NECESSIDADES DE TRANSFORMAO, DIMENSO E FATO ........................ 66 5.5 PLANEJAMENTO DE CARGA DAS DIMENSES ................................................. 69 5.6 PLANEJAMENTO DE CARGA DA TABELA FATO ............................................... 72 5.7 NOTAS DO DESENVOLVIMENTO ........................................................................... 74

6 AVALIAO DAS FERRAMENTAS DE ETL ............................................................. 78 6.1 IDENTIFICAO DOS REQUISITOS ........................................................................ 78 6.2 AVALIAO DOS REQUISITOS .............................................................................. 79 6.2.1 Resumo das pontuaes ............................................................................................... 86 7 CONCLUSO ................................................................................................................... 89 REFERNCIAS: .................................................................................................................. 91 ANEXO 1 INFRA-ESTRUTURA UTILIZADA NA EXECUO DO LABORATRIO .............................................................................................................................................. 94 ANEXO 2 LISTA DE CRITRIOS PARA AVALIAO DAS FERRAMENTAS ETL .............................................................................................................................................. 95 ANEXO 3 ANLISE COMPLEMENTAR DOS CRITRIOS RELEVANTES .......... 105

1 INTRODUO

A economia mundial, nas ltimas dcadas, vem migrando de uma economia industrial, voltada ao produto, em que os bens manufaturados so o principal fator, para uma economia baseada na informao e no conhecimento (MACHADO, 2008). E, neste cenrio, encontra-se a maioria das empresas, revendo seus sistemas de gesto e muitas delas em pleno processo de implantao do Planejamento Estratgico, buscando um sistema que fornea informaes que agregue valor ao seu negcio. Ou seja, informaes que sejam de rpido acesso, fcil de consultar, que integre as diversas fontes de dados e que esses estejam organizados em um formato padronizado de tal modo que possa fornecer subsdios aos nveis gerenciais e direo no apoio s decises estratgicas. Para atender a essa demanda, essas empresas vm buscando desenvolver seus sistemas de apoio deciso baseado em arquiteturas de DW (data warehouse). No entanto, a grande maioria enfrenta dificuldades logo de incio na escolha pelo modelo de desenvolvimento e quais ferramentas sero utilizadas, uma vez que, independente do modelo adotado, ser necessrio cumprir o processo de extrao, transformao e carga de dados, tambm conhecido como ETL (Extract, Transform and Load). Esta a fase mais crtica, complexa e demorada na construo de um data warehouse, cuja finalidade aglutinar os dados de mltiplas origens e integrar em um formato padronizado e consistente para ser carregado no data warehouse. Segundo Corey (2001, p. 227), os sistemas de origem tem os dados; o data warehouse estruturado para apresentar informaes e o processo de ETL a caixa preta que transforma os primeiros no ltimo.. Desta forma, o conceito de ETL contribui fortemente no processo de construo do data warehouse, visto que tem a responsabilidade de capturar, transformar e consolidar os dados dos sistemas transacionais, tambm conhecido como OLTP (On-line Transactional Processing), assim como moldar esses dados e entreg-los formatados em dimenses estruturadas com o objetivo de facilitar aos sistemas de consultas ou OLAP (On-line Analitycal Processing) disponibilizando, assim, a inteligncia empresarial para ser explorada pelos usurios finais. Entende-se por captura e consolidao de dados um complexo trabalho de congregar fontes de dados de diversas origens com formatos e critrios variados em um nico ambiente consistente e organizado.
12

Existe uma advertncia comum entre dois dos principais gurus sobre data warehouse, a exemplo de Ralf Kimball e Bill Inmon. Eles afirmam que a atividade de ETL ocupa boa parte do tempo em projetos data warehouse, algo que varia entre 60% at 80% do tempo total gasto em um projeto. E esse percentual pode se acentuar ou no se a opo for pelo desenvolvimento manual do cdigo ou pelo uso de ferramentas especializadas em ETL. Vale observar que, quando a opo for por implementao manual de rotinas ETL, o desenvolvedor poder encontrar possveis limitaes ou dificuldades em tarefas que vo exigir do desenvolvedor um grande esforo de trabalho, alm de um tempo maior de dedicao, assim como ficar mais suscetvel a ocorrncia de erros durante o desenvolvimento do cdigo, consequentemente deixando de ganhar produtividade no projeto e principalmente no garantindo a qualidade das informaes armazenadas para as anlises dos gestores que podem levar a decises equivocadas, trazendo srios prejuzos para as organizaes. Segundo Corey (2001), as principais dificuldades em uma implementao manual esto no desenvolvimento de cdigo, nas funes de metadados (detalhes no captulo 2.5.2.3), nas conexes com ambientes heterogneos, no prprio gerenciamento do desenvolvimento, assim como na elaborao da documentao do projeto. Considerar a alternativa pelo uso de ferramentas de ETL frente ao desenvolvimento manual algo importante, por tratar-se de um conjunto de recursos que apoia a construo de um data warehouse. Essas ferramentas de ETL disponibilizam recursos, como: gerao de metadados; conectividade nativa com os principais SGBD (Sistema Gerenciador de Banco de Dados) dentre outros tipos de arquivos como XML, planilhas e TXT; funes facilitadoras para transformao de dados; melhor aproveitamento para reutilizao de cdigos; soluo para gerenciamento centralizado de projetos; facilidade no

desenvolvimento de cdigo atravs de diagramas; facilidade na elaborao da documentao tcnica, entre outros. Desta forma, possvel afirmar que h benefcios em utilizar uma ferramenta ETL ante o desenvolvimento manual, salvo necessidades muito especficas em que s ferramentas ETL no atendem de forma esperada. Segundo Corey (2001, p. 226) bons programadores podem escrever bons processos de ETL. E geralmente podem fazer melhor

13

do que qualquer ferramenta ETL, porm Corey (2001, p. 226) ainda complementa dizendo uma ferramenta ETL rene dados sobre os processos de ETL, os torna reutilizveis, mais fcil de gerenciar e transferir conhecimento Como bem coloca Corey (2001), no impossvel desenvolver um data warehouse sem utilizar ferramentas de ETL, entretanto a utilizao deste recurso trar, alm dos benefcios j citados, a qualidade como um todo para o projeto. Atualmente, o mercado dispe de uma enorme variedade de ferramentas de ETL com recursos e caractersticas bem diversificadas. Na perspectiva das empresas de pequeno e mdio porte, s quais possuem uma capacidade de investimento em ferramental tecnolgico limitada, as ferramentas ETL open source configuram-se como uma alternativa interessante, pois o licenciamento e os upgrades (atualizaes) so gratuitos. Outro fator que confirma a possibilidade de utilizao das ferramentas ETL open source que as principais funcionalidades existentes nos software proprietrios j esto disponveis na verso de cdigo aberto. Com isso, o padro oferecido pelas ferramentas de ETL atendem satisfatoriamente as necessidades para esse porte de organizaes. Tambm h evidncias sobre o grau de maturidade do modelo open source para ferramentas de ETL com crescente aderncia at entre as organizaes mais regulamentadas. Isso mostra que apresenta nveis confiveis de execuo. Segundo o artigo publicado pela COMPUTERWORD (2010), metade de um universo de 300 organizaes pesquisadas de grande porte j est comprometida com solues de cdigo aberto e outros 28% j realizaram testes ou empregam esse tipo de software em servios mais especficos. A pesquisa intitulada Viso Geral do Mercado: Ferramentas ETL Open Source realizada pela Forrester Research (2007) relata a existncia de dezenas de projetos de cdigo aberto que realizam uma ou mais funes de ETL. Contudo, pondera que apenas algumas destas solues oferecem um conjunto mais completo de recursos e dentre as que se encaixam dentre as mais completas solues open-source destacam-se o Kettle e Talend. De acordo com a pesquisa, as caractersticas tcnicas desses projetos tm muito mais semelhanas do que diferenas. Alm disso, suas estratgias de mercado representam o grosso de sua diferenciao em relao s demais solues open-source. A identificao das ferramentas citadas como as mais importantes atualmente no universo de ferramentas ETL open-source expe a necessidade de uma avaliao mais

14

aprofundada no tocante s funcionalidades e caractersticas destas solues. Esta questo se configura como motivador para avaliao do emprego destas ferramentas em um estudo de caso prtico em uma empresa de pequeno porte, o que permitiu a definio da soluo que melhor se adequou ao contexto de avaliao.

1.1 OBJETIVO

O objetivo deste trabalho desenvolver um mtodo para avaliar as ferramentas ETL open-source Talend e Kettle/Pentaho atravs de critrios relativos s caractersticas e funcionalidades destas solues. Os resultados de cada um dos critrios definidos foram identificados atravs da utilizao das solues em um estudo de caso prtico no mbito de uma empresa de pequeno porte. A comparao dos resultados obtidos permitiu a definio da soluo que melhor se adequou ao contexto de avaliao.

1.2 MOTIVAO

Durante muitos anos, as empresas buscaram aprimorar os elementos de controle operacional, primeiro com os sistemas funcionais, depois evoluram para automao dos processos e, atualmente, o foco est direcionado para o tratamento das informaes estratgicas. Essa necessidade de transformar os dados operacionais em informaes de valor sempre existiu, porm, como bem coloca Machado (2008, p.15), as falhas estruturais, os custos de desenvolvimento de sistemas, entre outros, sempre deixaram para o ltimo lugar as necessidades executivas de informao. Um exemplo prtico o prprio estudo de caso aplicado neste trabalho, cujo projeto pertence a uma empresa de mdio porte que j consolidou sua etapa de automao dos processos e agora deseja investir na implantao de um data warehouse. E, entre as principais dificuldades, passou-se pela deciso de escolha de uma ferramenta ETL, uma das razes que motivou o desenvolvimento de uma metodologia para escolha de ferramenta ETL. Outra motivao

15

foi destacar a importncia merecida etapa de ETL quase sempre renegada a segundo plano nos projetos de BI, que bem lembrada por Gonalves (2003, p. 4) quando diz:
Os fornecedores de software que atuam nesta rea preocupam-se em desenvolver as ferramentas finais para os usurios, mas esquecem de tratar a questo da integrao de dados, um requisito para o data warehouse e algo que somente as ferramentas ETL podem atender.

1.3 METODOLOGIA

Para o desenvolvimento deste trabalho importante que conceitos de Data Warehouse, suas etapas de construo, principalmente a ETL, e o papel das ferramentas ETL sejam bem definidos. Para essa tarefa, imprescindvel uma reviso bibliogrfica a respeito do estado da arte para os tpicos citados. Alm disso, foi realizado levantamento das principais caractersticas e recursos oferecidos pelas ferramentas de ETL Open Source. Uma anlise documental dos produtos de ETL selecionados foi realizada atravs de pesquisas nos sites dos fornecedores, trabalhos bibliogrficos correlatos e avaliaes de organizaes independentes. A anlise propiciou a definio dos critrios para avaliao das ferramentas em questo e os resultados desta avaliao foram aferidos a partir de um estudo de caso de implantao de DW em uma organizao de pequeno porte. Este laboratrio funcionou como uma forma de validao do mtodo de avaliao de ferramentas ETL open-source, objetivo deste trabalho.

1.4 ORGANIZAO DO TEXTO

A organizao deste trabalho est dividida em sete captulos descritos a seguir:

16

O primeiro captulo faz uma breve introduo sobre o cenrio atual das empresas, tambm procurando demonstrar o objetivo, a metodologia e motivao do contedo abordado neste trabalho. No segundo captulo, so descritos os conceitos bsicos, a arquitetura, elementos e fundamentos sobre data warehouse. No terceiro captulo, so definidos os conceitos sobre ETL, sua abrangncia e as etapas. O quarto captulo mostra o que e o que faz uma ferramenta ETL, assim como uma breve referncia sobre as ferramentas CloverETL, Talend e Kettle/Pentaho. No quinto captulo, apresentado o desenvolvimento do estudo de caso de um data mart para uma empresa de pequeno porte. No sexto captulo, est registrada a avaliao das ferramentas ETL open-source alvo do trabalho com a classificao e pontuao dos requisitos para o desenvolvimento do estudo de caso. O stimo captulo finaliza com a concluso dos resultados obtidos e sugestes para trabalhos futuros. Trs anexos fazem parte deste trabalho, onde o primeiro descreve a infra-estrutura utilizada no estudo de caso; o segundo traz uma lista de critrios importantes para avaliao das ferramentas ETL que serviu como base para o foco do trabalho que a avaliao de ferramentas ETL open-source voltada para projetos de DW em empresas de pequeno porte; e o terceiro apresenta uma anlise complementar dos critrios relevantes aplicados no estudo de caso.

17

2 DATA WAREHOUSE

Neste captulo, aborda-se a fundamentao terica do trabalho, cujo objetivo prover o conhecimento bsico para o entendimento dos conceitos que envolvem a construo de um data warehouse, alm de mostrar uma breve histria da evoluo do DW, a arquitetura, as formas e etapas de implementao do DW.

2.1 A HISTRIA DO EIS AO DATA WAREHOUSE

As primeiras aparies de desenvolvimento de sistemas para fornecimento de informaes empresariais foi com a chegada das planilhas eletrnicas por volta de 1990, conhecidos como Sistemas de Informaes Executivas EIS e, nessa poca, seu desenvolvimento era restrito equipe de TI com contedos limitados e clculos simples de somas, contagens e acessando os dados diretamente no ambiente operacional. J no final dos anos 90, com a evoluo das aplicaes, surgiram os Sistemas de Apoio a Deciso SAD ou Sistemas de Suporte a Deciso DSS, facilitado pelas linguagens de 4 gerao. Isso permitiu que o usurio final assumisse um papel mais ativo, proporcionando maior flexibilidade nos relatrios e nas consultas sob demanda. Todavia, a extrao dos dados ainda era de fontes relacionais pouco versteis para atender as expectativas das necessidades gerenciais. Outro problema surgiu quando houve a necessidade de se pesquisar um histrico mais antigo dos dados, porque os ambientes operacionais no se mantm muitos anos armazenados. Alm disso, o desempenho era prejudicada com o uso concorrente do ambiente operacional. O novo conceito, vlido at os dias atuais, mas ainda em franca evoluo, ficou conhecido como data warehouse DW, ou armazm de dados, com objetivos bem definidos: fornecer informaes confiveis a partir de uma base corporativa nica e integrada; proporcionar acesso rpido aos usurios finais sem depender do pessoal de TI; e

18

permitir que os prprios analistas de negcio produzam modelos do tipo ad-hoc, ou seja, sob demanda (COREY, 2001). De acordo com Gonalves (2003), o DW pode ser considerado como a separao fsica entre os sistemas de dados operacionais (aplicativos que controlam as funes crticas do negcio da empresa) e os sistemas de suporte deciso de uma empresa. Esse conceito define bem os elementos da arquitetura fsica, como ilustra a figura 1, o modelo de ambiente data warehouse.
Figura 1 O Ambiente de um Data Warehouse

Fonte: MACHADO, 2008, p. 26

2.2 CONCEITOS E PROPRIEDADES DO DATA WAREHOUSE

O barateamento de armazenamento de dados em disco propiciou s organizaes guardarem seus dados operacionais por muito mais tempo, porm o imenso volume de dados armazenados neste formato dificulta seu aproveitamento na preparao de informaes estratgicas na tomada de deciso. Alguns motivos levam a isso: dados

19

dispersos, falta de integrao com outras bases de dados, o formato no adequado para favorecer consultas a um grande volume de dados, ausncia de estrutura para uma viso unificada dos dados entre outros. Esses problemas tornaram-se um grande desafio para as organizaes e foi para atender a essa demanda que surgiu os data warehouse (GONALVES, 2003).

Segundo Corey (2001 apud INMON, 1997, p.12), para um data warehouse necessrio atender as seguintes propriedades: . Orientado ao assunto: Refere-se ao formato da organizao das informaes de modo a facilitar as consultas, ou seja, os dados sero agrupados por assunto dos negcios da empresa, por exemplo: vendas, compras, produo, RH e etc. . Integrado: O data warehouse tem a funo de armazenar os dados em um nico ambiente, integrando dados de diversas fontes, arquivos XML, entre outros. No entanto, para a real integrao, necessrio adotar alguns cuidados antecipadamente ao armazenamento no data warehouse. . No voltil: Alm de garantir a durabilidade das informaes no tempo, essa propriedade tambm garante que os usurios somente tero acesso ao data warehouse com a possibilidade de somente leitura. Isso no significa que no haver atualizao dos dados, mas ocorrer atravs de novas cargas de dados e, uma vez carregado, no mais poder ser apagado. Diferentemente dos ambientes transacionais OLTP, por intermdio das aplicaes, os usurios podem executar: incluso, alterao, excluso e consulta dos dados. . Variante no tempo: Sem o elemento tempo, o data warehouse no teria muito sentido. O registro dos histricos das atualizaes permite ao usurio conhecer qual era o estado de um determinado dado aps uma atualizao, uma vez que as novas entradas sempre sero mapeadas em um novo registro, ou seja, os dados contidos referem-se a algum momento de tempo especfico. Para isso, os registros, quando carregados, recebem um atributo da unidade de tempo e nunca mais so atualizados. essa caracterstica que possibilita os analistas de negcios fazerem anlises de tendncias e visualizarem as variaes das informaes ao longo do tempo. E a

20

maior justificativa para os grandes volumes de dados dos data warehouse exatamente a necessidade de manter os registros de histricos por tempo a fio.

2.3 ARQUITETURA DO DATA WAREHOUSE

Segundo Machado (2008), a arquitetura define o modelo lgico da instalao, independente da estrutura fsica do data warehouse. A escolha da arquitetura passa por uma deciso gerencial que est relacionada a fatores relativos infra-estrutura disponvel pelo formato da instalao, se central ou distribuda em instalaes remotas ou locais. Tambm se devem levar em considerao os recursos disponveis para investimento, porte da empresa e a cultura dos usurios, etc. Corey (2001) comenta que h uma infinidade de possibilidades ao se adotarem estratgias para construir um data warehouse, inclusive a de no ter um data warehouse em situaes onde os sistemas transacionais OLTP sejam suficientemente fortes para suportar consultas dos usurios finais. Obviamente, so situaes onde no existe necessidade de integrao com outras fontes de dados.

2.3.1 Staging Area

A Staging area ou Operational Data Store ODS um armazenamento de dados intermedirio, entre os sistemas transacionais e o data warehouse, cuja finalidade facilitar a integrao entre esses dois ambientes. Essa tcnica por um lado, exige mais uma etapa no desenvolvimento do projeto e uma demanda maior por espao em disco; por outro, os ganhos podem ser muito maiores, como por exemplo, o desempenho durante o processo de atualizao do DW, tambm diminui o tempo de concorrncia com o ambiente transacional durante a leitura dos dados. Nesta etapa j possvel aplicar a limpeza dos dados e tirar as inconsistncias. Do mesmo modo, em ambientes complexos e heterogneos, a Staging area possibilita integrar todos os tipos de dados em um nico formato fazendo com que a
21

carga para o DW seja de uma nica fonte. Inicialmente essa rea de armazenamento era temporria. Com a evoluo do ambiente, outras finalidades surgiram tornando esses dados permanentes, e teis para anlises e metadados. A figura 2 exemplifica o elemento staging area em um ambiente do data warehouse. Dois modelos podem ser adotados em uma estratgia de staging area, ou seja, de acordo com a localizao fsica pode ser: 1) Local - quando a staging area est dentro do mesmo servidor OLTP; ou 2) Remoto quanto localizada no mesmo ambiente do data warehouse, ou em seu prprio ambiente em um servidor independente. Recomenda-se cuidado na configurao da staging area no modelo local, pois pode afetar o desempenho do ambiente transacional.

Figura 2 - Staging Area ou ODS

Fonte: MACHADO, 2008, p. 38

22

2.3.2 Data Mart

Os data mart DM so subconjuntos do data warehouse - DW, normalmente orientados por assunto de uma determinada rea da organizao, como finanas, vendas, RH, ou organizado para atender as necessidades das informaes por regio geogrfica, por exemplo, cidades, estados pases, unidades, filiais, etc. Essa tcnica de agrupamento das informaes em data mart tambm contribui significativamente para os modelos de implementao do data warehouse.

2.3.2.1 Arquitetura Independente

Nessa arquitetura, os dados so agrupados de forma a atender apenas as necessidades especficas de um departamento, no tem um foco corporativo, isto , as informaes de um data mart no sero vistas por outro data mart de outras reas de negcio da organizao. Outra caracterstica que os dados so extrados dos sistemas transacionais OLTP diretamente para o data mart. As vantagens deste modelo sa sua rpida implementao, visto que no h necessidade de pensar no data warehouse como um todo, tambm apresenta baixo impacto nas necessidades de recursos tecnolgicos, assim como custos mais diludos no projeto como afirma Machado (2008). A figura 3 demonstra uma arquitetura de data mart independente.

Figura 3 Arquitetura de Data Mart Independente

Fonte: MACHADO, 2008, p. 50 23

2.3.2.2 Arquitetura Integrada (ou Dependente)

A arquitetura integrada o prprio data warehouse distribudo em mltiplos data mart, isto , mesmo que a implementao seja realizada separadamente por grupos de trabalho ou departamento, os dados sero integrados ou interconectados, dando a possibilidade dos dados serem vistos por todos os data mart. Assim, h uma maior viso corporativa dos dados e aumento da capacidade de relacionamento das informaes nas consultas e anlises empresariais. Como um aumento significativo da complexidade dos requisitos do produto final, assim como o tempo de desenvolvimento e uma maior capacitao tcnica do pessoal de TI, consequentemente haver um custo mais elevado no projeto (MACHADO, 2008). A figura 4 demonstra uma arquitetura de data mart integrado.

Figura 4 Arquitetura de Data Mart Integrado

Fonte: MACHADO, 2008, p. 51

2.4 FORMAS DE IMPLEMENTAES

Dentre as formas de implementaes mais conhecidas, existem a Top Down e Bottom Up, a opo por um modelo ou outro tem forte influncia da arquitetura escolhida. A implementao Top Down caracteriza-se por maior abrangncia no projeto do data warehouse. As definies de requisitos e modelagens conceituais envolvem todos os departamentos da organizao. Recomenda-se que todas as informaes sobre o ambiente
24

transacional OLTP, formatao e limpeza dos dados devam ser analisados antes de iniciar a implementao. Desta forma, o modelo favorece a arquitetura de integrada dos data mart, pois os dados para alimentar os data mart tero sua origem no data warehouse (MACHADO, 2008). No entanto, existem vantagens e desvantagens em cada modelo, como pode ser observado na tabela a seguir algumas caractersticas do modelo Top Down.

Tabela 1 Vantagens e Desvantagens da Implementao TOP DOWN Vantagens Desvantagens


Herana de arquitetura: dados e estrutura aproveitados do DW facilitam a manuteno. Viso de empreendimento: ou viso corporativa, todos os dados do negcio esto integrados. Repositrio de metadados (1) centralizado e simples: facilidade na manuteno dos metadados Controle e centralizao das regras: garante a existncia de um nico conjunto de aplicaes para extrao e transformao dos dados, alm de centralizar a manuteno e monitorao. Implementao muito longa: dificulta a garantia de apoio poltico e financeiro no projeto. Alta taxa de risco: inexistem garantias para o investimento nesse tipo de ambiente. Heranas de cruzamentos funcionais: exige alta capacidade tcnica dos desenvolvedores e usurios finais. Expectativas relacionadas ao ambiente: a demora do projeto pode induzir expectativas nos usurios.

Fonte: MACHADO, 2008, p. 53 (Adaptada)

A figura a seguir demonstra o modelo da implementao top down para um data mart dependente.
Figura 5 Modelo de Implementao Top Down em Data Mart Dependente

Fonte: MACHADO, 2008, p. 53 25

Ao contrrio da implementao top down, a botton up tem sua implementao mais facilitada, porque no necessita do grande tempo requerido no levantamento de requisitos. Deste modo, permite o desenvolvimento departamentalizado sem se preocupar com a viso geral da empresa, mas com o propsito de desenvolvimento incremental do data warehouse a partir dos data mart independentes. Assim sendo, o maior problema deste modelo a padronizao na modelagem dimensional e no padro metadados, podendo ocorrer redundncia de dados e inconsistncia entre os data mart. Na tabela 2 pode ser visto as principais vantagens e desvantagens do modelo botton-up.

Tabela 2 Vantagens e Desvantagens da Implementao BOTTON-UP Vantagens Desvantagens


Implementao rpida: desenvolvimento direcionado reduz o tempo de entrega do data mart. Perigo de legamarts: uma das maiores preocupaes da arquitetura data mart independentes acabar sendo transformada em sistemas legados que dificultam quando no inviabilizam futuras integraes, passando a ser parte de um problema e no a soluo. Desafio de possuir a viso de empreendimento: durante o desenvolvimento, existe a difcil misso de manter um rgido controle no enfoque do negcio como um todo. Administrar e coordenar mltiplas equipes e iniciativas: caso ocorra desenvolvimento em paralelo dos data mart, necessrio rgido controle da equipe para no perder a padronizao das regras. A maldio de sucesso: quando entregue um data mart, os usurios felizes ficam querendo mais informaes para o seu projeto. Enquanto isso, os prximos tero que aguardar por mais tempo. Nestes casos, ser necessrio vencer desafios polticos.

Retorno rpido: baseado na arquitetura independente, aumenta a confiana da organizao permitindo uma base para investimentos adicionais. Manuteno do enfoque da equipe: esse modelo permite que a equipe priorize as principais reas de negcios.

Herana incremental: reduz o risco do projeto como um todo, dado que o aprendizado da equipe cresce a medida que for desenvolvendo passo a passo.

Fonte: MACHADO, 2008, p. 55. (Adaptao)

26

A figura seguinte ilustra o modelo da implementao botton up para um data mart independente.

Figura 6 Modelo de Implementao Botton Up para Data Mart Independente

Fonte: MACHADO, 2008, p. 55

Machado (2008) tambm sugere a implementao combinada que alguns autores preferem chamar de hbrida. Este modelo tem o propsito de unir as vantagens dos paradigmas top down e botton up de uma forma geral. Nesta abordagem, executa-se a modelagem de dados do date warehouse com uma viso macro e, posteriormente, sero feitas as partes de interesse por processo ou atividades que constituiro os data mart. A principal vantagem desse modelo a garantia da padronizao dos dados, uma vez que haver um molde nico a ser seguido para o desenvolvimento de todos os data mart.

27

2.5 ETAPAS DA IMPLANTAO DO PROJETO

Antes de iniciarmos o desenvolvimento das etapas da implantao de um projeto de data warehouse, necessrio j ter vencido a fase de estudo prvio do levantamento dos requisitos com os usurios chave da organizao para definio da arquitetura do data warehouse, o modelo da staging area, assim como o formato do desenvolvimento (abordagem incremental: Top-Down ou Bottom-Up) e, desta forma, entender os processos de negcios, identificar os processos mais importantes e cruciais e, finalmente, priorizar os assuntos a serem implementados. A seguir sero descritas as etapas de: Modelagem, Granularidade, ETL e Anlise das Informaes.

2.5.1 Modelagem

O modelo uma forma de abstrao do mundo real e modelar uma maneira de visualizarmos aquilo que desejamos realizar. No nosso caso, a modelagem dos dados para o ambiente do data warehouse deve atender dois requisitos bsicos: ser performtica para consultas analticas e clara para que os prprios usurios possam realizar suas consultas ad hoc1. Como bem coloca Machado (2008, p. 65) A maioria das tcnicas de modelagem concorda que a aplicao completa da teoria relacional no apropriada para data warehouse., ou seja, os princpios bsicos das tcnicas de modelagem na terceira forma normal no se aplicam para ambientes de apoio a decises, uma vez que so complexas (por requer diversos joins2 entre suas tabelas) e no respondem com velocidade desejvel s consultas que demandam grandes volumes de dados. Segundo Machado (2008), as duas tcnicas mais utilizadas Entidade

Relacionamento (ER) e Multidimensional so aceitas para modelagem em ambientes de data warehouse, contudo o modelo ER necessita de caractersticas especficas para suportar o ambiente de anlise multidimensional.
1 2

Ad-hoc a capacidade um produto oferece ... a juno ou relacionamento entre de uma ou mais tabelas de um banco de dados. 28

A modelagem multidimensional tem o objetivo de sumarizar, reestruturar e oferecer uma visualizao dos dados comuns do negcio que forma priorizar o suporte s consultas analticas. Para tanto, emprega trs elementos bsicos: - FATOS: consiste em um conjunto de dados que contm mtricas que representam uma transao ou evento de negcio. A particularidade do fato que seu contedo representado por valores numricos agrupados em tabela denominada de fato. - DIMENSES: as dimenses que proporcionam as formas de visualizar os eventos do negcio, ou seja, os fatos. A caracterstica da dimenso determinar o contexto dos assuntos do negcio, por isso o contedo de seus atributos no numrico, e sim contedos descritivos que classificam os elementos do fato. Exemplos de dimenses: Cliente, Produto, Fornecedor e Tempo. - MEDIDAS: as medidas so os atributos numricos de um fato. Para Machado (2008), o elemento que permite demonstrar o desempenho de um indicador de negcios relativo s dimenses de compem um fato. Exemplos de medidas so: quantidade vendida, valor faturado, quantidade devolvida, margem bruta e custo da venda.

2.5.1.1 Tipos de Medidas da Tabela Fato

Na tabela fato, existem as mtricas numricas dos negcios as quais sero analisadas pelos usurios para a tomada de decises. Os atributos para definir essas

mtricas numricas podem ser classificados de acordo com as caractersticas: - Aditivas: As medidas podem ser somadas em todas as dimenses, alm de permitir a soma ao longo de todas as dimenses. Normalmente representado por valores e quantidades e ocorrncia; - Semi-Aditivas: As medidas podem ser somadas em apenas algumas dimenses e o atributo, quando somado ao longo de uma dimenso, no tem qualquer significado. Exemplo desde tipo de atributos so saldos de estoque, saldo conta corrente, e etc.; - No-Aditivas: As medidas no podem ser somadas em qualquer dimenso, pois a soma no possui qualquer significado ao longo das dimenses do esquema, como exemplo a temperatura.

29

A seguir sero apresentadas as principais tcnicas de modelagem e suas caractersticas.

2.5.1.2 Tcnicas de Modelagem Dimensional

2.5.1.2.1 Snowflake

O modelo multidimensional Snowflake ou floco de neve apresenta-se na disposio de uma estrela com a tabela fato ao meio com as dimenses a sua volta, no entanto essas dimenses podem sofrer decomposio em uma ou mais hierarquias, ou seja, ocorre a aplicao da terceira forma normal nas entidades de dimenses. Essa tcnica tem a vantagem de economizar o espao em armazenamento por evitar as redundncias de dados, contudo pode prejudicar o desempenho das consultas assim como a clareza por parte dos usurios, por existirem mais joins entre essas tabelas (MACHADO, 2008). A seguir a figura que exemplifica esse modelo.

Figura 7 Modelo Multidimensional Snowflake

Fonte: MACHADO, 2008, p. 95

30

2.5.1.2.2 Star Schema

O modelo multidimensional Star Schema ou esquema estrela tambm apresenta-se na disposio de uma estrela com a tabela fato ao meio e as vrias dimenses ao seu redor. No existe a normalizao nas entidades de dimenses, sendo que o relacionamento da tabela fato acontece atravs de simples ligaes entre essas duas tabelas. Desta forma, privilegia a clareza para o usurio e melhor desempenho nas consultas em prejuzo a uma maior ocupao de armazenamento. O modelo Star Schema eleito pela maioria dos autores como uma tcnica de modelagem lgica que demonstra os dados em um padro intuitivo para os usurios, onde capaz de balancear rapidez nas consultas e volume dos dados em disco (MACHADO, 2008).

Figura 8 Modelo Multidimensional Star Schema

Fonte: MACHADO, 2008, p. 93

31

2.5.1.3 Granularidade

Independente da implementao ou da arquitetura a ser adotada no desenvolvimento do data warehouse, um dos fatores mais crticos no processo de modelagem dos dados a definio da granularidade. Machado (2008, p. 59) refere-se bem granularidade de dados como nvel de sumarizao dos elementos e de detalhe disponveis nos dados, considerando o mais importante aspecto no projeto de um data warehouse. E uma das razes desta importncia o intenso efeito que ela pode provocar no volume de dados armazenado no data warehouse que afetar o tempo de resposta nas consultas. Sendo assim, tanto o tcnico como o usurio devem estar interados deste efeito no momento de definir os requisitos de granularidade e entender bem que, quanto mais detalhes h nos dados, menor a granularidade e maior a possibilidade de anlise do negcio. Por outro lado, o desempenho nas consultas estaria comprometida pelo maior volume de dados armazenado. Por isso, recomenda Machado (2008) para este problema o mtodo do bom senso e da anlise detalhada das necessidades, inclusive com propostas alternativas para uma correta granularidade do projeto. A figura abaixo exemplifica uma situao de armazenamento de diferentes granularidades.

Figura 9 Representao de Granularidade

Fonte: MACHADO, 2008, p. 61.

32

2.5.2 ETL

O processo de ETL (extrao, transformao e carga de dados) deve fazer parte de qualquer projeto de data warehouse. Essas etapas so responsveis pela movimentao dos dados entre o ambiente transacional e o analtico com implementao de regras de transformao para garantir a consistncia e qualidade dos dados. Esse processo pode ser desenvolvido manualmente (por cdigo), entretanto atualmente existem diversas ferramentas de ETL que agilizam na construo e gerenciamento desse processo de forma segura e eficaz. Alm disso, o ETL pode ser comumente aplicado em outras reas de inteligncia de negcios permitindo alimentao de dados para a anlise de vrias formas: a) Relatrios; b) Dashboards (painis, balanced scorecard); c) Indicadores de Desempenho ("KPIs"); d) Multi-dimensional (OLAP); e) Anlise exploratria (data mining) (ATOL, 2007). Para detalhar este tema, teremos um captulo completo dedicado ao ETL.

2.5.2.1 Estratgias de Carregamento das Dimenses

Essencialmente, podemos mencionar trs tipos de estratgias de carregamento de dimenso. Cada qual trata de forma diferenciada a alterao dos dados da tabela dimenso, na forma de captura e na manuteno dos histricos. Em comum, essas estratgias sempre comparam os dados de entrada com os dados j existentes. Kimball (2002) foi quem primeiro conceituou as necessidades de alteraes nas tabelas de dimenses, isto , atributos que podem mudar ao longo do tempo e, para atender a essa necessidade, Kimball definiu trs tcnicas para Slowly Changing Dimensions ou simplesmente SCD:

Tipo 1 - Sobreposio de valores; Tipo 2 - Criao de um novo registro na dimenso (controle de verso); Tipo 3 - Criao de campos que permita acompanhar a evoluo dos valores.

33

Para Corey (2001), determinar qual mtodo deve-se aplicar exige um dilogo com os modeladores e analista sobre a natureza dos dados na origem e no destino. Antes de detalhar as estratgias de carregamento, para um melhor entendimento importante conceituar a funo das chaves artificiais (alguns autores preferem chaves substitutas) introduzidas nas dimenses em substituio a chave primria natural. Com a finalidade de proporcionar maior flexibilidade na construo do data warehouse e, principalmente, garantir maior agilidade de leitura dos dados pelas ferramentas de consulta ou aplicaes OLAP. Uma vez que as chaves artificiais tm o formato numrico e sequencial em substituio todos os campos de uma chave natural.

2.5.2.1.1 Estratgia: Dimenso que Muda Lentamente - Tipo-1

a forma mais simples de atualizao da dimenso. Neste caso no existe o registro de histricos, ou no h preservao de campos que esto sendo atualizados. Com base nos valores da chave natural, o registro atualizado com os dados do registro de entrada (COREY, 2001). A seguir uma ilustrao desse modelo.
Figura 10 - Dimenso que Muda Lentamente Tipo-1

Fonte: COREY, 2001, p. 244. 34

2.5.2.1.2 Estratgia: Dimenso que Muda Lentamente - Tipo-2

Quando a regra de negcio exige a preservao de uma determinada informao que seja crtica, ela mantida na dimenso com o mesmo contedo quando os fatos ocorreram associados a sua poca. O funcionamento desta estratgia baseia-se na verificao de alterao em algum dos campos marcados como crtico. Caso ocorra mudana, o registro ser marcado como expirado e uma nova chave artificial gerada para um novo registro de entrada inserido. Caso contrrio, os dados sero simplesmente atualizados conforme estratgia Tipo-1 (COREY, 2001). Como se observa na figura 11 mostra o modelo tipo 2.

Figura 11 - Dimenso que Muda Lentamente Tipo-2

Fonte: COREY, 2001, p. 245.

35

2.5.2.1.3 Estratgia: Dimenso que Muda Lentamente - Tipo-3

Nessa estratgia a regra de negcio tambm exige a preservao de uma determinada informao que seja crtica com as mesmas regras de controle de alterao dos tipos 1 e 2. Porm, limita-se a manter um histrico de n valores, com o descarte do valor mais antigo. Um exemplo no qual utilizado esse tipo de controle no atributo estado civil do cliente quando necessrio conhecer apenas a situao atual e, no mximo, ter o registro no histrico da situao anterior (COREY, 2001). A figura 12 exemplifica o modelo tipo 3.

Figura 12 - Dimenso que Muda Lentamente Tipo-3

Fonte: COREY, 2001, p. 246.

36

2.5.2.2 Estratgias de Carregamento da Tabela Fato

De modo geral, as tabelas fato de nvel bsico sempre acrescentam novos dados. Comenta Corey (2001) que a natureza das tabelas de fatos deve ser tal que todos os novos dados devem estimular eventos ou transaes exclusivos de suas extraes de sistema de origem.. Os passos para o carregamento da tabela fato devem-se, primeiramente, associar cada fato s suas respectivas chave de dimenso por meio da chave natural. Uma vez verificada a integridade, recupera-se o valor da chave artificial para destino do registro do fato (COREY, 2001). A figura 13 demonstra essa estratgia.

Figura 13 - Estratgia de Carregamento de Tabelas de Fatos de Nvel Bsico

Fonte: COREY, 2001, p. 247.

Segundo Kimball (2004), na preparao da carga das tabelas fatos, existe um conjunto de desafios:

37

A carga inicial o primeiro desafio: como lidar com um volume imenso de dados no menor tempo possvel? Uma recomendao apresentada por Kimball a boa gesto de ndices, por exemplo: antes de carregar uma tabela fato, podem-se desabilitar todos os seus ndices em um processo de pr-carga, para, depois, reconstruir os ndices assim que a carga for completada em um processo de ps-carga. Os ndices so potencializadores de rendimento no momento da consulta, mas eles matam o desempenho na carga de tabelas que so fortemente indexadas (KIMBALL,2004, p.224).

O processo de atualizao da tabela fato outro desafio. Uma tcnica indicada por Kimball (2004, p.228) a separao das operaes de inseres das atualizaes, mas complementa, apenas separar essas operaes no basta, importante priorizar as atualizaes e, em seguida, processar as inseres na tabela fato. Kimball tambm adverte sobre a utilizao de comandos SQL nas operaes de inseres. Isso deve ser evitado, uma vez que as ferramentas ETL possuem recursos para processamento de dados em massa com balanceamento de carga por exemplo, oferecendo um desempenho mais eficiente.

Outra questo abordada por Kimball (2004, p.228) quanto deciso para o tipo de carga da tabela fato entre as opes: INSERO (limpeza e carregamento total); ou INCREMENTAL (atualizao dos registros existentes e insero dos novos). Segundo Kimball (2004, p. 228), devem ser evitadas as atualizaes em registros, pois isso demanda enormes sobrecargas no SGDB, causadas pelo preenchimento do log rollback3, por isso, em muitos casos, melhor excluir os registros que seriam atualizados e recarreg-los em processamento de massa. Entretanto, o prprio Kimball (2004) adverte que, na escolha da estratgia, deve-se levar em considerao a proporo de registros que esto sendo atualizados versus o nmero de linhas existentes. Isso desenha um fator crucial na escolha da tcnica ideal e, geralmente, necessitam ser complementados com a execuo de testes para identificar cada situao em particular.

Recurso utilizados pelos gerenciadores de banco de dados para recuperao de registro em caso de falha. 38

Tambm a politica de correes dos registros na tabela fato deve estar alinhada com a estratgia de carregamento da tabela fato. Para Kimball (2004, p.229), so trs as possibilidades para corrigir um registro na tabela fato: 1 Negar o fato: Negar um erro implica na criao de uma duplicata exata do registro errneo quando as medidas so resultado das medidas iniciais multiplicado por -1. Dessa forma, as medidas negativas invertem o fato na tabela anulando o registro original. Muitas razes existem para negar um erro ao invs de usar outras abordagens para corrigir dados de fato, a principal para fins de auditoria. Outra razo o melhor desempenho, uma vez que evita atualizaes de registros. 2 Atualizar o fato: Implica em atualizar a informao no prprio o registro (UPDATE), lembrando que atualizaes em tabelas fato pode ser um esforo de processamento intensivo, uma vez que a maioria dos sistemas de gerenciamento de banco de dados, para esse tipo de transao, aciona um log rollback e isso reduz o desempenho da carga. 3 Apagar e recarregar o fato: Para Kimball(2004), a maioria dos arquitetos ETL concorda que a excluso de erros a melhor soluo para corrigir os dados em suas tabelas fato. Uma desvantagem discutvel sobre as verses atuais dos relatrios. Quando comparados com os que foram gerados anteriormente, eles no vo reconciliar. Por outro lado, se se aceita que est mudando os dados, em qualquer das polticas utilizada para atingir o objetivo da correo, a maioria dos relatrios existentes no consideram a alterao de dados uma coisa ruim, desde que a verso atual represente a verdade.

2.5.2.3 Metadados

Para Gonalves (2003), o metadados est para o data warehouse como o catlogo de livros est para uma biblioteca. A funo deste artefato de documentar informaes tanto de sistema como de usurio. Machado (2008) define os metadados como dados de nvel mais alto que representam os dados de nveis inferiores que compem a estrutura do data warehouse.

39

Esses dados tm o papel de identificar a origem dos dados que mantm o data warehouse e se estende a toda documentao produzida durante o projeto, desde material originado nas entrevistas com usurios at as documentaes dos artefatos do sistema, como por exemplo, modelo de dados, especificao dos arquivos (chaves e atributos), histrico de extraes, controle de acesso, entre outras informaes. Por ter estas caractersticas de implementao, os metadados podem ser classificados em dois grupos: os metadados tcnicos, utilizados pelos desenvolvedores e analistas, e os metadados de negcio, empregados pelos executivos e analistas de negcios. Os metadados tcnicos tm a funo de fornecer segurana aos usurios tcnicos (desenvolvedores e administradores de banco de dados), e a certeza de que os dados esto vlidos. Estes dados so crticos para a manuteno e a evoluo do sistema. J os metadados de negcio, como o prprio nome diz, so o elo entre o data warehouse e os usurios de negcio (executivos e analista de negcio) e tm a finalidade de demonstrar a origem dos dados no data warehouse, regras de transformao que foram aplicadas, confiabilidade e contexto dos dados (MACHADO, 2008). A figura 14 ilustra bem as possveis origens do metadados.

Figura 14 Representao das Origens de Metadados

Fonte: MACHADO, 2008, p. 306.

40

2.5.3 ANLISE DE INFORMAES

Nesta etapa do projeto, est disponibilizado para os usurios finais todo potencial de anlise dos dados que, normalmente, requer ferramentas especficas para o ambiente OLAP (on-line analitycal processing) ou processamento analtico on-line, que trata das informaes na esfera ttica e estratgica das organizaes. Da mesma forma que no ambiente OLTP, tambm existem aplicaes que manuseiam os dados para o processamento de informaes OLAP e exploram os dados de um data warehouse. Afirma Corey (2001, p. 616) que O OLAP proporciona aos usurios a capacidade de ter idias sobre os dados, que anteriormente eles no podiam conseguir atravs de modos de visualizao rpida, coerente e fceis de usar e interativos para uma variedade de informao. Para tanto, as caractersticas das consultas aos ambientes analticos necessitam atender os seguintes requisitos bsicos: - Proporcionar operaes que mostram as maiores ocorrncias, comparaes entre perodos, variaes em percentual, mdias, somas ou valores acumulados, entre outras funes matemticas e estatsticas; - Permitir descoberta de tendncias e cenrios; - Outras anlises multidimensionais, tais como: slice e dice (que so formas de mudana da visualizao das dimenses), drill down e roll up (que determina a maneira de navegao entre os nveis de detalhamento do dados), drill across (comando para pular um nvel intermedirio dentro de uma mesma dimenso), pivot table (manipula o ngulo pelo qual os dados so vistos, ou seja, troca de linha por coluna e vice-versa). Segundo Machado (2008, p. 86) As ferramentas OLAP so as aplicaes s quais os usurios finais tm acesso para extrair os dados de suas bases e construir os relatrios capazes de responder s suas questes gerenciais.

41

3 ETL EXTRAO, TRANSFORMAO E CARGA DE DADOS

O objetivo deste captulo mostrar os conceitos bsicos sobre ETL, abordando seu significado e sua importncia como fator crtico na construo de um projeto para data warehouse ou BI e o que precisa ser feito para consolidar os dados para atender a inteligncia empresarial, demonstrando as necessidades de cada uma de suas etapas e seu funcionamento.

3.1 ABRANGNCIA DO ETL

Segundo Corey (2001), ferramentas certas devem fazer parte de um projeto de DW, assim como um gerenciamento central dar apoio nas tarefas de movimentao de dados e, preparando uma boa arquitetura de ETL, vai possibilitar uma melhor implementao do projeto. Logo aps as etapas de levantamento das necessidades de informaes, requisitos do projeto e definio da modelagem dos dados a serem apresentados no data warehouse, o passo seguinte identificar a origem dos dados, local onde so processados nos sistemas transacionais da organizao. Desta forma, inicia-se a etapa de ETL que uma das mais crticas no projeto de data warehouse, pois a etapa que envolve a movimentao de dados entre os ambientes transacionais e o ambiente de consulta analtica. O grau de dificuldade, na integrao dos dados entre estes ambientes OLTP e DW - depende diretamente de como ser o cenrio a enfrentar nos sistemas de origem, que podem estar armazenados em esquemas comuns (homogneos) ou em estruturas diferentes (heterogneas); em um banco de dados comum ou com os dados espalhados por diferentes bancos. Quanto localizao geogrfica dos dados pode estar dispersos ou centralizada em um nico local, assim como as caractersticas de plataformas de hardware e sistemas operacionais iro influenciar na complexidade do projeto. Certamente uma implementao inconsistente ou equivocada no processo ETL tornar as informaes armazenadas no DW no confiveis para uma tomada de deciso.
42

Aliado s questes tcnicas, no podemos esquecer quais so os limites de recursos financeiros destinados ao projeto para que no ocorram surpresas com falta de recursos depois de j iniciado o desenvolvimento, portanto um bom planejamento do cronograma financeiro essencial para o projeto (COREY, 2001).

3.2 ETAPAS DO PROCESSO DE ETL

Basicamente as atividades que envolvem a etapa de ETL esto agrupadas em trs passos. O primeiro representado pela (E) extrao dos dados de origem, que pode envolver conexes com fontes de diversas origens como os SGBD, estes tambm de diferentes fabricantes, planilhas eletrnica, arquivos XML, arquivo texto, arquivos no estruturados, entre outros. Para Corey (2001, p.239), importante ter uma definio concisa dos mapeamentos dos dados de origem [...] sem uma definio clara de onde comear e onde terminar a tarefa ser um trabalho de conjectura que produzir dados inteis. O segundo passo est nas atividades de (T) transformao dos dados. o trabalho que concentra o maior esforo de anlise, consequentemente gasta-se maior tempo, embora o grau de dificuldade dependa diretamente de fatores que so determinados pela qualidade dos dados de origem, das regras de negcios a serem aplicadas e da disponibilidade ou no de documentao atualizada das bases de dados transacionais. Segundo Corey (2001), no existe um ponto determinado onde vo ocorrer as transformaes, elas podem ocorrer durante a extrao, na movimentao dos dados na staging area, ou at na carga dos dados no DW mesmo que raros, mas sempre com o objetivo de transformar os dados em informao. Alguns destes trabalhos de transformao de dados implicam: na limpeza de dados desnecessrios. Deste modo, eliminando o lixo que acaba prejudicando ou, at mesmo, poluindo as consultas; tambm a agregao ou segregao de campos ou converso de campos, como exemplo mudar de numricos para caracteres e os diversos formatos de datas, campos calculados, tratamento de valores nulos e entre outros; mas, sobretudo, devem-se tratar as inconsistncias causadas pela violao de integridade referencial ou m
43

definio de tipos de dados ou ainda dados cadastrados de forma duplicada, para que a falta de padronizao do ambiente transacional no venha a comprometer a qualidade das informaes no ambiente do DW. Um exemplo clssico de falta de padronizao de dados so as diversas formas de representar o atributo sexo e, para resolver esse problema, preciso criar uma regra para harmonizar a informao, conforme ilustrado no quadro abaixo:

Quadro 1 Formas de Apresentao de um Atributo Ambiente Transacional Ambiente DW M = (masculino) F = (feminino) H = (homem) M = (mulher) 0 = (masculino) 1 = (feminino) Masculino Feminino Masculino Feminino Masculino Feminino

Fonte: Autoria prpria (2011)

J no ltimo passo, a (L) carga - L do ingls load - requer do desenvolvedor o conhecimento das estratgias para alimentao das tabelas para o ambiente do DW de acordo com o esquema multidimensional adotado. Alm das estratgias de carregamento e atualizao das tabelas de dimenso e fato (visto com mais detalhes no item 2.5.2), tambm inclui a periodicidade de carregamento dos dados. Algumas tabelas podem exigir carregamento a cada hora, outras diariamente ou semanalmente. Alm disso, imprescindvel que cada etapa seja iniciada somente aps o trmino com sucesso da etapa anterior (COREY, 2001).

44

4 FERRAMENTAS DE ETL

Neste captulo, descreve-se o que e o que faz uma ferramenta ETL, suas caractersticas e benefcios, assim como as ferramentas de ETL que so objeto deste trabalho, segundo a perspectiva de seus fabricantes como soluo de extrao, transformao e carga de dados para um data warehouse.

4.1 CONCEITO

Ferramentas de ETL so aplicaes de software cuja funo extrair dados transacionais de diversas fontes ou origens, transformar esses dados para garantir padronizao e consistncia das informaes e carreg-los para um ambiente de consulta e anlise, conhecido como data warehouse. Mas, as ferramentas de ETL no tm apenas funes de carga de dados para data warehouse. possvel constatar, por exemplo, entre as ferramentas pesquisadas (PENTAHO; KETTLE, 2011) e (TALEND, 2011), inmeras aplicaes que tratam de movimentao de dados: em aplicaes WEB, consolidao de dados, backup seletivos, integrao de dados no estruturados, entre outros recursos mais sofisticados como o Gerenciamento de Dados Mestre, conhecido pelo acrnimo MDM, recurso disponvel na verso open source do Talend Open Studio (mais detalhes descritos em cada tpico das ferramentas de ETL).

4.2 CARACTERSTICAS E BENEFCIOS

As diversas ferramentas de ETL disponveis no mercado atualmente possuem as funes bsicas com caractersticas bem semelhantes. O nvel de sofisticao fica por conta de recursos mais especficos que vo diferenciar uma das outras.
45

Algumas das principais caractersticas so: ter conectividade com os principais bancos de dados, com arquivos planos e planilhas; suportar as principais plataformas de hardware e sistemas operacionais; possuir recurso de depurao como breakpoint e execuo passo-a-passo; componentes para manipulao de string (agregar, desagregar, limpar), funes matemticas, execuo de scripts com insero de cdigos pelo desenvolvedor sendo SQL, Java, Perl ou, at mesmo, linguagem proprietria como o caso do CloverETL; administrao e gerenciamento do projeto; e uma boa interface grfica e intuitiva. Os fabricantes pesquisados (CLOVERETL, 2011), (PENTAHO; KETTLE, 2011) e (TALEND, 2011), descrevem como as ferramentas de ETL podem beneficiar frente ao desenvolvimento manual: Implementando rotinas de Extraes e Cargas: Desenvolver conectores para extrao e carga de dados com uma ferramenta de ETL muito mais simples e rpido do que desenvolver manualmente, uma vez que codificar os drives de conexo com bancos de dados exige especialistas com conhecimentos bem especficos. Na manuteno de Extraes e Cargas: As tarefas de manuteno, mesmo que por outras equipes, so mais fceis de realizar em relao manuteno em rotinas desenvolvidas por cdigo. No desempenho: Em geral, as ferramentas de ETL empregam mtodos mais performticos, principalmente quando o processamento envolve grandes volumes de dados. Em processamento paralelo: Normalmente as ferramentas de ETL tm recursos nativos de paralelizao e de fcil implementao. Na escalabilidade: Com as ferramentas de ETL mais fcil aplicar upgrade, distribuir ou balancear a carga do processamento entre vrios servidores. Na transparncia dos conectores: Alterao ou o surgimento de nova conexo de fontes de dados com uma ferramenta de ETL fica totalmente transparente para o restante do fluxo. Em reuso de funes: As ferramentas de ETL facilitam a reusabilidade de funes no decorrer do desenvolvimento do projeto (isso no copiar-colar).
46

Com re-inicializao de processamento: Com as ferramentas de ETL, possvel retomar a execuo de carga a partir do ponto de para.

Na permanncia de metadados: As ferramentas mantm disponveis os metadados gerados, facilitando identificar dados no ntegros ao final do processo.

Com documentao facilitada: As ferramentas de ETL possuem recursos para gerar documentao automaticamente.

4.3 MODELO OPEN SOURCE

Atualmente as ferramentas de ETL open source j atingiram um nvel de maturidade bastante satisfatrio, visto que os produtos para Integrao de Dados j surgem com destaque nos principais institutos de pesquisas independentes como, por exemplo: Gartner e Forrester Research. Outro fator relevante o baixo custo inicial dos projetos dado que as licenas open source so gratuitas, h tambm facilidades de customizao por ser um padro de desenvolvimento de software colaborativo que comporta a criao de novos modelos de negcios alternativos ao modelo tradicional comercial de licena. Muito embora ainda existam recomendaes para quem pretende adotar o modelo open source principalmente no que diz respeito s limitaes das verses gratuitas (GARTNER, 2010), como exemplo: - Conectividade: nem todos conectores nativos esto disponveis em produtos na verso gratuita, por exemplo: DB2 da IBM, SAP entre outros padres mais complexos executados em mainframes (instalaes de grande porte); - Grandes volumes de dados: importante considerar o quesito desempenho antes de adotar sua ferramenta de ETL, pois operaes com grandes volumes de dados e uma pequena janela para processar esses lotes se configura um grande desafio. A maioria dos fornecedores de ferramentas ETL open source mencionam que podem suportar altos volumes de dados - e eles provavelmente podem em determinadas situaes. Mas, se est

47

considerando um produto para uma atividade que exige alto desempenho e escalabilidade, deve ser extremamente minuciosa em seu teste de alta disponibilidade e suporte a failover4; - Desenvolvimento Colaborativo: Um benefcio significativo para trabalho em equipe a capacidade de gerenciar um grande nmero de desenvolvedores, arquitetos, modeladores, programadores e administradores de dados, assim como compartilhar os metadados, mapeamento e reutilizao de objetos dentro de projetos complexos. - Transformao complexa: Funcionalidades e assistentes para transformaes robustas, para projetos que exigem gerenciar um grande volume de regras complexas. - Carga em tempo real: a capacidade de identificar e capturar dados acrescentados, apagados ou atualizados em uma base e entreg-los, em tempo real, ao data warehouse, garantindo informaes confiveis e imediatas para decises de negcios, ou seja, informaes de qualidade em tempo real.

Observa-se que a maioria das limitaes possveis em verso gratuita das ferramentas de ETL open source so pouco provveis que sejam utilizadas em organizaes ou projetos de pequeno e mdio porte, por isso a deciso de optar por uma tecnologia open source gratuita ou comercial deve ser tcnica, baseada na sua estratgia do seu negcio, e no por preferncias particulares ou ideolgicas (DEVELOPER WORKS IBM, 2011). A seguir sero apresentadas as ferramentas de ETL: CloverETL, Kettle (Pentaho) e Talend. Uma breve apresentao segundo documentaes disponveis por seus prprios fabricantes.

4.3.1 Ferramenta CloverETL

O CloverETL (2011) uma plataforma de alto desempenho para integrao de dados que permite transferir esses dados entre diferentes locais. Permite extrair informaes de qualquer tipo de fontes de dados, validado e modificado ao longo do caminho, depois

Failover consiste na capacidade de um processo ser assumido por outro servio automaticamente quando ocorrer uma interrupo por falha. 48

escrito em um ou mais destinos. A figura 15 mostra um exemplo do fluxo de modelagem de dados com alguns componentes.

Figura 15 Modelo Clover Designer

Fonte: CloverETL, 2011

De acordo com a CloverETL (2011), o seu produto para integrao de dados promete economizar tempo e esforo, no apenas para o desenvolvimento de transformaes e migraes de dados, mas tambm na manuteno permanente. O mecanismo do CloverETL utiliza alguns conceitos-chave para descrever como os dados devem ser manipulados. Possibilita aos desenvolvedores compor uma descrio visual do fluxo do processamento dos dados, chamado algoritmo de transformao de grafos. Os grficos so compostos por blocos de construo, ou seja, componentes do Clover Designer, o corao de todas as edies CloverETL. Ele fornece uma maneira fcil de colocar para fora graficamente as mais complexas transformaes de dados. Arraste e solte a partir de uma paleta de componentes de transformao de dados e, em seguida, configur-los (CLOVERETL, 2011). O projeto CloverETL (2011) baseado em Java, conduzido pela companhia Javlin Consulting fundada no ano de 2002, cujo presidente e co-fundador o engenheiro David Pavlis. Alm da licena open source possui a verso comercial diferenciada com garantia e suporte.
49

Contudo, aps uma avaliao minuciosa da documentao disponibilizada pelo prprio fabricante da ferramenta CloverETL (2011), foi constatado que a verso community (ou open source) possui algumas restries que impactaram no desenvolvimento do estudo de caso proposto neste trabalho, dentro do propsito de no ter que utilizar cdigo (linguagem de programao ou scripts) para compensar a deficincia ou a falta de qualquer componente. Dentre as restries da verso do CloverETL Community, os principais componentes so (CLOVERETL, 2011):

ApproximativeJoin une dados classificados a partir de duas fontes de dados em uma chave de correspondncia comum. DBJoin - recebe os dados atravs de uma nica porta de entrada, une com dados de uma tabela de banco de dados. E estas duas fontes de dados podem, potencialmente, ter estruturas de metadados diferentes. ExtMergeJoin o propsito geral desse Joiner mesclar dados classificados a partir de duas ou mais fontes de dados em uma chave comum. LookupJoin a funo principal desse Joiner mesclar dados de uma tabela potencialmente desordenado com outra fonte de dados, pesquisando com base em uma chave comum. DataIntersection o componente recebe dados classificados a partir de duas entradas, compara e une as chaves em ambos os registros. Entre os componentes o mais citado nos tutoriais como exemplos de integrao de dados na carga das tabelas de dimenses e fato. Fact Table Load Wizard assistente para facilitar o desenvolvimento na carga da tabela fato.

A importncia de alguns desses componentes para o estudo de caso evidenciada no uso de fluxos/rotinas de carregamento das tabelas de dimenso e fato. A ausncia destes componentes impediu a avaliao de importantes e obrigatrios requisitos aplicados no estudo de caso: Unio, necessrio para carga da tabela fato; e Dimenso de alterao lenta,

50

imprescindvel na carga das dimenses tipo 1, 2 e 3 (lista completa dos critrios para avaliao disponvel no ANEXO 2).

4.3.2 Ferramenta TALEND

Segundo a Talend (2011), a ferramenta Talend Open Studio uma soluo verstil para integrao de dados. Este produto pode melhorar significativamente a eficincia de projetos no trabalho com movimentao de dados tambm disponibiliza um ambiente de desenvolvimento grfico e fcil de usar. Possui suporte para a maioria dos tipos de fonte de dados alm de vrios componentes para integrao, migrao e operaes de sincronizao de dados. Com uma comunidade forte e atuante de usurios que oferecem testes e retorno contnuo, a Talend uma das maiores companhias de desenvolvedores de software de cdigo aberto, oferecendo uma gama de solues de middleware5 que abordam as necessidades de gerenciamento de dados e integrao de aplicaes. Em pouco tempo, a Talend tornou-se umas das lderes reconhecidas no mercado open source de gerenciamento de dados. A aquisio em 2010 da empresa Sopera lhe colocou no posto de lder em integrao de aplicativos de cdigo aberto, o que tem reforado a evidncia da Talend neste mercado. Muitas das grandes organizaes ao redor do mundo vm utilizando os produtos e servios da Talend para otimizar os custos de integrao de dados, na melhoria da qualidade de dados Master Data Management6 (MDM) e na integrao de aplicaes. Com um nmero crescente de downloads de produtos e clientes pagantes, a Talend oferece as

Middleware, tambm conhecido como mediador, uma camada de software posicionada entre o cdigo das aplicaes e a infra-estrutura de execuo. 6 MDM Gerenciamento de Dados Mestres, uma das tecnologias para solues de integrao de dados, com o objetivo de gerenciar mltiplos domnios de dados em um sistema nico, hierarquizando de forma complexa as informaes. A necessidade deste tipo de soluo surge do fato de contarmos com muitas cpias da mesma informao, espalhadas por diversas reas da organizao. Outro ponto em comum entre as solues MDM a capacidade de lidar com os problemas causados por dados imprecisos, incompletos, inconsistentes e duplicados. O aperfeioamento dos Dados Mestres est diretamente ligado ao aumento da eficincia operacional (B2B MAGAZINE, 2011, p. 1). 51

solues mais utilizadas de gerenciamento de dados com boa presena no mundo (TALEND, 2011). A Talend (2011) refere-se ao seu produto como uma viso completamente nova que se reflete na forma como utiliza a tecnologia, bem como no seu modelo de negcio. A empresa quebra o modelo tradicional de propriedade, fornecendo solues de software aberto, inovador e poderoso com a flexibilidade para atender a gesto de dados e integrao de aplicaes s necessidades de todos os tipos de organizaes. Pela primeira vez uma companhia de cdigo aberto aparece no Quadrante Mgico
7

do Gartner na categoria de Integrao de dados em 2009 e 2010 e, em 2011, como

Qualidade de dados. A Talend faz sua entrada no quadrante como visionria baseada na sua viso global e capacidade de execuo. Veja o grfico a seguir.

Grfico 1 Quadrante Mgico para Ferramentas de Qualidade de Dados

Fonte: GARTNER, 2011, p. 1

Para uma empresa ser includa no Quadrante Mgico, precisa ter em seu portflio de tecnologia com todas as capacidades que o Gartner considera mais importante no conjunto de todas as capacidades que so esperados a partir das ferramentas de integrao de dados e/ou de qualidade de dados. 52

Uma ferramenta com caractersticas para o tratamento da Qualidade dos dados fornece vasta funcionalidade, tais como anlise, combinao, limpeza, normalizao, dados duplicados, entre outros. O Talend Open Studio uma ferramenta desenvolvida em Java baseada em arquitetura modular formada por: Gerenciador grfico de negcios, Gerenciador grfico de processo ETL, Gerenciador de metadados, Repositrio de processos (apenas na verso comercial), Interface web services8 e Monitor de Processos. Usando a API do sistema podem ser desenvolvidos novos componentes personalizados pelo usurio. O gerenciador grfico de processos ETL executado dentro do ambiente Eclipse, por isso um sistema gerador de cdigo, responsvel pela execuo dos processos ETL, ou seja, o Talend no requer um servidor de execuo de processos ETL. A vantagem da gerao de cdigo que mais simples integrar os processos ETL dentro de outros aplicativos e os modelos so de portabilidade muito mais flexvel. A figura 16 exemplifica o fluxo de um modelo de negcio na ferramenta Talend Open Studio verso 4.1 (Talend, 2011).

Figura 16 Modelo Talend Open Studio

Fonte: Talend, 2011

Web Service uma soluo utilizada na integrao de sistemas e na comunicao entre aplicaes diferentes. Permite s aplicaes enviar e receber dados em formato XML. 53

Em sistemas com mecanismo de gerao de cdigo, permite a integrao do cdigo gerado dentro de outras solues, alm de ter maior portabilidade. Produtos como SpagoBI9, Ingres10, Teradata11 e JasperSoft12 so exemplos de uso do Talend integrado como seu componente ETL padronizado. O Talend Open Studio foi disponibilizado no mercado em 2005 pela empresa Talend com sede na Frana, pas com uma forte poltica de apoio a Software Livre e cdigo aberto. Analistas de TI como Forrester Research13, IDC14 e Bloor Research15 colocam o Talend como o melhor sistema open source para atender necessidades de integrao de dados.

4.3.3 Ferramenta KETTLE (PENTAHO)

De acordo com a Pentaho (2011), o Pentaho Data Integration PDI, tambm conhecido como Kettle, a ferramenta de ETL da Pentaho. Esse produto foi desenvolvido em Java e totalmente baseado em metadados16. No Kettle, o conceito de processo ETL clssico (extrao, transformao e carregamento) foi ligeiramente modificado, porque composto por quatro elementos ETTL, que significam: - Extrao de dados das bases de dados de origem; - Transporte dos dados; - Transformao dos dados; - Carregando (Loading) dados em um data warehouse.

SpagoBI Studio um ambiente para desenvolvimento OLAP. Ingres provedor de solues para gerenciamento e integrao de dados e BI. 11 Teradata Inteligncia em otimizao de negcios em minerao de dados e BI. 12 Jaspersoft OLAP um ambiente (software) de anlise de dados. 13 Forrester Research uma empresa de pesquisa tecnolgica e de mercado que fornece conselhos pragmticos lderes mundiais em tecnologia e negcios. 14 International Data Corporation (IDC) a principal provedora global de inteligncia de mercado, servios de consultoria e eventos para a tecnologia, telecomunicaes, tecnologia da informao e dos mercados consumidores. 15 Bloor Research uma das principais organizaes independente de pesquisa em tecnologia da Europa. 16 Processo de criao em metadados: Camada fsica, camada de negcios e camada de visualizao.
10

54

Assim, Kettle um conjunto de ferramentas e aplicativos que permite manipulaes de dados atravs de mltiplas fontes. Abaixo so descritos os principais componentes do Pentaho Data Integration PDI (PENTAHO, 2011):

1. Spoon - uma ferramenta grfica utilizada para modelar o fluxo de dados de um processo de transformaes ETTL. Desempenha as funes de fluxo de dados tpicos como a leitura, validao, refino, transformao, gravao de dados em uma variedade de diferentes fontes de dados e destinos. As transformaes projetadas em Spoon podem ser executadas com Pan e Kitchen.

2. Pan - uma aplicao dedicada para executar transformaes de dados projetados em Spoon.

3. Chef - uma ferramenta para automatizar tarefas de atualizao do banco de dados de uma forma complexa.

4. Kitchen - um aplicativo que ajuda a executar as tarefas em modo de lote, geralmente usando uma programao que torna fcil para iniciar e controlar o processamento ETL.

5. Carte - um servidor web que permite o monitoramento remoto dos processos ETL atravs de um navegador web.

Embora as ferramentas de ETL sejam mais frequentemente usadas em ambientes de data warehouses, o Kettle tambm pode ser aplicado para outros fins: - Migrar dados entre aplicaes ou bases de dados; - Exportar ou importar dados entre bancos de dados e arquivos simples; - Carregar de dados maciamente em bancos de dados; - Limpar e analisar dados; - Integrar aplicaes.
55

Segundo a Pentaho (2011), o PDI/Kettle fcil de usar e todo processo criado com uma ferramenta grfica onde voc especifica o que fazer sem escrever cdigo para indicar como faz-lo; por isso pode-se dizer que o PDI/Kettle orientado por metadados. A figura 17 demonstra um modelo de fluxo de processo no Kettle.

Figura 17 Modelo PDI / Kettle

Fonte: Pentaho, 2011

Conforme a Pentaho (2011), o PDI/Kettle pode ser usado como um aplicativo independente ou pode ser usado partes da Suite Pentaho. Como uma ferramenta de ETL, o produto de cdigo aberto mais popular disponvel. O PDI/Kettle suporta uma vasta gama de formatos de entrada e sada. Alm disso, as capacidades de transformao do PDI/Kettle permitem manipular dados com poucas restries.

As principais fontes de dados e bases de dados em Kettle ETL so: Qualquer banco de dados usando ODBC no Windows; Oracle; MySQL; AS/400; MS Access; MS SQL Server; IBM DB2; PostgreSQL; Intersystems Cach; Informix; Sybase; dBase; SQL Firebird; MaxDB (SAP DB); Hypersonic; SAP R / 3 System (usando o plugin ProSAPCONN).

56

5 ESTUDO DE CASO: EMPRESA DE PEQUENO PORTE

Neste captulo so descritas e detalhadas as etapas de desenvolvimento do estudo de caso para o projeto data mart vendas. Como o foco do trabalho est na etapa de ETL, ele tem o objetivo de criar um mecanismo que ampare na deciso de escolha de uma ferramenta de ETL para um dado projeto de DW.

O trabalho desenvolvido um processo simples, mas completo de ETL (extrao, transformao e carga de dados) que ser idntico para cada uma das ferramentas avaliadas Kettle/Pentaho e Talend Open Studio, para um data mart com o assunto vendas, utilizando uma base de origem do ERP comercial Protheus verso 10 da Totvs, com dados maquiados de uma empresa comercial de pequeno porte onde sero aplicados os conceitos e teorias que vimos ao longo deste trabalho.

A preparao do laboratrio envolveu cinco VMs (mquina virtual) sendo: uma VM foi reproduzida o ambiente OLTP com o banco de dados do ERP no SGBD SQL Server 2005 sob o OS (sistema operacional) Windows 2003 Server. Outras duas mquinas executando em cada uma as ferramentas ETL Kettle e Talend sob o OS Windows XP, por ltimo a instalao do ambiente data warehouse com o SGBD PostgreSQL sob o OS Linux Ubuntu. A escolha destes sistemas para o ambiente DW deveu-se pela necessidade de priorizar os produtos open source. Maiores detalhes sobre as configuraes dos ambientes do laboratrio poder ser conferido no Anexo 1.

As etapas utilizadas no desenvolvimento deste estudo de caso foram:

1-Anlise de requisitos e desenvolvimento da matriz do processo de negcio; 2-Definio do modelo conceitual (mapeamento da disponibilidade dos dados na base transacional); 3-Extrao dos dados, movimentao para staging area; 4-Necessidades de transformao, dimenso e fato;

57

5- Planejamento de carga das dimenses; 6- Planejamento de carga da tabela fato; 7- Notas do desenvolvimento.

5.1 ANLISE DE REQUISITOS E DESENVOLVIMENTO DA MATRIZ DO PROCESSO DE NEGCIO

Corey (2001) sugere que, antes da fase de levantamento e anlise de requisitos, seja feito um planejamento inicial. Neste documento, deve-se definir ao menos o patrocinador e responsvel pelo projeto, tambm deve justificar a necessidade do DW, delimitar o escopo e construir um plano de longo prazo para o desenvolvimento do projeto.

Na fase seguinte, Corey (2001) recomenda o detalhamento dos requisitos. No estudo de caso, este item foi alcanado atravs de reunies com a direo e gerente de vendas da empresa que foi objeto para o estudo de caso.

Aps levantamento situacional e a assimilao por parte dos usurios quanto a diferena entre os tipos de informaes operacionais e estratgicas, foi possvel categorizlas dentro do processo de negcio. Alm disso, foram identificadas as questes mais importantes para que priorizao dos assuntos a serem praticados, aplicando o critrio de maior interesse e benefcio para o negcio da empresa e com alta viabilidade de execuo.

Na matriz do processo de negcio, foram descritos as medidas e dimenses necessrias, assim como o nvel de granularidade. Corey (2001) recomenda armazenar o nvel mais detalhado possvel, embora isso resulte em requisitos e disco mais elevados, pois as informaes detalhadas tornam-se mais precisas e tem vantagens significativas no sentido de que possvel reciclar consultas resumidas a partir de informaes detalhadas, mas no o contrrio.

58

A seguir as tabelas 3 e 4 representam a Matriz de Processo de Negcio para o projeto proposto.

Tabela 3 Matriz de Processo de Negcio - Parte 1


Dimenses do Negcio Filial Cliente Produto Vendedor Interno Vendedor Externo Transportador Tempo (gro data) Vlr.Receita - (Devoluo) X X X X X X X Qtd Venda Marg.Contrib - (Devoluo) - (Devoluo) X X X X X X X X X X X X X X Qtd Clientes - (Devoluo) X X X X X X Qtd Produtos - (Devoluo) X X X X X X

Fonte: Autoria prpria (2011).

Tabela 4 Matriz de Processo de Negcio Parte 2 (continuao)


Custo Embalagens Vlr Frete Venda Custo Produto X X X X X X X
59

Dimenses do Negcio

Filial Cliente Produto Vendedor Interno Vendedor Externo Transportador Tempo (gro data)

X X X X X X X

X X X X X X X

X X X X X X X

X X X X X X X

X X X X X X X

X X X X X X X

X X X X X X X

X X X X X X X

X X X X X X X

Fonte: Autoria prpria (2011)

Vlr. Pis/Cofins

Estorno ICMS

Cred.ICMS ST

Estorno IPI

Vlr. ICMS

Vlr E.F.

Vlr. IPI

5.2 DEFINIO DO MODELO DIMENSIONAL

O modelo utilizado neste estudo de caso foi o Star Schema por tratar-se de um modelo j consagrado e defendido pelos principais mentores em data warehouse como Ralph Kimball e Inmon. E. Como bem coloca Corey (2001, p. 174) O esquema Star a maneira mais popular de construir estruturas de dados data mart de alto desempenho em um ambiente relacional.

Em suma, um esquema de dados Star consiste em uma tabela central conhecida como a tabela de fatos, rodeado por tabelas de dimenses de forma que a tabela fato tenha indicadores do seu negcio como, por exemplo, o valor das vendas custo do produto e as dimenses tm informaes descritivas sobre os atributos do seu negcio, a exemplo de cliente, vendedor e produto e outras.

Tambm foi necessrio estabelecer as regras de atualizao dos registros de histricos das dimenses, alm de esquematizar as chaves primrias e tipos de chave que ligam as tabelas fato s dimenses. Pela necessidade de manuteno de histricos de algumas tabelas, e pelos benefcios de desempenho nas consultas no data warehouse, foi adotado nesta modelagem o recurso de chaves artificiais, conceituado por Ralf Kimball (2002).

A seguir est apresentado o modelo arquitetado com base nas informaes levantadas na matriz de processo de negcios: composta por uma tabela Fato - Faturamento e sete dimenses: Filial, Cliente, Produto, Vendedor Interno, Vendedor Externo, Transportador e Tempo.

60

A figura 18 demonstra a modelagem dos dados de acordo com o paradigma star schema.

Figura 18 - Ambiente OLAP - Modelagem Esquema Star


DIM_FILIAL DIM_CLIENTE
SEQ_CLIENTE COD_CLIENTE LOJ_CLIENTE NOM_CLIENTE MUN_CLIENTE UF_CLIENTE COD_SEGMENTO NOM_SEGMENETO DTC_INICIO DTC_FIM SEQ_FILIAL COD_FILIAL NOM_FILIAL

DIM_PRODUTO
SEQ_PRODUTO COD_PRODUTO FOR_PRODUTO NOM_PRODUTO TIP_PRODUTO GRP_PROTUTO EMB_PRODUTO

FAT_FATURAMENTO
NUM_NOTA_FISCAL SER_NOTA_FISCAL SEQ_FILIAL SEQ_CLIENTE SEQ_PRODUTO

DTC_INICIO DTC_FIM

DIM_VENDEDOR_I
SEQ_VENDEDOR_I COD_VENDEDOR_I NOM_VENDEDOR_I

SEQ_VENDEDOR_I SEQ_VENDEDOR_E SEQ_TRANSPORTADOR SEQ_TEMPO VAL_VENDA QTD_VENDA VAL_MARGEM_CONTRIB VAL_CUST_PRODUTO

DIM_VENDEDOR_E
SEQ_VENDEDOR_E COD_VENDEDOR_E NOM_VENDEDOR_E

DIM_TEMPO
SEQ_TEMPO DATA DIA_SEMANA DIA_MES SEMANA_MES MES NOM_MES TRIMESTRE SEMESTRE ANO

VAL_CUST_ICMS VAL_CUST_IPI VAL_CUST_PISCOFINS VAL_CUST_EF VAL_CUST_FRET_VEND VAL_CUST_EMBALAGEM VAL_CUST_EST_ICMS VAL_CUST_EST_IPI VAL_CRED_ICMS_ST QTD_PRODUTOS QTD_CLIENTE

DIM_TRANSPORTADOR
SEQ_TRANSPORTADOR COD_TRANSPORTADOR NOM_TRANSPORTADOR

Fonte: Autoria prpria (2011)

61

A figura abaixo representa o modelo da fonte dos dados do ambiente transacional extrado do banco de dados do ERP Protheus 10 da Totvs.

Figura 19 - Ambiente Transacional Modelagem 3FN

Fonte: Autoria prpria (2011)

5.3 EXTRAO DOS DADOS, MOVIMENTAO PARA STAGING AREA

A extrao dos dados do ambiente transacional para o data warehouse foi realizada em duas etapas: A primeira foi a movimentao apenas dos dados necessrios para um ambiente intermedirio separado do ambiente transacional, ou seja, a staging area. E, com o objetivo de preservar o desempenho do ambiente transacional, adotou-se o modelo da staging area remoto, sendo que configurado para hospedar no mesmo ambiente do data warehouse. Desta forma, na segunda etapa, a extrao foi simplificada, uma vez que os dados j tinham sido filtrados durante a carga da staging area. Para uma anlise justa na comparao entre as ferramentas de ETL, em todas as ferramentas foram criados os mesmos projetos de nome StagingArea para desenvolver a movimentao dos dados do ambiente transacional OLTP para uma staging area. Abaixo est uma representao ilustrativa das configuraes para conexo com a fonte de origem
62

no banco de dados DADOSADVII no SQL Server 2005. A figura 20 mostra como configurar uma conexo de fonte ou carga de dados na ferramenta Kettle/Pentaho.

Figura 20 Menu Conexo Banco de Dados no Kettle/Pentaho

Fonte: Kettle/Pentaho (2011).

As informaes que so necessrias para estabelecer a conexo com um banco de dados so: tipo do banco ou uma conexo ODBC previamente configurada, login e senha, nome do servidor, porta e nome do banco de dados, como mostra a figura 21.

Figura 21 - Conexo Banco de Dados no Kettle/Pentaho

Fonte: Kettle/Pentaho (2011).

63

Para estabelecer as conexes de input/output no Talend Open Studio, so necessrias previamente configur-las, conforme os passos indicados abaixo.

Figura 22 Menu Conexo Banco de Dados no Talend

Fonte: Talend (2011)

As informaes bsicas necessrias para estabelecer a conexo com um banco de dados so: tipo do banco ou uma conexo ODBC previamente configurada, login e senha, nome do servidor, porta e nome do banco de dados, como mostra a figura 23.

Figura 23 - Conexo Banco de Dados no Talend

Fonte: Talend 64

O processo de movimentao dos dados entre os ambientes transacional e a staging area priorizou no extrair dos campos desnecessrios para o data warehouse, uma vez que as tabelas do ERP Protheus10 so extremamente grandes, ou seja, muitas colunas desnecessrias para o projeto. Com isso, alm de simplificar as tabelas outro benefcio o ganho de tempo na janela de transferncia para staging area. Devido s caractersticas do ambiente de porte mdio em volume de dados, as tabelas so sempre copiadas integralmente em cada carga. Na sequncia, a ilustrao do mapeamento das tabelas para movimentao de dados entre o ambiente transacional e a staging area, igualmente com as duas ferramentas de ETL Kettle/Pentaho e Talend Open Studio. A figura abaixo representa o fluxo de dados do ambiente OLTP para staging area com a ferramenta Kettle/Pentaho.
Figura 24 - Movimentao de Dados para Staging Area no Kettle

Fonte: Kettle (2011)

A figura 25 representa o fluxo de dados do ambiente OLTP para staging area com a ferramenta Talend.

65

Figura 25 - Movimentao de Dados para Staging Area no Talend

Fonte: Talend (2011)

5.4 NECESSIDADES DE TRANSFORMAO, DIMENSO E FATO

Das necessidades de transformaes de dados, tambm exigiu-se pouco das ferramentas, dado a simplicidade do projeto aplicado. Contudo, foi possvel analisar alguns dos componentes existentes nas ferramentas para apoiar nas necessidades nas transformaes de dados, funes de agregao/desagregao, comparaes, matemticas e principalmente nos componentes utilizados para atualizar as tabelas de dimenses e fato.

Abaixo a figura 26 ilustra o componente utilizado para uma juno das tabelas Cliente <> Segmento, mas, com esse componente, tambm possvel agregar ou desagregar um dado, implementar funes matemticas, modificar o tipo do campo, de numrico para string e vice-versa, entre outros.

66

Figura 26 Componente tMap do Talend Open Studio Tabela Cliente

Fonte: Talend (2011)

Com o mesmo componente tMap, tambm foi possvel utilizar recursos para clculos matemticos, exemplo do campo Valor Margem de Contribuio durante a carga da tabela fato. Conforme exemplifica a figura a seguir.

Figura 27 Componente tMap do Talend Open Studio Calculo da Margem de Contribuio

Fonte: Talend (2011)

Ao contrrio do componente tMap da Talend, visto anteriormente, utilizamos o componente Database Lookup do Kettle que no agrega tantas funes, contudo flexvel o suficiente para utiliz-lo em diversas situaes de pesquisa entre tabelas. Abaixo
67

a figura 28 ilustra uma pesquisa do campo de descrio do segmento para desnormalizar a tabela de Cliente.

Figura 28 Componente Database Lookup do Kettle Tabela Cliente

Fonte: Kettle (2011)

Diferentemente do Talend, no Kettle empregamos o componente Calculator, tambm na carga da tabela fato, para resolver a equao do Valor Margem de Contribuio, conforme mostra a figura 30.

Figura 29 Componente Calculator do Kettle Calculo da Margem de Contribuio

Fonte: Kettle (2011)

68

5.5 PLANEJAMENTO DE CARGA DAS DIMENSES

Os componentes utilizados para o processo de carga das tabelas de dimenso foram os que mais exigiram estudo e esforo para entendimento sobre seu funcionamento e para possibilitar o controle das alteraes dos dados nas dimenses, esquemas conhecidos por SCD (Slowly Changing Dimension) tipos 1, 2 e 3.

Abaixo os exemplos para o resultado esperado nas tabelas de dimenses para cada tipo de verso com o controle SCD de acordo com os conceitos desenvolvidos por Kimball(2002):

Tipo 1 No existe controle de verso dos registros, as alteraes so realizadas no prprio registro da tabela de dimenso:

Chave 01 02

Codigo_Vendedor 000123 000323

Nome_Vendedor PAULO DA SILVA JOSE RIBEIRO

Tipo 2 Neste tipo ocorre o controle de verso dos registros na dimenso:

Chave 01 02

CODIGO 099665 043323

NOME_CLIENTE BRASIL LIMP TINTAS ESTRELA

SEGMENTO QUIMICO TINTAS

Version 1 1

Dtc_ini 01-03-10 10-05-11

Dtc_fim NULL NULL

No exemplo acima, o campo controlado tipo 2 o SEGMENTO. Quando na ocorrncia de alterao, ser gerada uma nova chave artificial para o registro. O campo Version ser incrementado de 1 e ser atualizado o campo Dtc_fim indicando o perodo de tempo pelo qual ele ficou ativo. Observe que o campo NOME_CLIENTE,

69

definido como tipo 1, caso sofra alterao, ter seu histrico corrigido, pois considera-se que o motivo da alterao foi para corrigir um erro de digitao:

Chave 01 02 03

CODIGO 099665 043323 099665

NOME_CLIENTE BRASIL LIMP LTDA. TINTAS ESTRELA BRASIL LIMP LTDA.

SEGMENTO QUIMICO TINTAS LIMPEZA

Version 1 1 2

Dtc_ini 01-03-10 10-05-11 23-10-11

Dtc_fim 23-10-11 NULL NULL

Tipo 3 O controle da alterao atravs de uma nova coluna (valor anterior):

Chave 01 02

CODIGO 099665 043323

NOME_CLIENTE BRASIL LIMP TINTAS ESTRELA

SEGMENTO QUIMICO TINTAS

SEGM_ANTERIOR

Aproveitando o exemplo anterior, apenas o campo SEGM_ANTERIOR ser atualizado com a ltima informao, o nome do cliente tambm alterado no prprio registro:
Chave 01 02 CODIGO 099665 043323 NOME_CLIENTE BRASIL LIMP LTDA TINTAS ESTRELA SEGMENTO LIMPEZA TINTAS SEGM_ANTERIOR QUIMICO

Na ferramenta de ETL Kettle, foi possvel aplicar com um mesmo componente, o Dimension Lookup/Update, a carga das tabelas de dimenses Tipo 1 e 2. (Para atender as alteraes do tipo 3, foi utilizado outro componente) Com esse componente, foi possvel controlar a chave substituta ou Technical key Field e escolher o tipo de recurso de verso para o tipo 2.

70

A figura a seguir representa um exemplo de como o componente Dimension Lookup/Update foi configurado. Observe que, na aba Field em destaque, o controle Type of dimension update (tipo de atualizao da dimenso) onde se determina se vai existir, caso existindo, define o tipo de controle da dimenso, sendo: Punch through para tipo 1 e Insert para tipo 2.

Figura 30 Componente Dimension Lookup/Update do Kettle SCD tipo 1 e 2

Fonte: Kettle (2011)

Da mesma forma com a ferramenta de ETL Talend, foi possvel desenvolver os controles de alterao lenta das dimenses, utilizando o componente tPostgreSqlSCD. Uma diferena sutil com relao ao Kettle que alguns componentes so exclusivos para cada tipo de banco de dados. J com o Talend foi possvel resolver todos os tipos de alterao na tabela de dimenso com um nico componente. A utilizao do componente muito simples e intuitiva, a carga inicial dos campos da tabela feita na caixa Unused no campo superior. Em seguida, basta arrastar e soltar o campo na caixa correspondente ao tipo de verso desejado, assim como a chave artificial e as datas incio e fim, veja a ilustrao a seguir.

71

Figura 31 Componente tPostgreSqlSCD do Talend SCD tipo 1, 2 e 3

Fonte: Talend (2011)

5.6 PLANEJAMENTO DE CARGA DA TABELA FATO

O desenvolvimento do grfico na ferramenta ETL Kettle utilizou uma estratgia simples. Apenas com a utilizao do componente Database lookup, foi possvel resolver a questo da carga da tabela fato Vendas. Abaixo um exemplo de como foram configurados os campos que comparam as datas incio e fim com a ocorrncia da venda (fato) na tabela Cliente.

Figura 32 Componente Database lookup do Kettle Carga Tabela Fato Vendas

Fonte: Kettle (2011) 72

Para a carga da tabela fato Vendas com a ferramenta ETL Talend Open Studio, o principal componente utilizado foi o tMap, como j visto anteriormente na carga de dimenso com recursos e na utilizao de clculos matemticos. Sendo um componente muito verstil nos permitiu, tambm, aplic-lo na carga da tabela fato. A figura 33 exemplifica como o componente foi configurado para atender o objetivo de buscar nas dimenses a chave substituta corretamente com destaque para o Construtor de expresso que se comporta como um assistente para comparar as datas.

Figura 33 Componente tMap do Talend Carga Tabela Fato Vendas

Fonte: Talend (2011)

A figura a seguir mostra como ficou o grfico completo no Talend para carregamento da tabela fato Vendas.

Figura 34 Modelo do Talend Carga Tabela Fato Vendas

Fonte: Talend (2011) 73

5.7 NOTAS DO DESENVOLVIMENTO

Podem-se destacar algumas consideraes relativas s experincias vividas durante o desenvolvimento do estudo de caso, tais como:

a) Inicialmente ambas as ferramentas, tanto o Talend quanto o Kettle, demonstraram terem recursos suficientes para atender o projeto proposto, atendendo o requisito de no necessitar de utilizar programao por cdigo para suprir qualquer deficincia de um componente.

b) Na etapa de Extrao dos dados, movimentao para staging area, onde foram criadas as conexes com os bancos de dados, utilizados componentes de Input/Output. Embora nas ferramentas no houvesse dificuldades para criar as conexes com o banco de dados e tambm atendesse nativamente os bancos de dados do projeto, entre eles o SQL Server, Oracle, MS Sql Server e o PostgreSQL, tambm no houve necessidade de baixar componentes extras ou fazer atualizaes. Alm disso, todas as ferramentas disponibilizam o recurso para testar a conexo, entretanto vale ressaltar:

- Kettle: Possui uma interface intuitiva com destaque para um assistente que facilita o passo-a-passo para criar uma nova conexo e disponibiliza um nmero significativo (35) de drivers nativos para conexo com os bancos de dados.

- Talend: Com interface intuitiva e tambm possuiu um nmero significativo (34) de drivers nativos para conexo com os bancos de dados. Outro recurso muito til a facilidade arrasta-e-solta. A partir das conexes existentes, possvel selecionar componentes, por exemplo: input, output, SCD entre outros. A figura 35 mostra essa facilidade.

74

Figura 35 Exemplo Facilidade para Criar Componentes a Partir de Conexes

Fonte: Talend (2011)

c) Ainda que o processo de movimentao dos dados entre os ambientes transacional e a staging area fosse muito simples, possvel destacar algumas diferenas entre as ferramentas: Kettle/Pentaho e Talend Open Studio.

- Kettle: Com esta ferramenta j foi possvel mapear as tabelas desfrutando de um facilitador, desde que se obedea a uma sequncia de desenvolvimento. Aps ligar os componentes input conector output, possvel aplicar o assistente para gerar o mapeamento automtico.

- Talend: Ao contrrio da ferramenta Kettle, foi necessrio inserir mais um componente no mapeamento de cada tabela: input conector Mapeamento - conector output. No entanto, este novo elemento no acrescentou dificuldades, ao contrrio, aps a definio dos metadados, nesta ferramenta, o mecanismo de assistncia deixa o desenvolvimento bem simplificado.

75

d) Na operao de Transformao da Dimenso e fato, dada a simplicidade do projeto e o fato de ter trabalhado com os dados de origem de uma nica fonte, no houve exigncias destas funes. No geral, nas duas ferramentas pesquisadas, os componentes so bem flexveis e permitem agregar vrios recursos em um mesmo componente:

- Talend: Como exemplo, temos o componente tMap do Talend Open Studio. Com ele possvel integrar, transformar, unir tabelas, criar novos campos. Comprovou ser um componente muito poderoso, incluindo um assistente para gerar frmulas.

- Kettle: Com essa ferramenta, optamos pelo componente Database Lookup, com a funo mais especfica para pesquisas de dados, mas eficiente e flexvel o necessrio para atender o seu propsito. Outras facilidades esto disponveis, como exemplo um assistente para carga dos campos das tabelas, gerando cdigo SQL para corrigir a tabela de dimenso. E, para completar essa fase, recorreu-se a outro componente, Calculator e, da mesma forma, no houve dificuldades na sua aplicao.

e) Na Carga das Tabelas de Dimenso, o processo de desenvolvimento na carga da dimenso ainda que simples, exigiu grande parte do tempo em pesquisa, pois em ambas as ferramentas ocorreram situaes onde a falta de observao de alguns detalhes impediu o bom funcionamento do componente.

- Kettle: Nesta ferramenta, apesar de no ser um fator critico, foi necessrio utilizar mais de um componente para atender os trs tipos de alterao lenta da tabela de dimenso. Contudo, no Kettle, a representao grfica para esse processo ficou mais limpa, por no exigir componentes adereos para o fechamento do processo como um todo. Porm, um detalhe muito importante que no pode passar despercebido a nota referente carga inicial da tabela, onde exige-se que, na tabela, exista o primeiro registro com a chave substituta 0 ou 1 e demais campos zerados ou em branco. Caso no exista, o Kettle vai incluir esse registro, mas para isso necessrio que no exista campo com o tipo NOT NULL, seno o processo ser abortado com erro de execuo.

76

- Talend: Nesta ferramenta foi mais fcil mapear os campos de acordo com as necessidades de controle de alterao lenta nas tabelas de dimenso, no s porque todos os tipos de alterao lenta (1, 2 e 3) esto concentrados num nico componente, mas tambm a facilidade de arrastar e soltar os campos entre as caixas de controle. Entretanto, para execuo deste recurso no painel grfico necessria a presena de mais dois componentes tPostgreConnection e tPostgreCommit que funcionam como trigger (gatilhos), algo que no deixa o processo muito intuitivo, pois a compreenso de sua aplicao exigiu um estudo mais detalhado nos tutoriais e modelos com exemplos.

f) Finalmente na Carga da Tabela Fato, ltima etapa do processo de movimentao de dados, a carga da tabela fato, ao contrrio das dimenses, exigiu um pouco mais de trabalho manual na criao da rotina, devido ao grande nmero de campos e o tratamento da localizao das chaves substitutas correspondentes em cada tabela dimenso.

- Kettle: A representao grfica nesta ferramenta ilustrada na figura 32 est disposta de forma sequencial. O componente Database Lookup se repete para cada dimenso objetivando pesquisar a chave substituta correspondente de cada dimenso. Ao final, todos os campos so gravados na tabela fato. Apesar de haver uma repetio do mesmo componente de pesquisa Database Lookup, este fato no aumentou a dificuldade no desenvolvimento desta etapa. Ao final, aparentou ser mais simples do que no Talend.

- Talend: J com o Talend, demonstrada na figura 34, o formato de estrela visualizado, isso porque o componente tMap une todas as tabelas dimenso e fato. Apesar de centralizar todas as junes (join) em um nico componente, isso deixou um pouco mais trabalhoso para configurar este esquema. Contudo, no prejudicou em nada o objetivo do projeto.

77

6 AVALIAO DAS FERRAMENTAS DE ETL

Neste captulo, descreve-se a avaliao das ferramentas ETL open-source alvo do trabalho com a classificao e pontuao dos requisitos para o desenvolvimento do estudo de caso. A deciso pela escolha de uma ferramenta de ETL para um data warehouse, infelizmente, um trabalho que apenas o responsvel pelo projeto capaz de decidir. Como bem coloca Corey (2001, p. 239),
[...] o nico recurso disponvel e pronto para resolver todos os problemas de ETL, no so as ferramentas, nenhuma ferramenta individualmente traz uma soluo completa, portanto, o nico item disponvel o tempo todo pronto para resolver os problemas de ETL VOC.

Desta forma, apenas o gerente do projeto capaz de saber das necessidades e ter o conhecimento suficiente das necessidades do seu ambiente. Corey (2001) ainda complementa dizendo que VOC pode ser sua prpria bala de prata para o projeto ETL. Deste modo, a proposta apresentada aqui um modelo para apoiar na deciso de uma escolha segura e mais adequada da ferramenta de ETL para um dado projeto de data warehouse. Entretanto, o resultado apresentado neste trabalho, ou seja, a ferramenta de ETL selecionada possivelmente ser a melhor opo apenas para o projeto proposto no estudo de caso, podendo ser avaliada outra soluo em um contexto diferente. Contudo, este fato no inviabiliza a metodologia (ou mtodo) que pode ser aplicada em outros projetos de data warehouse.

6.1 IDENTIFICAO DOS REQUISITOS

A lista de possveis requisitos de uma ferramenta ETL para o desenvolvimento de um projeto de data warehouse foi elaborada a partir de diversas fontes de informaes, sendo que as principais foram:

78

COREY (2001) captulo 9 (Fundamentos de uma arquitetura ETL) de seu livro Oracle 8i Data Warehouse;

GONALVES (2003) captulo 4 (Ferramentas Existentes) publicado em seu livro Extrao de Dados para Data Warehouse. Neste trabalho, Gonalves (2003) tambm faz comparaes dos recursos entre as principais ferramentas de ETL desta poca, abrangendo os produtos comerciais e open source; e a

PASSIONNED (2011) uma organizao de consultoria independente que elaborou uma pesquisa sobre as principais ferramentas de ETL da atualidade, comerciais e open source.

Para melhor entendimento e organizao, a lista de requisitos foi dividida em nove grupos: 1) Arquitetura e Escalabilidade; 2) Funcionalidade ETL; 3) Facilidade de uso; 4) Reutilizao; 5) Depurao; 6) Mecanismo de processamento; 7) Conectividade; 8) Garantia de qualidade dos dados; e 9) Caractersticas Gerais.

A lista completa dos requisitos encontra-se disponvel no ANEXO-2 da dissertao, onde est registrada a importncia e objetivo de cada critrio pontuado.

6.2 AVALIAO DOS REQUISITOS

No tocante a projetos de DW em empresas de pequeno porte, alguns requisitos citados na lista completa do ANEXO II foram excludos do processo de avaliao por considerar que tais critrios so incompatveis com projetos de abrangncia limitada. Nesta linha de pensamento, recursos avanados como suporte a processamento paralelo ou multi-

79

processamento (SMP17 ou MPP18), suporte a Cluster19 e processamento em Grid20, quando aplicveis, esto disponveis apenas nas verses comerciais destas ferramentas de ETL, o que foge ao foco do trabalho.

Utilizando essa mesma linha de raciocnio, critrios referentes a desempenho das ferramentas foram excludos para no cometer equvocos ou avaliaes imprecisas, pois uma srie de variveis esto ligadas a esta questo, como por exemplo, banco de dados envolvidos na extrao e carga, o hardware, o sistema operacional, a topologia da rede e outros que dificultariam a medio precisa dos resultados.

Para os indicadores compatveis com projetos de DW em empresas de pequeno porte, foi aplicada uma classificao dos requisitos de acordo com a sua relevncia, ou seja, os requisitos foram qualificados em obrigatrios ou desejveis, onde esta definio foi baseada nas necessidades do estudo de caso, no caso um projeto com abrangncia limitada.

A concepo da metodologia definiu a aplicao de pesos para os critrios definidos como obrigatrios e desejveis com o objetivo de permitir uma avaliao mais justa e precisa de cada um dos critrios. Para tanto, foi aplicado o peso 1 (um) para os critrios desejveis e peso 2 (dois) para os critrios obrigatrios, onde:

- Critrios Desejveis: requisitos que possuam atributos importantes para o desenvolvimento do projeto, porm que sua ausncia ou deficincia no um fator impeditivo na concluso do estudo de caso proposto.

- Critrios Obrigatrios: ao contrrio dos requisitos desejveis, sua ausncia ou deficincia traz algum tipo de prejuzo para o desenvolvimento do projeto.
Multi-processamento simtrico. Processamento Paralelo Massivamente. 19 Agrupamento de recursos que fornecem ao sistema a iluso de um recurso nico,utilizado para balanceamento de carga ou para alta disponibilidade. 20 Semelhante ao Cluster, Grid consiste em combinar o poder de processamento de vrios computadores interligados em rede para conseguir executar tarefas que no seria possvel (ou pelo menos no com um desempenho satisfatrio) executar utilizando um nico computador.
18 17

80

Posteriormente, foi aplicada uma nota entre 1 e 4, para cada critrio referente s ferramentas de ETL alvo do trabalho, baseada na seguinte classificao:

1 Fraco 2 Regular 3 Bom 4 Excelente

Os critrios, pesos e notas aferidas esto registradas na tabela abaixo. Os detalhes de cada critrio em cada ferramenta esto registrados no anexo III da dissertao.

Tabela 5 Requisitos Relevantes com as Respectivas Avaliaes Peso 1 Arquitetura e Escalabilidade 1.10 Controle de verso do sistema 1 Neste quesito, notou-se uma superioridade na ferramenta Talend, com recursos mais apurados, possibilitando o gerenciamento de verso de cada Job dentro de um projeto, alm de fcil utilizao. J no Kettle, no encontramos essa facilidade. Mais. Apesar da relevncia, a classificao desejvel justifica-se por no ser um impeditivo para a concluso do desenvolvimento.

K 2

T 4

2 2.3

Peso Funcionalidades ETL Unio: Essa funcionalidade foi explorada na carga da tabela fato, 2 atravs da leitura dos registros transacionais de vendas e com pesquisa das chaves substitutas nas dimenses. As duas ferramentas se saram bem, contudo no Kettle foi um pouco mais fcil utilizando o componente Lookupupdate ao contrrio do componente tMap no Talend que, apesar de ser muito poderoso, conseguiu congregar muitas tabelas com muitos campos, deixando o desenvolvimento mais trabalhoso. Alm disso, o aspecto visual no resultado do grfico tambm ficou mais intuitivo no Kettle, podendo ser constatado nas figuras 32, 33 e 34.

K 4

T 3

81

A qualificao obrigatrio justifica-se pela importncia deste recurso no projeto, sua principal aplicao foi na carga da tabela fato. 2.8 Dimenses de alterao lenta: Ao contrrio da carga da tabela fato, na carga das tabelas de dimenses, em ambas as ferramentas exigiram um tempo maior de estudo. Podemos destacar a Talend por possibilitar em um nico componente todos os tipos de SCD e com a interface bastante intuitiva, com recursos arrastar-e-soltar. J com o Kettle, o recurso est fragmentado em vrios componentes, mas a maior dificuldade encontrada foi resolver algumas notas de documentao que no poderiam passar despercebidas, alm de no ter um componente especfico para o tipo 3 de alterao lenta. A evidncia desta avaliao foi demonstrado na figura 30 e nos captulos 5.5 e 5.7. Recebeu a qualificao obrigatrio, uma vez que esse requisito tem grande importncia para o projeto, por ser o responsvel pela carga das tabelas de dimenses de alterao lenta. 2.10 Tratamento de erros no processamento: Apesar de no ter utilizado essa funcionalidade no projeto, mas pode-se observar que, no Kettle, existe em alguns componentes e funciona como um filtro, destinando linhas com problemas para um step (caminho) especfico e seguindo o fluxo da transformao apenas as linhas saudveis, ou seja, linhas que no causaram nenhum erro na execuo da transformao. De forma muito semelhante, o Talend tambm trata as ocorrncias de erros durante o processamento, podendo ser configurado no prprio componente caminhos alternativos (SubJobs) ou utilizar um componente especfico para tratamento de erro tDie. Como no houve necessidade de utilizar o recurso no desenvolvimento do estudo de caso, a classificao para esse requisito ficou como desejvel. 2.11 Anlise de impacto: S encontramos o recurso de Anlise de Impacto na ferramenta Kettle. Este gera um relatrio das etapas da transformao que se utiliza de conexo com banco de dados, fornecendo uma lista informaes como: as tabelas acessadas, tipo de acesso se leitura ou gravao, o cdigo da query, entre outros. No Talend, esse recurso s est disponvel nas verses pagas, conforme documento Data Integration Features Comparison Matrix (Talend, 2011).

82

A classificao para esse requisito como desejvel de no ter sido um fator condicionante para o estudo de caso desenvolvido, nem impeditivo para a concluso do projeto. 2.12 Dados linhagem: No Talend, ao modificar qualquer um dos parmetros de uma entrada na exibio em rvore do repositrio, todos os trabalhos usando esta entrada do repositrio ser afetado pela modificao. Desta forma, a ferramenta solicitar que se propaguem estas modificaes a todos os trabalhos que usam a entrada no repositrio. De maneira semelhante no Kettle, ocorre a propagao das modificaes e, nas duas ferramentas, possuem recursos para exibir em cada passo do processo (componentes) quais os atributos esto entrando e saindo. O recurso foi um facilitador muito utilizado durante o desenvolvimento do projeto, motivo pelo qual foi classificado como obrigatrio. 2.13 Documentao automtica: A gerao de uma documentao automtica, incluindo detalhes das configuraes da cada componente foram encontrados apenas na ferramenta Talend. J no Kettle foi verificada a possibilidade de exportar o projeto para o formato XML e, a partir deste, gerar a documentao com ferramentas de terceiros, contudo no to detalhada se comparado com relatrio do Talend. O recurso foi classificado como desejvel, pois a sua ausncia no seria impeditivo para o trabalho.

3.1

Peso Facilidade de uso Tratando-se dos critrios de julgamento mais subjetivos, os relatos sero baseados nas experincias vivenciadas durante o desenvolvimento do estudo de caso. Facilidade de uso: Essa anlise ficou dividida. Em alguns pontos, 1 houve mais facilidades de uso com Talend, em outros, com Kettle, o mesmo se aplica a design intuitivo. De uma forma geral, a curva de aprendizagem foi mais rpida no Kettle. J com o Talend, torna-se mais fcil aps um tempo de adaptao trabalhando com a ferramenta. Para no fugir regra, o requisito foi classificado como desejvel por no ser um impeditivo para o desenvolvimento do estudo de caso.

83

3.2

3.3

3.5

3.6

WYSIWYG: Ambas as ferramentas dominam bem esse princpio de Aquilo voc v o que voc obtm, evidentemente requer do desenvolvedor um bom domnio das boas prticas de desenvolvimento. Idem item 3.1. Design de tela: Tanto o Kettle quanto o Talend demonstram um equilbrio na apresentao das telas. Um bom design desejvel, pois no impede o desenvolvimento trabalho. Necessidade de Treinamento: Sim, fundamental a necessidade de treinamento s assim o desenvolvedor ser capaz de usufruir de maneira mais eficiente os recursos oferecidos por essas ferramentas na sua totalidade. A qualificao deste requisito como obrigatrio justifica-se por entender que se houvesse um treinamento especializado nas ferramentas testadas, antes de iniciar o projeto estudo de caso, o tempo gasto com avaliao seria infinitamente menor e, provavelmente, teria mais qualidade e seria mais abrangente. Integralidade do GUI: Para o projeto proposto no estudo de caso foi 100%. Este item um dos pr-requisitos obrigatrios para aceitar a ferramenta de ETL para avaliao. Ter todos seus componentes integrados ao GUI (Graphical User Interface ou Interface Grfica para o Usurio).

4 4.1

Peso Reutilizao Reutilizao de componentes: Dentro do projeto foi pouco 2 explorado esse requisito, ficou mais visvel a reutilizao dos metadados e conexes com banco de dados. Mas, essa facilidade foi constatada nas duas ferramentas, tanto na reutilizao de componentes como de Jobs. Contudo, no Talend, devido a sua caracterstica de desenvolvimento por projetos, facilitou o entendimento deste conceito. A classificao deste requisito como obrigatrio deve-se a importncia do recurso para garantir qualidade do cdigo e padronizao no desenvolvimento, facilitando manutenes corretivas e evolutivas nas rotinas ETL.

K 3

T 4

84

5 5.1

Depurao Execuo Passo-a-passo: Esse recurso foi pouco explorado, pois julgamos que esse tipo de anlise exige uma experincia maior do desenvolvedor. Contudo, pode-se observar que o debug no Talend baseado no Eclipse. Com isso, pode-se seguir a linha de execuo e ver o cdigo fonte, como se estivesse programando em Eclipse. Tambm possvel incluir estatsticas de visualizao dos dados ou tempos de resposta na execuo da ferramenta grfica. J com o Kettle, o depurador mais simples, mas da mesma forma exige uma boa experincia na interpretao das mensagens de erro. As funes de depurao mereceram a qualificao de obrigatrio, pois sem esses recursos seria quase impossvel analisar e resolver os problemas durante o processo de desenvolvimento. Ponto de Parada (Breakpoints): As duas ferramentas disponibilizam esse quesito, porm vale as mesmas observaes do item 5.1. Idem 5.1. Compilador/Validador: O recurso para validao do grfico antes da execuo s foi encontrado no Kettle; no Talend, o recurso no foi encontrado. O recurso de validao foi qualificado como desejvel, porque no um impeditivo para o desenvolvimento do trabalho.

Peso

K 2

T 3

5.3

5.5

7 7.1

Peso Conectividade Conexes nativas: tanto Kettle como Talend atenderam com 2 conectores nativos os bancos de dados utilizados no estudo de caso, sendo eles SQL Server e PostgreSQL. Alm desses conectores, ambas as ferramentas oferecem outras dezenas.

K 4

T 4

7.6

Ter conexo nativa com os principais bancos de dados uma qualificao obrigatria, j que sem o recurso seria um impeditivo para desenvolver o trabalho. Plataformas: Tanto Kettle quanto Talend prometem independncia de plataforma. O produto ser compatvel com as principais plataformas utilizadas atualmente (Windows e Linux) um item importante, por isso foi classificado como obrigatrio.

85

9 9.1

Peso Caractersticas Gerais Ferramenta ETL Verso: As verses Open Source disponibilizadas so to recentes 2 quanto s verses comerciais.

K 4

T 4

9.2

Esse requisito mostra a importncia que o fabricante d para a verso Open Source, por isso foi classificada como obrigatria. Motor Gerador de Cdigo: Uma das principais diferenas entre as ferramentas Kettle e Talend o conceito de construo: Talend um gerador de cdigo (Java ou Perl) e Kettle salva seus procedimentos em XML que executado por um interpretador o Pan. No que se refere ao estudo de caso, no houve diferena. O conceito de construo relevante, porm desejvel, porque no interfere em projetos de pequeno porte.

6.2.1 Resumo das pontuaes

O resultado da soma das pontuaes coloca a ferramenta ETL Talend com uma pequena vantagem. As maiores diferenas ficaram por conta dos requisitos: recurso de versionamento; facilidade de uso do componente de carga das tabelas de dimenses com alterao lenta; e documentao automtica, que so os maiores destaques na ferramenta Talend.

Entretanto, pode parecer uma aparente contradio no grupo 3) Facilidade de uso onde h uma pequena vantagem para o Kettle, contudo este fato se explica pela questo de avaliar o conceito de funcionamento da ferramenta como um todo que teve sua curva de aprendizagem mais rpida no Kettle do que na ferramenta Talend.

A seguir demonstraremos os quadros com resultados das pontuaes atribudas.

86

Tabela 6 - Pontuaes por Item de Requisito


Nota Item 1 1.10 2 2.3 2.8 2.10 2.11 2.12 2.13 3 3.1 3.2 3.3 3.5 3.6 4 4.1 5 5.1 5.3 5.5 6 7 7.1 7.6 8 9 9.1 9.2 Requisito Arquitetura e Escalabilidade Controle de verso do sistema Funcionalidades ETL Unio. Dimenses de alterao lenta. Tratamento de erros no processamento Anlise de impacto Dados linhagem Documentao automtica Facilidade de uso Facilidade de uso WYSIWYG Design de tela Necessidade de Treinamento Integralidade do GUI Reutilizao Reutilizao de componentes Depurao Execuo Passo-a-passo Ponto de Parada (Breakpoints) Compilador/Validador Mecanismo de processamento Conectividade Conexes nativas Plataformas Garantia de Qualidade dos Dados Caractersticas Gerais Ferramenta ETL Verses Open Source disponibilizadas Motor Gerador de Cdigo NOTA GERAL Fonte: Autoria prpria (2011). 2 1 4 4 4 4 2 2 4 4 4 4 2 2 1 2 3 3 3 3 0 2 3 4 1 1 1 2 2 3 3 3 2 4 2 3 3 2 4 2 2 1 1 2 1 4 2 3 3 3 1 3 4 3 0 3 4 1 2 4 Peso K T Ponderada K T 2 2 25 8 4 3 3 6 1 21 3 3 3 4 8 6 6 13 4 6 3 0 16 8 8 0 12 8 4 95 4 4 27 6 8 3 0 6 4 20 2 3 3 4 8 8 8 12 6 6 0 0 16 8 8 0 12 8 4 99

87

Tabela 7 - Resumo das Pontuaes por Categoria de Requisitos Item 1 2 3 4 5 6 7


8 9 Grupo Critrios

Arquitetura e Escalabilidade Funcionalidades ETL Facilidade de uso Reutilizao Depurao Mecanismo de processamento Conectividade
Garantia de Qualidade dos Dados Caractersticas Gerais Ferramenta ETL TOTAL
Fonte: Autoria prpria (2011).

Kettle 2 25 21 6 13 16
12 95

Talend 4 27 20 8 12 16
12 99

Grfico 2 Por Categoria de Requisitos

30 25 20 15 10 5 0 Kettle Talend

Fonte: Autoria prpria (2011).

88

7 CONCLUSO

Certamente ao se perguntar para qualquer especialista que conhea muito bem os produtos Kettle e Talend qual a melhor ferramenta de ETL, o especialista, sendo coerente, jamais indicar uma ou outra ferramenta sem saber qual o propsito de seu projeto. Diversos estudos comparativos esto disponveis na Internet, onde podem ser encontrados dezenas de comentrios e estudos, alguns deles at patrocinados pelos prprios fabricantes sobre caractersticas, pontos fracos e pontos fortes, comparativos de medies e desempenho em relao s ferramentas avaliadas pelo mtodo concebido neste trabalho. Conforme mencionado em passagens anteriores, no pretenso deste trabalho julgar a melhor ferramenta de ETL. A principal contribuio desta pesquisa foi apresentar um modelo de avaliao de ferramentas ETL que atendesse aos requisitos necessrios para um determinado projeto que necessitasse de uma ferramenta ETL, em especial, projetos em empresas de pequeno porte. Pelos estudos realizados, ambas as ferramentas de ETL Open Source Kettle/Pentaho e Talend Open Studio possuem um grau de maturidade bastante satisfatrio e mostraram-se produtos estveis, com interface grfica fcil de utilizar, com boa documentao disponvel e possuem uma ampla base de usurios ativos. Das principais diferenas encontradas esto: no conceito de construo Talend um gerador de cdigo (Java ou Perl) e Kettle salva seus procedimentos em XML que executado por um interpretador, o Pan. Nas caractersticas apresentadas, percebe-se que o Kettle tem o foco estratgico voltado para Business Intelligence e gerenciamento de data
warehouse, enquanto Talend mais abrangente nos recursos, englobando, tambm aspectos

integrao de dados e solues de gerenciamento de dados, como MDM (gerenciamento de dados mestres) por exemplo. Desta forma, obedecendo aos resultados aferidos em relao aos critrios de avaliao definidos na metodologia proposta deste trabalho, a ferramenta que obteve pontuao maior no tocante a realidade da empresa de pequeno porte alvo do estudo de caso foi a ferramenta TALEND.

89

Com isso, conclui-se que os objetivos esperados neste trabalho foram alcanados na medida em que o mtodo conseguiu evidenciar, dentre um universo de ferramentas ETL
open-source, uma determinada ferramenta que melhor se adequou ao conjunto de requisitos

da empresa de pequeno porte utilizada no estudo de caso a partir dos resultados aferidos e, alm disso, com uma perspectiva positiva de aderncia a outros cenrios de projetos de Data Warehouse. Durante o trabalho de pesquisa e desenvolvimento do estudo de caso, foram identificados alguns pontos que se encaixam como implementao futura, sendo:

Aplicao do mtodo proposto em outros cenrios de abrangncia limitada, similares ao contexto usado neste trabalho;

Aplicao do mtodo proposto em cenrios de empresas de mdio e grande porte.

Avaliar a aplicabilidade desta metodologia conjuntamente em ferramentas ETL comerciais e open-source. Custo de licenciamento (para as solues comerciais) um aspecto importante a ser pontuado.

90

REFERNCIAS:

ATOL CONSEILS et Dveloppements. LIVRE BLANC - Les ETL Open Source. Disponvel em: www.atolcd.com. Acesso em: 30 jul. 2011. B2B MAGAZINE, Conhea a soluo de gerenciamento de dados mestres. Disponvel em: http://www.b2bmagazine.com.br/lancamentos/conheca-a-soluc-o-degerenciamento-de-dados-mestres. Acesso em: 30 abr. 2011. CASTERS M., BOUMAN R. DONGEN J..Pentaho Kettle Solutions: Building Open Source ETL Solutions with Pentaho Data Integration Published by Wiley Publishing, Inc. 10475 Crosspoint Boulevard Indianapolis, IN 46256 Copyright 2010 by Wiley Publishing, Inc., Indianapolis, Indiana Published simultaneously in Canada ISBN: 978-0-470-63517-9 CLOVERETL, Data Integration Software. Disponvel em: www.cloveretl.com. Acesso em: 30 mar. 2011. COREY, Michael et al. Oracle 8i Data Warehouse. Traduo de Joo Tortello. Rio de Janeiro: Campus, 2001. DEVELOPER WORKS, IBM. Software, Open Source, SOA, Innovation, Open Standards, Trends. Disponvel em: https://www.ibm.com/developerworks/mydeveloperworks/blogs/ctaurion/entry/opensource_que_aconteceu_de_2004_para_hoje?lang=pt_br. Acesso em: 30 ago. 2011. FORREST RESEARCH, Making Leaders Successful Every Day. Disponvel em: http://www.forrester.com/. Acesso em: 20 jan. 2011. GARTNET. Magic Quadrant for Data Quality Tools, 28 July 2011, Ted Friedman, Andreas Bitterer - Research Note G00214013. Disponvel em: http://www.gartner.com/technology/reprints.do?id=1170DCRV&ct=110819&st=sb&mkt_tok=3RkMMJWWfF9wsRokvq3BZKXonjHpfsX56O UkW6O%252BlMI/0ER3fOvrPUfGjI4ARctlI/qLAzICFpZo2FFMG%252ByQcoQ%253D Acesso em: 30 ago. 2011. GONALVES, Marcio. Uma Ferramenta de Extrao de Dados para Data Warehouse Baseada em Agentes Distribudos. Disponvel em: http://www.datainfo.inf.br/marcio/download/artigos/mestrado.pdf. Acesso em: 30 mai. 2010. GONALVES, Marcio. Extrao de Dados para Data Warehouse. Rio de Janeiro: Axel, 2003.

91

KETTLE-COOKBOOK, Auto-documentation tool for Kettle, a.k.a. Pentaho Data Integration. Disponvel em http://code.google.com/p/kettle-cookbook/. Acesso em: 15 set. 2011. KIMBALL, Ralf. The Data Warehouse Toolkit: The Complete Guide do Dimensional Modeling. 2 ed. USA: BrianSnapp, 2002. (Chapter 4 Procuremente p. 89-105) KIMBALL R., CASERTA J., The Data Warehouse ETL Toolkit: Practical Techniques for Extracting, Cleanin. USA: Wiley Publishing Inc., 2004 (Chapter 6 Delivering Fact Table p. 209-253) LIMA, Carlos Alberto. ETL Extrao, Transformao e Carga de Dados:Uma Etapa Critica do Data Warehouse. Disponvel em: http://litolima.wordpress.com/2010/01/13/etlextracao-transformacao-e-carga-de-dados/. Acesso em: 10 abr. 2011. LUCRDIO, Daniel. Uma Abordagem Orientada a Modelos para Reutilizao de Software. Tese Doutorado USP So Carlos SP, jul. 2009. Disponvel em: http://www2.dc.ufscar.br/~daniel/files/teseDoutoradoDanielLucredio.pdf Acesso em: 15 set 2011. MACHADO, Felipe Nery Rodrigues. Tecnologia e Projeto de Data Warehouse: Uma viso multidimensional. 4 ed. So Paulo: rica, 2008. MICROSOFT. Manuais Online do SQLServer 2008: Criando um Pacote ETL Simples. Disponvel em: http://msdn.microsoft.com/pt-br/library/ms169917.aspx. Acesso em: 30 abr. 2010. NASCIMENTO, Washington; VASCONCELOS Yasmim. Talend SOA ESB, Disponvel em: http://talendbrasil.com.br/. Acesso em: 30 mar. 2011. PASSIONNED GROUP, ETL Tolls Comparison. Disponvel em: http://www.etltool.com/etl-tools-comparison/. Acesso em 03 set. 2011. PENTAHO, Open Source Business Intelligence Disponvel em: http://kettle.pentaho.com/ Acesso em: 30 mar. 2011.
PROJECT MANAGEMENT INSTITUTE. A Guide to the Project Management Body of Knowledge PMBOK Guide 2004. 3. ed. Pennsylvania-USA, 2004.

REBOUAS, Djalma de P. Planejamento Estratgico: Conceitos, Metodologia e Prticas.5 ed. So Paulo: Atlas, 1997. TALEND, Open Integration Solutions Disponvel em: www.talend.com Acesso em: 30 mar. 2011.

92

TALEND, Data Integration Features Comparison Matrix - Talend Open Studio vs Talend Integration Suite Team, Professional, RTx, Enterprise & MPx editions. Disponvel em: http://www.talend.com/products-data-integration/Talend-Data-IntegrationFeatures-Comparison-Matrix.pdf. Acesso em: 30 set. 2011.
WALLER, Tomas Waller, et al. CloverETL Designer: User's Guide This User's Guide refers to CloverETL Designer 3.1.x release. Published June 2011 Disponvel em: www.cloveretl.com. Acesso em: 15 mai. 2011.

93

ANEXO 1 INFRA-ESTRUTURA UTILIZADA NA EXECUO DO LABORATRIO

A preparao das plataformas para o laboratrio envolve a definio de quatro mquinas virtuais, sendo executadas com o gerenciador VirtualBox verso 4.0.4 executando no host Windows Vista Ultimate 64bits SP2, em um hardware com processador Intel Core 2 Duo CPU P9600 de 2,66Hz com 4 Gb de Ram e HD de 500Gb. J as mquinas virtuais foram definidas com as seguintes caractersticas: 1_ Mquina SRVBD: Banco de Dados SQL Server2005, plataforma Windows Server2003 SP2 com 1Gb de memria. Nesta base encontra-se a fonte de dados do sistema transacional OLTP, ERP Totvs Protheus 10. 2_ Mquina ETL_02: Instalao da ferramenta de ETL Talend verso 4.1.2, plataforma Windows XP SP3, com 512 memria. 3_ Mquina ETL_03: Instalao da ferramenta de ETL Kettle verso 4.1.0, plataforma Windows XP SP3, com 512 memria. 4_ Mquina ETL_04: Instalao do Banco de Dados Postgre verso 9.0.4 plataforma Linux Ubuntu, com 512 memria. Passos para preparao das mquinas virtuais: 1_ Preparar uma cpia do Banco de Dados transacional, dados do ERP Protheus10; 2_Criar ambiente BANCO PostgreSQL (instalar e criar o banco DW); 3_Criar as tabelas de Dimenses e Fato; 4_Instalar as ferramentas de ETL em cada mquina.

94

ANEXO 2 LISTA DE CRITRIOS PARA AVALIAO DAS FERRAMENTAS ETL

Arquitetura e Escalabilidade: Tem por objetivo avaliar se as ferramentas

suportam as exigncias do projeto, quanto s caractersticas: flexibilidade se houver aumento por demanda de recursos de hardware, plataforma de sistemas operacionais, necessidades de processamento para um tempo e resposta aceitvel, volume de trfego na movimentao de dados, balanceamento de carga, espao para armazenamento, integrao de dados entre plataformas heterogneas, controle de verso do produto, entre outras caractersticas de construo.
1 1.1 Arquitetura e Escalabilidade Relevncia Suporte processamento paralelo, ou Multi - No processamento simtrico (SMP): Necessidade de executar Recurso no requerido em quais plataformas Windows, UNIX, outros, com no projeto. processadores que compartilham as suas memrias internas e externas em sistemas SMP? Suporte Processamento Paralelo Massivamente - No Massively parallel processing (MPP): Precisa que cada Recurso no requerido processador em um sistema MPP tem sua memria no projeto. prpria interna e externa e banco de dados para garantir alcanar alto desempenho. Esses bancos de dados devem ser sincronizados? Cluster: Necessidade de um servidor de ETL que suporta No balanceamento de carga, trabalhando em 'Cluster' e Recurso no requerido explora recursos recuperao de falhas? no projeto. Grid: Requer processamento de ETL executando em um No "grid" de computadores ou servidores? Recurso no requerido no projeto. Processamento Distribudo: Exige processamento de ETL No em diferentes mquinas ou processadores? Recurso no requerido no projeto. Dada pipelining: Demanda por processamento otimizado No de ETL dividido em fases e executado em diferentes Recurso no requerido mquinas ou processadores? no projeto.

1.2

1.3

1.4

1.5

1.6

95

1.7

Particionamento: Requer particionamento que determina No em que mquina ou processador os dados de um Recurso no requerido determinado processo deve ser executado? no projeto. End-to-end para infra-estrutura de BI: Necessita que a No ferramenta de ETL troque metadados com, por exemplo, Recurso no requerido esquemas estrela (Star Schema), OLAP ou ferramentas de no projeto. relatrios a partir de seu prprio produto ou com produtos terceiros. Suporta CWM: Requer da ferramenta de ETL No compatibilidade com CWM - Common Warehouse Meta Recurso no requerido Model? Recurso CWM permite intercambiar metadados no projeto. entre modelos heterogneos, ou seja, comporta uma melhor administrao e integrao dos modelos que so metadados, garante a interoperabilidade, facilita o acesso a diferentes metadados que podem ser intercambiados atravs de eXtensible Meta Data Interchange (XMI)? Sim
Facilitador no gerenciamento do desenvolvimento e controle da documentao

1.8

1.9

1.10 Controle de verso do sistema: O produto contm um sistema de controle de verso com caractersticas checkin e check-out? Check-in: Submeter ou enviar as alteraes da cpia local ao Servidor atravs do Cliente. Chek-out: Quando no existe cpia local e necessrio baixar todo o projeto do servidor. Nesse processo, guardado algum tipo de meta-dados (geralmente em pasta oculta) junto dos arquivos baixados.

Funcionalidades de ETL: Este grupo de requisitos visa avaliar se as ferramentas de ETL possuem recursos que facilitam o trabalho do desenvolvedor atravs de componentes e funcionalidades que no apenas agilizam o desenvolvimento, mas principalmente garante a qualidade e uniformidade do cdigo. Como exemplo: funes para carga dos vrios tipos de tabelas de dimenso com mudana lenta; funes para carga de tabela fato; tratamento de erros durante o processamento; anlise de impacto se houver mudanas de regras ou atributos; recursos que permite a rastreabilidade da origem de um atributo; se existe auto-documentao ou facilitador que gere a documentao do projeto entre outros.
96

2 2.1

2.2

2.3

Funcionalidade ETL Diviso dos fluxos de dados / alvos mltiplos: possvel ler a fonte de dados uma vez e carregar os resultados em duas ou mais tabelas? Diviso Condicional: O mesmo que alvos mltiplos mas condicional, por exemplo, se a receita for maior que 1000 colocar os resultados na tabela 1 em contrrio na tabela 2. Unio: Juno de linhas de diferentes tabelas em uma tabela de mesma estrutura.

Relevncia No No explorado pelo projeto No No explorado pelo projeto Sim


Recurso com forte possibilidade de aplicao.

2.4

2.5

Pivoting (Transformando): possvel transformar No trocando os dados de linhas para colunas e vice-versa. No explorado pelo projeto Pesquisas de chave na memria: Voc pode carregar No uma tabela completamente na memria interna e No explorado pelo pesquisar na tabela, sem necessidade de fazer joins? projeto Pesquisas chaves reutilizveis em processos: Uma vez a No tabela carregada em memria possvel reutiliz-la em No explorado pelo outro processo por chave de referncia? projeto Ler dados no-estruturados: o produto pode ler dados No no estruturados, como texto, email, etc vdeo e, em caso No se aplica ao projeto afirmativo, que tipos de arquivos? Dimenses de alterao lenta: H suporte na ferramenta Sim Recurso necessrio para o para dimenses de alterao lenta? (hm = manual; wizard = assistente; auto = arrasta e solta) projeto

2.6

2.7

2.8

2.9

Agenda (Scheduler): Existe um agendador que suporta No dependncias? No explorado pelo projeto 2.10 Tratamento de erros no processamento: Existe Sim tratamento para erro no processamento e possvel Recurso com possibilidade prever o percurso alternativo dentro do fluxo do processo de aplicao e de fcil avaliao quando surge um erro especfico? 2.11 Anlise de impacto: possvel fazer uma anlise do Sim impacto das mudanas propostas (quando um atributo ou Recurso de apoio para o desenvolvimento com tabela mudar)
possibilidade de aplicao e de fcil avaliao
97

2.12 Dados linhagem: Existe facilidade em rastrear a origem Sim de um atributo/informaes de um elemento (anlise do Recurso de apoio para o desenvolvimento com impacto invertida)
possibilidade de aplicao e de fcil avaliao

2.13 Documentao automtica: possvel documentar e Sim publicar um processo/transformao automaticamente e Recurso de apoio na documentao consultar por um navegador? 2.14 Suporte para modelos de minerao de dados: possvel No durante o processo de carregamento fazer uso dos No requerido pelo resultados para um processo de minerao de dados? projeto 2.15 Suporte para funes analticas: Durante o processo de No carregamento, possvel invocar os vrios tipos de No explorado pelo funes analticas como a previso, anlise na cesta de projeto dados e a regresso?

Facilidade de uso: Os requisitos deste grupo tratam de caractersticas que avaliam a forma de manuseio das ferramentas de ETL, se o designer ergonmico facilita o trabalho, se envolvente e fcil de aprender, o quanto requer de treinamento especializado. Enfim, afere a qualidade de usabilidade do software.

3 3.1

Facilidade de uso Facilidade de uso: A facilidade de uso do produto, se intuitivo, fcil de aprender e fcil de aplicar em uma base diria?

Relevncia Sim
Relevante para produtividade e aprendizado

3.2

WYSIWYG: o princpio do "What You See Is What You Sim Get", ou seja, O que voc v o que voc obtm isso Relevante para produtividade e aplicado aos dados?
aprendizado

3.3

Design de tela: O design ergonmico de tela bem Sim Relevante para equilibrado?
produtividade e aprendizado

98

3.4

Compatibilidade de tarefas ETL / EAI (Integrao de No Aplicaes de Negcios): A ferramenta de ETL elabora as Recurso no explorado tarefas, na mesma sequncia, como um desenvolvedor ETL? Necessidade de Treinamento: Ser necessrio treinamento especializado tanto para o desenvolvedor profissional quanto para usurio final de negcios (se for o caso)? Sim
Relevante para produtividade e aprendizado

3.5

3.6

Integralidade do GUI: Qual o percentual das Sim funcionalidades que podem ser geradas diretamente da Relevante para produtividade e GUI (Graphical User Interface)?
aprendizado

Reutilizao: A reutilizao de software um dos conceitos estudados pela engenharia de software que visa aumentar a qualidade e produtividade no processo de desenvolvimento de software, minimizando o esforo e reaproveitando o mximo possvel das experincias vivenciadas em projetos passados (LUCRDIO, 2009). Os requisitos deste grupo tem a finalidade de avaliar se as ferramentas de ETL permitem desenvolver aplicando esses conceitos padres, como exemplo na reutilizao de componentes, com o desenvolvimento modular, nas funes de usurios acopladas ao fluxo do processo e etc., de forma que permita o reaproveitamento de trabalhos passados em trabalhos futuros.

4 4.1

Reutilizao Reutilizao de componentes: O modelo de desenvolvimento favorece a reutilizao de componentes, ou seja, chamada por parmetros (isto no o mesmo que copiar-colar)?

Relevncia Sim
Relevante para aplicar padres de boas prticas de desenvolvimento

4.2

Decomposio: O modelo de desenvolvimento permite No dividir os processos em pequenos blocos (programao Recurso no explorado modular)? Funes definidas pelo usurio: possvel construir No funes definidas pelo usurio e utiliz-los no fluxo do Recurso no explorado processo? no projeto

4.3

99

4.4

Comentrios sobre a seleo de objetos: Pode-se fazer No comentrios sobre a seleo de objetos, de tal forma que Recurso no explorado esses comentrios estejam estreitamente relacionados. no projeto

Depurao: Os requisitos de depurao tem o objetivo de avaliar as facilidades que o desenvolvedor encontrar nas ferramentas de ETL para corrigir eventuais problemas lgicos ou de execuo. Como exemplo: executar o processo passo-a-passo ou linha-alinha, inserir ponto de parada incondicional ou temporizado, etc.

5 5.1

Depurao Relevncia Execuo Passo-a-passo: possvel executar o fluxo de Sim Facilitador no processo passo-a-passo?
desenvolvimento

5.2

5.3

Execuo Linha por linha: possvel executar o processo No de fluxo de linha por linha? Recurso no explorado no projeto Ponto de Parada (Breakpoints): Permite definir um ponto Sim de interrupo em uma etapa do processo em particular Facilitador no desenvolvimento ou uma linha de dados? Ponto de Parada Temporizado (Watch Points): Comporta No definir pontos de interrupo temporria, de modo que o Recurso no explorado sistema adie a execuo quando uma determinada no projeto condio satisfeita? Compilador/Validador: possvel validar o fluxo do Sim processo (e / ou de cdigo) com um clique do mouse e Facilitador no desenvolvimento salvar os registros dos erros?

5.4

5.5

Mecanismo de processamento: Estes requisitos permitem aferir como as ferramentas de ETL atendem os recursos especificamente para o processo de movimentao de dados, por exemplo: os tipos de integrao entre as bases de dados (lote ou tempo real); a segurana da informao durante o processamento por meio de

100

criptografia; recursos para detectar as mudanas dos dados nos sistemas de origem; se h integrao de dados por demanda; e recursos para compactar os dados nas bases de origem.

6 6.1

Mecanismo de processamento Relevncia Integrao em Lote / Tempo Real: A ferramenta de ETL No permite o processamento do fluxo da movimentao e No se aplica ao projeto transformao dos dados em tempo real ou em lote? Mecanismo de Mudanas: Como as mudanas nos No sistemas de origem so detectadas e inseridas atravs de: No se aplica ao projeto - MQ (message queuing) = Enfileiramento de mensagens; - Logging = Log de banco de dados / journals; - Trigger = Gatilhos de banco de dados? Integrao de dados por demanda: possvel publicar No um processo de ETL e / ou atributo de destino em um No se aplica ao projeto Web Service? Compactao de dados: Permite movimentao de dados No compactados na origem? No se aplica ao projeto Criptografia de dados: Permite criptografar os dados No como recurso de segurana da informao? No se aplica ao projeto Retransmisso de dados: Em caso de interrupo de um No processamento, possvel reiniciar a partir do ponto de Recurso no explorado parada?

6.2

6.3

6.4

6.5

6.6

Conectividade e Plataformas: O grupo de requisitos que avalia a conectividade tem a finalidade de apurar a disponibilidade de conectores nativos para banco de dados ou aplicaes empresariais (exemplo SAP) e saber se esses conectores suportam processamento em tempo real. A preferncia por conectores nativos deve-se ao fato de serem mais eficientes se comparados aos ODBC (Object Oriented Database Connectivity) genricos, ou pior, a necessidade de desenvolver um conector, assim como saber em quais plataformas as ferramentas suportam trabalhar.

101

7 7.1

Conectividade e Plataformas

Relevncia

Conexes nativas: Quantas e quais so as conexes Sim Recurso essencial para o nativas suportado pela ferramenta de ETL? projeto (ODBC, OLE DB e arquivos flat excludos) Pacotes / aplicaes empresariais: Quais pacotes / No aplicaes corporativas (ERP) a ferramenta de ETL pode No se aplica ao projeto ler os metadados com um simples clique do mouse? (por exemplo, SAP, Siebel, PeopleSoft, JD Edwards, Baan) Conexo em tempo real: Quantos e que tipos de No mensagens enfileiradas de produtos podem conectar-se a No se aplica ao projeto ferramenta? Suporte para juntar tabelas na fonte: Voc pode juntar No duas tabelas e apresentar de forma grfica, permitindo Recurso no explorado que o banco execute a conexo em vez de deixar que a no projeto ferramenta ETL junte as tabelas? Captura de dados Modificados: A ferramenta de ETL No conector que suporta a captura de dados modificados No se aplica ao projeto (Changed Data Capture), selecionando apenas as alteraes (deltas) do banco de dados. Plataformas: Quais so as plataformas possveis para Sim executar a ferramenta de ETL? Recurso essencial para o projeto

7.2

7.3

7.4

7.5

7.6

Garantia de Qualidade dos Dados: O conceito para o tratamento da qualidade de dados muito amplo e tem como objetivo assegurar que os problemas nos dados de origem no sejam migrados para o DW. Para isso, devem existir recursos nas ferramentas de ETL que facilitam a identificao e o tratamento das anomalias nos dados atravs de funes de transformaes ou de validao de dados, entre esses recursos devem contemplar funes para: normalizao ou correo, verificao de dados duplicados, dados nulos, verificao de valores mnimos ou mximos, entre outros.

102

8 8.1

Garantia de Qualidade dos Dados

Relevncia

Desenvolvimento em funo da qualidade dos dados: H No funes disponveis suficientes para atender a qualidade No se aplica ao projeto dos dados dos ambientes de origem? (por exemplo, uma transformao correspondente, ou um limpador de endereo) lgica fuzzy*. * Lgica fuzzy: Provm base para gerao de tcnicas poderosas para a soluo de problemas, com uma vasta aplicabilidade, especialmente, nas reas de controle e tomada de deciso. A fora da Lgica Fuzzy deriva da sua habilidade em inferir concluses e gerar respostas baseadas em informaes vagas, ambguas e qualitativamente incompletas e imprecisas. Neste aspecto, os sistemas de base Fuzzy tm habilidade de raciocinar de forma semelhante dos humanos. Seu comportamento representado de maneira muito simples e natural, levando construo de sistemas compreensveis e de fcil manuteno.

8.2

Desenvolvimento com funes para validao de dados: No A ferramenta de ETL tem funes para validao de dados Recurso no explorado como: "eliminar duplicidades", "valores faltando", ou pelo projeto "dados incorretos"? Perfil dos dados: Existe recurso para definir perfis de No dados, unicidade de valores, distribuio de mnimo e Recurso no explorado mximo de valores, e assim por diante. pelo projeto

8.3

Caractersticas Gerais: Os requisitos deste grupo tm a finalidade de identificar algumas das principais caractersticas com o objetivo de saber se atender a demanda do projeto quanto a plataforma de execuo, se o conceito de construo adequado s necessidades, assim como requisito de carter informativo como saber se a verso do produto open source acompanha a mesma verso comercial.

Caractersticas Gerais Ferramenta ETL

Relevncia
103

9.1 9.2

Sim Nota para documentar Motor Gerador de Cdigo: A ferramenta fundamentada Sim em um Motor-Base ou Gerador de Cdigo? Nota para documentar

Verso: Verso do produto em avaliao? Open Source

104

ANEXO 3 ANLISE COMPLEMENTAR DOS CRITRIOS RELEVANTES

Neste anexo apresentamos uma anlise complementar dos principais critrios que foram classificados como relevantes para o estudo de caso, no sentido de gerar evidncias em relao aos resultados aferidos nos critrios de comparao das ferramentas Talend Open Studio e Kettle/Pentaho. Para tanto, so ilustrados com as imagens de cada ferramenta de ETL.

Lista de requisitos classificado como relevante

1 1.10

Arquitetura e Escalabilidade Controle de verso do sistema Neste quesito notou-se uma superioridade na ferramenta Talend, com recursos mais apurados, possibilitando o gerenciamento de verso de cada Job dentro de um projeto, alm de ser fcil utilizao. J no Kettle, no encontramos essa facilidade.

KETTLE No Kettle, o gerenciamento de verso bem simples, controlado manualmente nas propriedades do projeto/transformao. Tambm pode informar o estado da transformao se est em desenvolvimento ou em produo. A figura a seguir ilustra a tela de controle de verso no Kettle.

Figura 36 - Controle de Verso da Transformao no Kettle

Fonte: Kettle (2011)

105

TALEND

No Talend Open Studio com o recurso de gerenciamento de verso dos trabalhos, possvel controlar histricos das verses anteriores. Por padro, quando voc cria um trabalho, a verso inicial 0.1, onde 0 atribudo verso principal e 1 verso secundria. possvel manter o registro das verses anteriores do trabalho, sendo que qualquer verso anterior somente para leitura e, portanto, no pode ser modificado.

Outras possibilidades possveis:

Salvar um trabalho e incrementar a verso ao mesmo tempo Salvar como;

Acesso lista do histrico das verses de um trabalho e executar determinadas operaes;

Gerenciar o status de cada item na exibio em rvore do repositrio.

A figura 37 mostra como a tela de gerenciamento de verso do Talend.

Figura 37 - Controle de Verso da Transformao no Talend

Fonte:Talend (2011) 106

A figura 38 ilustra um exemplo para consulta de verso de um trabalho e, nas figuras seguintes (39 e 40), a possibilidade de visualizar o histrico e controle de Status do trabalho.
Figura 38 - Consulta Verso de um Trabalho no Talend

Fonte: Talend (2011)

Figura 39 Consulta Histrico das Verses de um Trabalho no Talend

Fonte: Talend (2011)

107

Figura 40 - Controle de Status das Verses de um Trabalho no Talend

Fonte: Talend (2011)

2 2.3

Funcionalidade ETL Unio: Juno de linhas de diferentes tabelas em uma tabela de mesma estrutura. As funcionalidades deste quesito foram avaliadas durante o desenvolvimento do

estudo de caso, especificamente na carga da tabela fato, as ilustraes e os comentrios podem ser conferidos no tpico 5.6 e 5.7.

2.8

Dimenses de alterao lenta: H suporte na ferramenta para dimenses de alterao lenta? (hm = manual; wizard = assistente; auto = arrasta e solta) As funcionalidades deste quesito foram avaliadas durante o desenvolvimento do

estudo de caso, especificamente na carga das tabelas dimenso, as ilustraes e os comentrios podem ser conferidos no tpico 5.5 e 5.7.

108

2.10

Tratamento de erros no processamento: Existe tratamento para erro no processamento e possvel prever o percurso alternativo dentro do fluxo do processo, quando surge um erro especfico? Com o tratamento de erros nas ferramentas de ETL, possvel evitar que uma

grande transformao pare no meio por problema em uma nica linha, por exemplo.

KETTLE

O recurso Error Handling no Kettle funciona como um filtro, destinando linhas com problemas para um step (destino) especfico e seguindo o fluxo da transformao apenas as linhas saudveis, ou seja, linhas que no causaram nenhum tipo de problema na execuo da transformao.

A figura abaixo representa o funcionamento simples para o tratamento de erro, se algum erro ocorrer na tentativa do Kettle, incluir registros na tabela de SB1_Produto_SA, as linhas com problema sero direcionadas para o Step Registro de Erros sem interromper o fluxo da transformao.
Figura 41 Exemplo de Tratamento de Erro no Kettle

Fonte: Kettle (2011)

109

TALEND

Diferente do Kettle, o Talend Open Studio possu uma famlia de componentes para tratar de Logs e Erros. Este grupo de componentes se dedica a captura de informaes e manipulao de erros. Como exemplo o tAssert que fornece mensagens de status para outro componente o tAssertCatcher e gera um fluxo de dados para ser salvo em um arquivo pr-definido. A ilustrao a seguir mostra um exemplo dos principais componentes com o propsito de capturar e armazenar mensagens de log, tambm demonstra como as propriedades dos componentes tLogCatcher, "tDie" e "tWarn" esto intimamente relacionados ao componente tLogCatcher. Tambm evidencia porque esses componentes fazem sentido quando usados em conjunto para que os dados de log encapsulados sejam coletados e repassados para a sada definida.

Figura 42 - Conjunto de Componentes para Manipulao de Erros no Talend

Fonte: Talend (2011)

tWarn - Tem a funo de fornecer uma mensagem de classificada como prioridade para o prximo componente. Tambm dispara um aviso por vrias vezes para que o componente tLogCatcher capture

110

tLogCatcher - O propsito operar como uma funo de log desencadeada por um dos trs: Java Exception, tDie ou tWarn para coletar e transferir esses dados de log. tDie - A finalidade desencadear uma mensagem de log para o componente "tLogCatcher", antes de abortar ou no o processamento.

2.11

Anlise de impacto: possvel fazer uma anlise do impacto das mudanas propostas (quando um atributo ou tabela mudar)

KETTLE O recurso Anlise de Impacto s encontrado na ferramenta Kettle, seu uso algo muito simples, apenas tem a funo de gerar um relatrio de cada uma das etapas da transformao, fornecendo uma lista informaes como: as tabelas acessadas, tipo de acesso se leitura ou gravao, o cdigo da query. O exemplo abaixo mostra um relatrio de anlise de impacto regado pela ferramenta Kettle.
Figura 43 - Exemplo Relatrio Anlise de Impacto no Kettle

Fonte: Kettle (2011)

TALEND No Talend esse recurso s est disponvel nas verses pagas, conforme documento Data Integration Features Comparison Matrix (Talend, 2011).

111

2.12

Dados linhagem: Existe facilidade em rastrear a origem atributo/informaes de um elemento (anlise do impacto invertida)

de

um

KETTLE Duas funcionalidades correlatas foram analisadas rastreabilidade e propagao de campos (atributos) entre os elementos de uma transformao: no Kettle a propagao das modificaes ocorre de maneira natural, uma vez que a configurao do parmetro Distribui os dados para os prximos steps esteja ligado, conforme exemplo ilustrado abaixo. Tambm nas propriedades de cada componente possvel exibir os atributos que esto entrando e saindo especificamente no ponto do componente selecionado.
Figura 44 - Exemplo de Rastreabilidade e Propagao de Atributos no Kettle

Fonte: Kettle (2011)

A figura seguinte mostra um exemplo dos campos de origem ou entrando no componente Sort Row.

112

Figura 45 - Relatrio de Rastreabilidade dos Atributos no Kettle

Fonte: Kettle (2011)

TALEND

No Talend, ao inserir ou modificar qualquer um dos parmetros de uma entrada na exibio em rvore do repositrio, todos os elementos do trabalho usando esta entrada do repositrio ser afetado pela modificao. Desta forma, a ferramenta solicitar que voc propague estas modificaes a todos os elementos dos trabalhos que usam a entrada no repositrio. Como demonstra a figura a seguir.

Figura 46 - Exemplo de Propagao de Atributos no Talend

Fonte: Talend (2011)

113

A figura a seguir mostra o recurso que exibe em cada passo da transformao (componentes) quais os atributos esto entrando e saindo. Com este recurso tambm possvel interferir no fluxo dos dados, ou seja, mudar uma caracterstica do atributo, incluir ou excluir um atributo.

Figura 47 - Exemplo de Rastreabilidade e Manipulao de Atributos no Talend

Fonte: Talend (2011)

2.13

Documentao automtica: possvel documentar e publicar processo/transformao automaticamente e consultar por um navegador?

um

KETTLE

Com o Kettle no vimos o recurso de forma direta, o que a ferramenta disponibiliza a possibilidade de salvar o projeto em formato XML, para ento ser executado com recursos de terceiros um gerador de documentao. Um exemplo o Kettle-Cookbook que uma ferramenta de auto-documentao para o Kettle (Pentaho PDI). A figura a seguir demonstra um modelo do relatrio em HTML (Kettle-Cookbook, 2011).

114

Figura 48 - Relatrio de Documentao Automtica do Kettle

Fonte: Kettle-Cookbook (2011)

TALEND

O Talend possui um timo gerador de documentao automtica, com ele possvel gerar um relatrio em HTML completo e detalhado de uma transformao, com um simples clique do mouse. Veja um exemplo na figura 49 como fazer:
Figura 49 - Chamada ao Gerador de Documentao no Talend

Fonte: Talend (2011)

115

O relatrio bem completo, conforme pode ser observado na ilustrao abaixo, onde mostra um corte do modelo do relatrio exibido em HTML, so detalhados todos os itens do Sumrio em destaque.
Figura 50 - Relatrio de Documentao no Talend

Fonte: Talend (2011)

Facilidade de uso Os requisitos do grupo Facilidade de uso refletem apenas o sentimento do autor

deste trabalho, portanto no deve expressar resultado de uma pesquisa emprica por um grupo de usurios, algo que no foi possvel realizar neste trabalho. Portanto, as pontuaes dos quesitos deste grupo foram encontradas a partir das facilidades e dificuldades do processo de desenvolvimento descritos nos tpicos 5 e 6.

116

4 4.1

Reutilizao Reutilizao de componentes: O modelo de desenvolvimento favorece a reutilizao de componentes, ou seja, chamada por parmetros (isto no o mesmo que copiar-colar)?

KETTLE

No Kettle foram encontrados dois indicativos que facilitam a reutilizao de componentes, o compartilhamento de Conexes e Steps, assim como a facilidade de reutilizao das conexes, tipo arrasta-e-solta para criar os step. Abaixo a figura ilustra o mecanismo de compartilhar os recursos.

Figura 51 - Exemplo de Compartilhamento de Recursos do Kettle

Fonte: Kettle (2011)

117

TALEND

Na ferramenta Talend, observou-se que o modelo de desenvolvimento por projeto facilita o compartilhamento dos recursos de conexo e metadados, ou seja, qualquer metadado criado dentro de um projeto j fica naturalmente disponvel para os Jobs Designs, assim como para outros projetos e usurios. A figura abaixo ilustra a estrutura de conexes e metadados de um projeto.

Figura 52 - Modelo de um Painel com Jobs e Metadados Compartilhados no Talend

Fonte: Talend (2011)

5 5.1

Depurao Execuo Passo-a-passo: possvel executar o fluxo de processo passo-a-passo?

KETTLE Entre os recursos de depurao no Kettle, existe a possibilidade de executar uma transformao ou um Job passo-a-passo, sendo que o conceito de passo refere-se a cada linha de dados processada em um componente da transformao que, por sua vez, necessita
118

de habilitar as condies para pausar um processamento que est associado configurao do breakepoint, (ver configurao abaixo no item 5.3). A figura seguinte demonstra como o funcionamento da execuo passo-a-passo e o painel que possibilita o acompanhamento de cada etapa de processamento conforme foi definido nas condies de parada.

Figura 53 - Exemplo de Execuo Passo-a-Passo no Kettle

Fonte: Kettle (2011)

TALEND

Encontramos no Talend vrios recursos para depurar um trabalho, existe uma perspectiva, ou seja, um conjunto de painis dedicados depurao de uma transformao e para os desenvolvedores mais experientes permite uma depurao no modo Java onde possvel acompanhar a execuo linha-por-linha do cdigo. A figura abaixo ilustra o conjunto de painis de uma perspectiva para depurar um trabalho no Talend e, em destaque, os botes de controle para avanar, pausar, interromper, saltar um quadro, retroceder, entre outras funes.

119

Figura 54 - Modelo dos Painis de Depurao Passo-a-Passo no Talend

Fonte: Talend (2011)

5.3

Ponto de Parada (Breakpoints): Permite definir um ponto de interrupo em uma etapa do processo em particular ou uma linha de dados?

KETTLE A configurao de ponto de parada no Kettle quem habilita o recurso de depurao para execuo passo-a-passo. A figura seguinte demonstra como pode ser configurado um breakpoint em um ou mais elementos da transformao.
Figura 55 - Exemplo de Configurao do Ponto de Parada no Kettle

Fonte: Kettle (2011)

120

TALEND

Entre os recursos de depurao, tambm encontramos na maioria dos componentes do Talend a possibilidade de inserir um ponto de parada. A figura a seguir ilustra como ficam os componentes com o recurso breakpoint habilitado e uma srie de configuraes possveis para apoio em uma depurao de alto nvel, como por exemplo, estatstica em Configuraes Avanadas que possibilita acompanhar cada linha de dados processado no componente.
Figura 56 - Exemplo de Configurao do Ponto de Parada no Talend

Fonte: Talend (2011)

5.5

Compilador/Validador: possvel validar o fluxo do processo (e / ou de cdigo) com um clique do mouse e salvar os registros dos erros?

KETTLE O recurso de verificao ou validao da transformao no Kettle muito til e simples de usar, valida o cdigo antes mesmo de executar. A figura abaixo demonstra um

121

exemplo do resultado de uma verificao, sendo que linhas com destaque em verde so resultado dos testes com sucesso e, em vermelho, caso negativo. O boto View message permite visualizar um relatrio com mais detalhes, mas no permite salvar.
Figura 57 - Exemplo do Recurso de Validao no Kettle

Fonte: Kettle (2011)

TALEND

No Talend no encontramos esse recurso.

7 7.1

Conectividade Conexes nativas: Quanto e quais so as conexes nativas suportadas pela ferramenta de ETL? (ODBC, OLE DB e arquivos flat excludos) Plataformas: Quais plataformas possveis para executar a ferramenta de ETL?

7.6

Neste quesito, ambas as ferramentas atenderam com facilidade as necessidades do projeto, os principais bancos de dados esto disponveis em mais de trs dezenas de conectores nativos nestas ferramentas. Assim como suportam trabalhar nos principais sistemas operacionais Linux, Unix e Windows.

122

9 9.1 9.2

Caractersticas Gerais Ferramenta ETL Verso: Verso do produto em avaliao? Open Source Motor Gerador de Cdigo: A ferramenta fundamentada em um Motor-Base ou Gerador de Cdigo? As caractersticas de construo, assim como as observaes das verses

disponveis das ferramentas de ETL, esto comentadas no tpico 4.3.

123