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 Terceira Forma Normal


API Interface de Programao de Aplicativos
BI Business Intelligence
DB2 Banco de Dados da IBM
DM Data Mart
DSS Sistema de Suporte a Deciso
DW Data Warehouse
EIS Sistema de Informaes Executivas
ER Entidade de Relacionamento
ETL Extract, Transformation and Load
IDC International Data Corporation
MDM Master Data Management
MPP Multi-Processamento Paralelo
ODBC Open Database Connectivity
ODS Staging Area ou Operacional Data Store
OLAP On-line Analitycal Processing
OLTP On-line Transactional Processing
PDI Pentaho Data Integration
SAD Sistema de Apoio a Deciso
SAP Sistemas Aplicativos e Produtos - Software Gesto Empresarial
SGBD Sistema Gerenciador de Banco de Dados
SMP Multi-processamento Simtrico
TXT Padro de Arquivo Texto
VM Mquina Virtual
XML 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 Implementao muito longa: dificulta a
aproveitados do DW facilitam a manuteno. garantia de apoio poltico e financeiro no
projeto.
Viso de empreendimento: ou viso Alta taxa de risco: inexistem garantias para o
corporativa, todos os dados do negcio esto investimento nesse tipo de ambiente.
integrados.
Repositrio de metadados (1) centralizado e Heranas de cruzamentos funcionais: exige
simples: facilidade na manuteno dos alta capacidade tcnica dos desenvolvedores e
metadados usurios finais.
Controle e centralizao das regras: garante a Expectativas relacionadas ao ambiente: a
existncia de um nico conjunto de aplicaes demora do projeto pode induzir expectativas nos
para extrao e transformao dos dados, alm usurios.
de centralizar a manuteno e monitorao.
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 Perigo de legamarts: uma das maiores
direcionado reduz o tempo de entrega do data preocupaes da arquitetura data mart
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.
Retorno rpido: baseado na arquitetura Desafio de possuir a viso de
independente, aumenta a confiana da empreendimento: durante o desenvolvimento,
organizao permitindo uma base para existe a difcil misso de manter um rgido
investimentos adicionais. controle no enfoque do negcio como um todo.
Manuteno do enfoque da equipe: esse Administrar e coordenar mltiplas equipes e
modelo permite que a equipe priorize as iniciativas: caso ocorra desenvolvimento em
principais reas de negcios. paralelo dos data mart, necessrio rgido
controle da equipe para no perder a
padronizao das regras.
Herana incremental: reduz o risco do projeto A maldio de sucesso: quando entregue um
como um todo, dado que o aprendizado da data mart, os usurios felizes ficam querendo
equipe cresce a medida que for desenvolvendo mais informaes para o seu projeto. Enquanto
passo a passo. isso, os prximos tero que aguardar por mais
tempo. Nestes casos, ser necessrio vencer
desafios polticos.
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
Ad-hoc a capacidade um produto oferece ...
2
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.

3
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) Masculino
F = (feminino) Feminino
H = (homem) Masculino
M = (mulher) Feminino
0 = (masculino) Masculino
1 = (feminino) 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

4
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

5
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

7
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

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

9
SpagoBI Studio um ambiente para desenvolvimento OLAP.
10
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.

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 categoriz-
las 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 Vlr.Receita Qtd Venda Marg.Contrib Qtd Clientes Qtd Produtos
Negcio - (Devoluo) - (Devoluo) - (Devoluo) - (Devoluo) - (Devoluo)
Filial X X X X X
Cliente X X X X
Produto X X X X
Vendedor Interno X X X X X
Vendedor Externo X X X X X
Transportador X X X X X
Tempo (gro data) 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
Vlr. Pis/Cofins
Estorno ICMS

Cred.ICMS ST
Estorno IPI

Vlr. ICMS
Vlr E.F.

Vlr. IPI

Dimenses do Negcio

Filial X X X X X X X X X X
Cliente X X X X X X X X X X
Produto X X X X X X X X X X
Vendedor Interno X X X X X X X X X X
Vendedor Externo X X X X X X X X X X
Transportador X X X X X X X X X X
Tempo (gro data) X X X X X X X X X X
Fonte: Autoria prpria (2011)

59
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_FILIAL DIM_PRODUTO
SEQ_CLIENTE COD_FILIAL SEQ_PRODUTO
COD_CLIENTE NOM_FILIAL COD_PRODUTO
LOJ_CLIENTE FOR_PRODUTO
NOM_CLIENTE NOM_PRODUTO
MUN_CLIENTE TIP_PRODUTO
UF_CLIENTE GRP_PROTUTO
COD_SEGMENTO EMB_PRODUTO
NOM_SEGMENETO FAT_FATURAMENTO DTC_INICIO
DTC_INICIO NUM_NOTA_FISCAL DTC_FIM
DTC_FIM SER_NOTA_FISCAL
SEQ_FILIAL
SEQ_CLIENTE
SEQ_PRODUTO
DIM_VENDEDOR_I SEQ_VENDEDOR_I
SEQ_VENDEDOR_I DIM_VENDEDOR_E
SEQ_VENDEDOR_E
COD_VENDEDOR_I SEQ_VENDEDOR_E
SEQ_TRANSPORTADOR
NOM_VENDEDOR_I SEQ_TEMPO COD_VENDEDOR_E

