Documente Academic
Documente Profesional
Documente Cultură
CURITIBA
2011
CURITIBA
2011
Agradecimentos
LISTA DE ILUSTRAES
LISTA DE TABELAS
RESUMO
ABSTRACT
The Migration case report between data base management systems evaluating ETL
tools was elaborated to support the professionals to choose a tool to migrate and
transform general data.
It was developed a methodology to evaluate the tools, a selection between the tables
in the current data base was based on the volume and distinct types of data. After
the table selection, we chose the tools that we were going to evaluate.
We decided to use commercial license tools and two open source tools, Talend and
Apatar. Datastage is a well known tool while the others are still being established in
the market and getting more and more clients.
The ETL tools were evaluated using software engineering - product quality guide
ISO/IEC 9126 and 14598 - 2000. We have evaluated the quality of usage through
effectiveness, productivity, security and satisfaction, the objective was to tell how
much the software product meets or not the users requirement.
Keywords: ETL, Data Base, software quality, data migration
SUMRIO
1.
INTRODUO .......................................................................................................... 11
2.
OBJETIVOS ............................................................................................................. 12
2.1
2.2
3.
Banco de Dados................................................................................................... 13
3.2
3.3
Oracle ................................................................................................................... 15
3.3.1
Descrio ............................................................................................. 15
3.3.2
Histria ................................................................................................. 16
3.3.3
Verses ................................................................................................. 16
3.3.4
Caractersticas ..................................................................................... 17
3.4
Postgresql ............................................................................................................ 18
3.4.1
Descrio ............................................................................................. 18
3.4.2
3.4.3
Verses ................................................................................................. 19
3.4.4
Caractersticas ..................................................................................... 19
3.5
3.5.1
Extrao ............................................................................................... 22
3.5.2
Transformao ..................................................................................... 24
3.5.3
Carga .................................................................................................... 25
3.6
3.6.1
3.6.2
Domnio publico................................................................................... 27
3.6.3
3.6.4
3.6.5
3.6.6
3.6.7
Freeware ............................................................................................... 28
3.6.8
Shareware ............................................................................................ 28
3.6.9
3.6.10
3.7
4.
METODOLOGIA ....................................................................................................... 30
4.1
4.1.1
4.1.2
4.1.3
4.1.4
4.2
4.2.1
Datastage ............................................................................................. 34
4.2.2
Talend ................................................................................................... 35
4.2.3
Apatar ................................................................................................... 37
4.3
Experimento ......................................................................................................... 38
4.3.1
Datastage ............................................................................................. 39
4.3.2
Talend ................................................................................................... 43
4.3.3
Apatar ................................................................................................... 49
4.4
Resultados ........................................................................................................... 54
4.4.1
4.4.2
Efetividade ........................................................................................................ 57
a)
b)
c)
d)
e)
f)
g)
h)
i)
j)
4.4.3
Produtividade ................................................................................................... 59
4.4.4
Segurana......................................................................................................... 60
4.4.5
Satisfao ......................................................................................................... 61
5.
6.
REFERNCIA ........................................................................................................... 64
7.
ANEXOS ................................................................................................................... 67
ANEXO A DDL Tabelas usadas no experimento ....................................................... 67
ANEXO B Ferramenta Ora2pg .................................................................................... 77
11
1. INTRODUO
12
2. OBJETIVOS
Levantar
caractersticas
ferramentas de ETL;
especificidades
para
avaliao
de
13
3. REVISO BIBLIOGRFICA
3.1 Banco de Dados
14
bem
como
relacionamento
entre
as
suas
vrias
unidades
15
Os
SGBD
evoluram
passaram
utilizar
diferentes
formas
de
3.3 Oracle
3.3.1 Descrio
16
3.3.2 Histria
A histria da Oracle se iniciou fim dos anos 70, quando Larry Ellison teve a
iniciativa de comercializar um banco de dados relacional. Ellison e os co-fundadores
da Oracle, Bob Miner e Ed Oates, perceberam que havia um tremendo potencial de
negcios no modelo de banco de dados relacional, mas no se deram conta de que
mudariam a face da computao empresarial para sempre. Inicialmente a Oracle foi
chamada de software development labs (sdl), uma empresa de consultoria que
contava com Bob Miner (Presidente), Ed Oates e Bruce Scott (engenheiros de
software) no seu primeiro projeto. Larry Ellison, trabalhava na empresa para a qual a
sdl prestava a consultoria.
A Oracle o principal fornecedor de software para gerenciamento de
informaes e a segunda maior empresa de software independente do mundo.
3.3.3 Verses
17
3.3.4 Caractersticas
18
3.4 Postgresql
3.4.1 Descrio
19
3.4.3 Verses
3.4.4 Caractersticas
20
Chaves estrangeiras;
Triggers;
Views;
Integridade transacional
Controle de simultaneidade multi verso.
O PostgreSQL pode ser ampliado pelo usurio de muitas maneiras, como:
Incluso/criao de tipos de dado;
Funes;
Operadores:
Funes de agregao;
Mtodo de ndice;
Linguagens procedurais.
O PostgreSQL tem mais de 15 anos de desenvolvimento ativo e uma
arquitetura que ganhou forte reputao de confiabilidade, integridade de dados e
conformidade a padres.
Ele roda em todos os grandes sistemas operacionais, incluindo GNU/Linux,
Unix (AIX, BSD, HP-UX, SGI IRIX, Mac OS X, Solaris, Tru64), e MS Windows.
totalmente compatvel com ACID, tem suporte completo a chaves estrangeiras,
junes (JOINs), vises, gatilhos e procedimentos armazenados (em mltiplas
linguagens).
Inclui a maior parte dos tipos de dados do ISO SQL:1999, incluindo
INTEGER, NUMERIC, BOOLEAN, CHAR, VARCHAR, DATE, INTERVAL, e
TIMESTAMP.
Suporta tambm o armazenamento de objetos binrios, incluindo figuras,
sons ou vdeos. Possui interfaces nativas de programao para C/C++, Java, .Net,
Perl, Python, Ruby, Tcl, ODBC, entre outros.
21
Tablespaces;
Replicao assncrona;
extrao
carga
so
obrigatrias
para
processo,
sendo
22
3.5.1 Extrao
A primeira parte do processo de ETL a extrao de dados dos sistemas de
origem. Essa extrao pode produzir diversos tipos de arquivos, como por exemplo,
para um simples arquivo de texto, para um arquivo com delimitadores, para arquivos
de hash e proprietrios da ferramenta, como por exemplo o dataset que um
23
arquivo prprio do datastage, uma ferramenta que ser abordada nos prximos
tpicos.
Na figura 3, podemos ver que uma extrao pode ser efetuada de uma base
de dados qualquer, como do db2, para um flat file, do Oracle para um dataset, e
tambm podemos extrair as informaes a partir de planilhas Excel, no
necessariamente de bases de dados.
A maioria das ferramentas de ETL consolida dados extrados de diferentes
sistemas de origem. Cada sistema pode utilizar um formato ou organizao de
dados diferente. Formatos de dados comuns so bases de dados relacionais e flat
files (tambm conhecidos como arquivos planos), mas podem incluir estruturas de
bases de dados no relacionais. Como exemplo, podemos pensar em um campo
tipo date, na base de dados possui um determinado formato, mas durante a
extrao, podemos especificar qual o formato da data desejamos. Exemplos: YYYYMM-DD (base), DD/MM/YYYY (resultado da extrao). A extrao converte para um
determinado formato para a entrada no processamento da transformao.
24
3.5.2 Transformao
25
Gerao
de
chaves
artificiais
para
data
warehouse
(tambm
3.5.3 Carga
26
Existe uma confuso quando se fala em software livre, pois muitas empresas
afirmam que seu produto um software livre, porm necessrio verificar os termos
27
3.6.1
3.6.3
Software protegido com copyleft significa que toda cpia do software, mesmo
que tenha sido modificada, precisa se livre.
28
Software semi-livre software que no livre, mas que vem com permisso
para indivduos usarem, copiarem, distriburem e modificarem (incluindo a
distribuio de verses modificadas) para fins no lucrativos.
3.6.7 Freeware
3.6.8 Shareware
Shareware um software que vem com permisso para redistribuir, mas diz
que qualquer uma que continue usando uma cpia deve pagar por uma licena. No
um software livre, ou mesmo semi-livre.
29
30
4. METODOLOGIA
4.1 Modelo do Experimento
Devido a polticas do governo federal, muitos rgos pblicos esto tendo que
migrar software proprietrio para software livre. O motivo simples, economizar
com licenas pagas.
Para o avaliarmos as ferramentas de ETL, proporemos um projeto piloto,
onde migraremos sete tabelas, sendo que para duas delas, adicionaremos algumas
transformaes especificas.
4.1.1 Modelo de Dados proposto
Edificacao;
UnidadeAvaliacao;
Territorial;
Pessoa_Territorial;
Pessoa_Edificacao;
Valores_Imoveis;
O Anexo A traz maiores detalhes sobre os nomes de campos e tipos de
dados. As chaves e relacionamentos podem ser verificados na figura 6 aonde temos
o Modelo Relacional Reduzido.
31
Numero de Registros
PESSOA
923173
EDIFICACAO
267913
TERRITORIAL
159662
UNIDADEAVALIACAO
440187
PESSSOA_EDIFICACAO
283404
PESSOA_TERRITORIAL
162016
VALORES_IMOVEIS
142111
32
Tipo do Dado
RazaoSocial
Varchar
Bairro
Varchar
ValorAvaliacao Decimal
Tabela 2 Tabela Imovel_Avaliado
Tipo de Dados
Integer
Oracle
NUMBER
PostgreSQL
SMALLINT (16-bit), INTEGER (32bit), BIGINT (64-bit)
Floating point
Decimal
BINARY_FLOAT,
BINARY_DOUBLE
(64-bit)
NUMBER
DECIMAL, NUMERIC
33
String
NCLOB, NVARCHAR2,
NCHAR
Binary
BYTEA
BFILE
Date/Time
DATE, TIMESTAMP
(with/without TIMEZONE),
TIMEZONE), TIMESTAMP
INTERVAL
Boolean
N/A
BOOLEAN
Outros
ORACLE
Sistema Operacional
JOIN
FUNES
PostgreSQL
(PostgreSQL 8.0)
FROM t1, t2
FROM t1
DECODE
(sexo,
'Masculino',
THEN 'Masculino'
'F', 'Feminino')
NVL
COALESCE
sysdate, systimestamp
current_date, current_timestamp
34
UNION
MINUS
EXCEPT
Clausula LIMT e
ROWNUM, ROWID
Catalogo de sistema
SYS, SYSTEM
pg_catalog, information_schema
Vises materializadas
Possui vises
materializadas
OFFSET
4.2.1 Datastage
O Datastage uma ferramenta lder de mercado quando se falam em
Business Intelligence e ETL. Esta ferramenta permite integrao de dados com
mltiplas plataformas, capaz de processar altssimos volumes de dados. Tem uma
interface grfica muito amigvel, possui dezenas de conectores e estgios para
manipulao de dados.
O Datastage pertence a IBM (IBM Infosphere Datastage), mas iniciou numa
empresa chamada VMark. Seu primeiro prottipo foi desenvolvido por Lee Scheffler,
no ano de 1996. A Vmark adquiriu a Unidata e se tornou a Ardent Software, que
mais tarde se foi comprada pela Informix e se tornou Ascential Software. No ano de
2005 a IBM comprou a Ascential Software.
a) Produtos
35
valida,
executa,
monitora,
agenda
mostra
b) Tecnologia
c) Aplicaes
Agregao de dados;
4.2.2 Talend
36
a) Produtos
b) Tecnologia
Plataforma: Eclipse
c) Aplicaes
37
Integrao de Aplicaes;
Agregao de dados;
4.2.3 Apatar
a) Produtos
38
b) Tecnologia
c) Aplicaes
4.3 Experimento
Uma agregao que determinara o valor total dos imveis por bairro.
39
4.3.1 Datastage
40
41
42
43
4.3.2 Talend
44
45
46
47
48
49
4.3.3 Apatar
50
E na tela seguinte basta escolher qual tabela ser a tabela fonte, neste caso,
a tabela pessoa. Aps o termino da configurao do conector de banco de dados
fonte, necessrio fazer o mesmo para o conector do banco de dados de destino.
Uma vez que conectores fonte e destino estiverem configurados, possvel fazer o
mapeamento das colunas fonte e destino atravs do operador Transform.
Este mapeamento feito de maneira manual, o que pode ser bem trabalhoso para
uma tabela que contenha muitas colunas.
Abaixo podemos ver o mapeamento das colunas no Transform:
51
52
Assim como o Talend, o Apatar tambm possui apenas dois links para joins.
Outra dificuldade encontrada foi que o Apatar no faz multiplicao ou diviso de
valores. Ento tivemos que criar uma tabela staging no PostgreSQL para carregar o
resultado dos joins e ento acrescentamos mais um conector PostgreSQL onde
fizemos a multiplicao das colunas VALOR e NRAREAGEO atravs de uma query,
conseguindo assim carregar os dados do caso proposto na tabela imvel_avaliado.
53
54
4.4 Resultados
a) Qualidade em Uso
55
56
57
Grfico 1 Efetividade
58
59
4.4.3 Produtividade
Grfico 2 Produtividade
a) Agendamento de processos:
possvel agendar processos nas trs ferramentas utilizadas.
O agendamento de processos no Apatar feito de maneira simples, utilizando
a mesma ferramenta onde o processo criado.
No Datastage o agendamento feito via Datastage Director.
b) Tempo para fazer mapeamento em tabelas com mais de 20
colunas:
O resultado foi insatisfatrio para o Apatar, pois o mapeamento feito de
maneira manual, coluna a coluna, o que demanda muito tempo para tabelas com
diversas colunas.
J o mapeamento de colunas no Datastage e Talend pode ser feito de
maneira automtica.
c) Tempo para criar um
complexidade alta:
processo
com
transformao
de
60
com
transformao
de
4.4.4 Segurana
Grfico 3 Segurana
61
4.4.5 Satisfao
Grfico 4 Satisfao
a) Satisfao geral:
O nvel de satisfao do Talend levando em considerao os processos
criados neste experimento pode ser comparado ao nvel de satisfao Datastage.
Lembrando que o Talend uma ferramenta de software livre, e este atendeu nossas
necessidades e no tem custo, o que torna o Talend uma ferramenta adequada para
negcios onde um grande investimento em uma ferramenta de ETL no vivel.
O nvel de satisfao do Apatar foi satisfatrio, as caractersticas que mais
deixaram a desejar foram como mencionado anteriormente a necessidade de
trabalho manual e a ausncia de alguns operadores que necessitvamos.
O Datastage uma ferramenta muito utilizada no mercado e j bastante
consagrada, sendo muito estvel, porem com custo elevado para certos negcios.
62
63
5. CONSIDERAES FINAIS
64
6. REFERNCIA
65
66
67
7. ANEXOS
ANEXO A DDL Tabelas usadas no experimento
-- Sequence: seq_territorial
-- Table: territorial
68
69
-- Index: territorial_idx1
-- Index: territorial_idx2
70
-- Table: edificacao
71
WITH (OIDS=FALSE);
ALTER TABLE edificacao OWNER TO postgres;
-- Table: unidadeavaliacao
72
73
-- Index: undaval_idx_aut
-- Table: pessoa
74
-- Table: pessoa_edificacao
75
WITH (OIDS=FALSE);
ALTER TABLE pessoa_edificacao OWNER TO postgres;
-- Table: pessoa_territorial
76
77
78
79