VAL_VENDA NOM_VENDEDOR_E

QTD_VENDA
VAL_MARGEM_CONTRIB
VAL_CUST_PRODUTO
DIM_TEMPO VAL_CUST_ICMS
SEQ_TEMPO DIM_TRANSPORTADOR
VAL_CUST_IPI
DATA SEQ_TRANSPORTADOR
VAL_CUST_PISCOFINS
DIA_SEMANA COD_TRANSPORTADOR
VAL_CUST_EF
DIA_MES NOM_TRANSPORTADOR
VAL_CUST_FRET_VEND
SEMANA_MES
VAL_CUST_EMBALAGEM
MES
VAL_CUST_EST_ICMS
NOM_MES
VAL_CUST_EST_IPI
TRIMESTRE
VAL_CRED_ICMS_ST
SEMESTRE
QTD_PRODUTOS
ANO
QTD_CLIENTE

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 Codigo_Vendedor Nome_Vendedor


01 000123 PAULO DA SILVA
02 000323 JOSE RIBEIRO

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

Chave CODIGO NOME_CLIENTE SEGMENTO Version Dtc_ini Dtc_fim


01 099665 BRASIL LIMP QUIMICO 1 01-03-10 NULL
02 043323 TINTAS ESTRELA TINTAS 1 10-05-11 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 CODIGO NOME_CLIENTE SEGMENTO Version Dtc_ini Dtc_fim


01 099665 BRASIL LIMP LTDA. QUIMICO 1 01-03-10 23-10-11
02 043323 TINTAS ESTRELA TINTAS 1 10-05-11 NULL
03 099665 BRASIL LIMP LTDA. LIMPEZA 2 23-10-11 NULL

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

Chave CODIGO NOME_CLIENTE SEGMENTO SEGM_ANTERIOR


01 099665 BRASIL LIMP QUIMICO
02 043323 TINTAS ESTRELA TINTAS

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 CODIGO NOME_CLIENTE SEGMENTO SEGM_ANTERIOR
01 099665 BRASIL LIMP LTDA LIMPEZA QUIMICO
02 043323 TINTAS ESTRELA TINTAS

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.

17
Multi-processamento simtrico.
18
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.

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


1 Arquitetura e Escalabilidade Peso K T
1.10 Controle de verso do sistema 1 2 4
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.

2 Funcionalidades ETL Peso K T


2.3 Unio: Essa funcionalidade foi explorada na carga da tabela fato, 2 4 3
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.

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 2 2 4
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 1 3 3
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 1 3 0
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 2 3 3
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 1 1 4
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 Facilidade de uso Peso K T


Tratando-se dos critrios de julgamento mais subjetivos, os relatos
sero baseados nas experincias vivenciadas durante o
desenvolvimento do estudo de caso.
3.1 Facilidade de uso: Essa anlise ficou dividida. Em alguns pontos, 1 3 2
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 WYSIWYG: Ambas as ferramentas dominam bem esse princpio 1 3 3
de Aquilo voc v o que voc obtm, evidentemente requer do
desenvolvedor um bom domnio das boas prticas de
desenvolvimento.
Idem item 3.1.
3.3 Design de tela: Tanto o Kettle quanto o Talend demonstram um 1 3 3
equilbrio na apresentao das telas.
Um bom design desejvel, pois no impede o desenvolvimento
trabalho.
3.5 Necessidade de Treinamento: Sim, fundamental a necessidade 2 2 2
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.
3.6 Integralidade do GUI: Para o projeto proposto no estudo de caso 2 4 4
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 Reutilizao Peso K T
4.1 Reutilizao de componentes: Dentro do projeto foi pouco 2 3 4
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.

84
5 Depurao Peso K T
5.1 Execuo Passo-a-passo: Esse recurso foi pouco explorado, pois 2 2 3
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.
5.3 Ponto de Parada (Breakpoints): As duas ferramentas 2 3 3
disponibilizam esse quesito, porm vale as mesmas observaes
do item 5.1.
Idem 5.1.
5.5 Compilador/Validador: O recurso para validao do grfico 1 3 0
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.

7 Conectividade Peso K T
7.1 Conexes nativas: tanto Kettle como Talend atenderam com 2 4 4
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.
Ter conexo nativa com os principais bancos de dados uma
qualificao obrigatria, j que sem o recurso seria um
impeditivo para desenvolver o trabalho.
7.6 Plataformas: Tanto Kettle quanto Talend prometem 2 4 4
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 Caractersticas Gerais Ferramenta ETL Peso K T
9.1 Verso: As verses Open Source disponibilizadas so to recentes 2 4 4
quanto s verses comerciais.
Esse requisito mostra a importncia que o fabricante d para a
verso Open Source, por isso foi classificada como obrigatria.
9.2 Motor Gerador de Cdigo: Uma das principais diferenas entre 1 4 4
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 Ponderada
Item Requisito Peso K T K T
1 Arquitetura e Escalabilidade 2 4
1.10 Controle de verso do sistema 1 2 4 2 4
2 Funcionalidades ETL 25 27
2.3 Unio. 2 4 3 8 6
2.8 Dimenses de alterao lenta. 2 2 4 4 8
2.10 Tratamento de erros no processamento 1 3 3 3 3
2.11 Anlise de impacto 1 3 0 3 0
2.12 Dados linhagem 2 3 3 6 6
2.13 Documentao automtica 1 1 4 1 4
3 Facilidade de uso 21 20
3.1 Facilidade de uso 1 3 2 3 2
3.2 WYSIWYG 1 3 3 3 3
3.3 Design de tela 1 3 3 3 3
3.5 Necessidade de Treinamento 2 2 2 4 4
3.6 Integralidade do GUI 2 4 4 8 8
4 Reutilizao 6 8
4.1 Reutilizao de componentes 2 3 4 6 8
5 Depurao 13 12
5.1 Execuo Passo-a-passo 2 2 3 4 6
5.3 Ponto de Parada (Breakpoints) 2 3 3 6 6
5.5 Compilador/Validador 1 3 0 3 0
6 Mecanismo de processamento 0 0
7 Conectividade 16 16
7.1 Conexes nativas 2 4 4 8 8
7.6 Plataformas 2 4 4 8 8
8 Garantia de Qualidade dos Dados 0 0
9 Caractersticas Gerais Ferramenta ETL 12 12
9.1 Verses Open Source disponibilizadas 2 4 4 8 8
9.2 Motor Gerador de Cdigo 1 4 4 4 4
NOTA GERAL 95 99
Fonte: Autoria prpria (2011).

87
Tabela 7 - Resumo das Pontuaes por Categoria de Requisitos

Item Grupo Critrios Kettle Talend


1 Arquitetura e Escalabilidade 2 4
2 Funcionalidades ETL 25 27
3 Facilidade de uso 21 20
4 Reutilizao 6 8
5 Depurao 13 12
6 Mecanismo de processamento - -
7 Conectividade 16 16
8 Garantia de Qualidade dos Dados - -
9 Caractersticas Gerais Ferramenta ETL 12 12
TOTAL 95 99
Fonte: Autoria prpria (2011).

Grfico 2 Por Categoria de Requisitos

30
25
20
15
10
5 Kettle
0 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-de-
gerenciamento-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/open-
source_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=1-
170DCRV&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/etl-
extracao-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-Integration-
Features-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 Arquitetura e Escalabilidade Relevncia


1.1 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?

1.2 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?

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

1.4 Grid: Requer processamento de ETL executando em um No


"grid" de computadores ou servidores? Recurso no requerido
no projeto.
1.5 Processamento Distribudo: Exige processamento de ETL No
em diferentes mquinas ou processadores? Recurso no requerido
no projeto.
1.6 Dada pipelining: Demanda por processamento otimizado No
de ETL dividido em fases e executado em diferentes Recurso no requerido
mquinas ou processadores? no projeto.

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.

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

1.9 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)?

1.10 Controle de verso do sistema: O produto contm um Sim


sistema de controle de verso com caractersticas check- Facilitador no
in e check-out? gerenciamento do
Check-in: Submeter ou enviar as alteraes da cpia local desenvolvimento e
ao Servidor atravs do Cliente. controle da
documentao
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 Funcionalidade ETL Relevncia
2.1 Diviso dos fluxos de dados / alvos mltiplos: possvel No
ler a fonte de dados uma vez e carregar os resultados em No explorado pelo
duas ou mais tabelas? projeto
2.2 Diviso Condicional: O mesmo que alvos mltiplos mas No
condicional, por exemplo, se a receita for maior que 1000 No explorado pelo
colocar os resultados na tabela 1 em contrrio na tabela projeto
2.
2.3 Unio: Juno de linhas de diferentes tabelas em uma Sim
tabela de mesma estrutura. Recurso com forte
possibilidade de aplicao.
2.4 Pivoting (Transformando): possvel transformar No
trocando os dados de linhas para colunas e vice-versa. No explorado pelo
projeto
2.5 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

2.6 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

2.7 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?

2.8 Dimenses de alterao lenta: H suporte na ferramenta Sim


para dimenses de alterao lenta? Recurso necessrio para o
(hm = manual; wizard = assistente; auto = arrasta e solta) projeto

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
quando surge um erro especfico? avaliao

2.11 Anlise de impacto: possvel fazer uma anlise do Sim


impacto das mudanas propostas (quando um atributo ou Recurso de apoio para o
tabela mudar) desenvolvimento com
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
impacto invertida) desenvolvimento com
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
consultar por um navegador? documentao

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 Facilidade de uso Relevncia


3.1 Facilidade de uso: A facilidade de uso do produto, se Sim
intuitivo, fcil de aprender e fcil de aplicar em uma base Relevante para
diria? 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
aplicado aos dados? produtividade e
aprendizado
3.3 Design de tela: O design ergonmico de tela bem Sim
equilibrado? Relevante para
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?

3.5 Necessidade de Treinamento: Ser necessrio Sim


treinamento especializado tanto para o desenvolvedor Relevante para
profissional quanto para usurio final de negcios (se for produtividade e
o caso)? aprendizado

3.6 Integralidade do GUI: Qual o percentual das Sim


funcionalidades que podem ser geradas diretamente da Relevante para
GUI (Graphical User Interface)? produtividade e
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 Reutilizao Relevncia
4.1 Reutilizao de componentes: O modelo de Sim
desenvolvimento favorece a reutilizao de Relevante para aplicar
componentes, ou seja, chamada por parmetros (isto no padres de boas prticas
o mesmo que copiar-colar)? de desenvolvimento

4.2 Decomposio: O modelo de desenvolvimento permite No


dividir os processos em pequenos blocos (programao Recurso no explorado
modular)?

4.3 Funes definidas pelo usurio: possvel construir No


funes definidas pelo usurio e utiliz-los no fluxo do Recurso no explorado
processo? no projeto

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-a-
linha, inserir ponto de parada incondicional ou temporizado, etc.

5 Depurao Relevncia
5.1 Execuo Passo-a-passo: possvel executar o fluxo de Sim
processo passo-a-passo? Facilitador no
desenvolvimento
5.2 Execuo Linha por linha: possvel executar o processo No
de fluxo de linha por linha? Recurso no explorado
no projeto
5.3 Ponto de Parada (Breakpoints): Permite definir um ponto Sim
de interrupo em uma etapa do processo em particular Facilitador no
ou uma linha de dados? desenvolvimento

5.4 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?

5.5 Compilador/Validador: possvel validar o fluxo do Sim


processo (e / ou de cdigo) com um clique do mouse e Facilitador no
salvar os registros dos erros? desenvolvimento

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 Mecanismo de processamento Relevncia


6.1 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?

6.2 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?

6.3 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?

6.4 Compactao de dados: Permite movimentao de dados No


compactados na origem? No se aplica ao projeto

6.5 Criptografia de dados: Permite criptografar os dados No


como recurso de segurana da informao? No se aplica ao projeto

6.6 Retransmisso de dados: Em caso de interrupo de um No


processamento, possvel reiniciar a partir do ponto de Recurso no explorado
parada?

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 Conectividade e Plataformas Relevncia
7.1 Conexes nativas: Quantas e quais so as conexes Sim
nativas suportado pela ferramenta de ETL? Recurso essencial para o
(ODBC, OLE DB e arquivos flat excludos) projeto

7.2 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)

7.3 Conexo em tempo real: Quantos e que tipos de No


mensagens enfileiradas de produtos podem conectar-se a No se aplica ao projeto
ferramenta?

7.4 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?

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

7.6 Plataformas: Quais so as plataformas possveis para Sim


executar a ferramenta de ETL? Recurso essencial para
o projeto

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 Garantia de Qualidade dos Dados Relevncia

8.1 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"?

8.3 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

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.

9 Caractersticas Gerais Ferramenta ETL Relevncia

103
9.1 Verso: Verso do produto em avaliao? Open Source Sim
Nota para documentar
9.2 Motor Gerador de Cdigo: A ferramenta fundamentada Sim
em um Motor-Base ou Gerador de Cdigo? Nota para documentar

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 Arquitetura e Escalabilidade
1.10 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 Funcionalidade ETL

2.3 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 de um
atributo/informaes de um elemento (anlise do impacto invertida)

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 um


processo/transformao automaticamente e consultar por um navegador?

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)

3 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 Reutilizao

4.1 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 Depurao

5.1 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 Conectividade
7.1 Conexes nativas: Quanto e quais so as conexes nativas suportadas pela
ferramenta de ETL?
(ODBC, OLE DB e arquivos flat excludos)
7.6 Plataformas: Quais plataformas possveis para executar a ferramenta de ETL?

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 Caractersticas Gerais Ferramenta ETL
9.1 Verso: Verso do produto em avaliao? Open Source

9.2 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