O documento discute o processo ETL (Extract, Transform, Load) que é uma etapa importante em projetos de Business Intelligence. Ele explica que cada ferramenta de ETL possui características próprias, mas os conceitos gerais são semelhantes entre fornecedores. Também descreve tarefas comuns em packages ETL como lookups e processamento de dimensões. Finalmente, discute fatores que afetam o tempo de processamento dos packages ETL.
A06 paper - perfil business intelligence - por onde, como e quando começar
ETL Business Intelligence
1. PERFIL BUSINESS INTELLIGENCE
marcelokrug@gmail.com SEU PAPER PELA INTERNET Desde Março/2015 – pp17
O processo ETL, que penso ser o mais
importante, quando estamos trabalhando em
projetos Business Intelligence deve estar
sempre bem definido. Cada ferramenta possui
suas particularidades. A estrutura e conceitos
são semelhantes entre os fornecedores, e as
particularidades ficam em ter mais ou menos
recursos disponíveis.
As particularidades podem ser componentes
como propriedades para processamento de
informações de georeferenciamento ou
lookups mais abrangentes.
O BUSINESS INTELLIGENCE E O ETL
Após ter definido a sua modelagem no data
warehouse, esta é a sua próxima etapa. E,
dependendo da complexidade e quantidade de
objetos, pode ocupar grande parte do tempo do
projeto.
O processo de ETL, depois de definidas regras de
execução, é colocado em ferramentas de
agendamento. Ou até mesmo executados
manualmente. O que raramente acontece.
É normal que seja controlado do início ao fim o
processamento ou a execução dos packages que
foram criados. Package é a identificação o arquivo
ou conjunto de tarefas que cria-se nas ferramentas
de ETL. Vários tipos de tarefas podem estar
presentes em cada package. E cada uma delas tem
seu “log” quando algo corre mal. Ou bem demais.
A estrutura inicial e padrão de um package, ou
melhor, a finalidade de um package é: conectar
uma origem e um destino. No meio disso tratar os
dados da origem para que sejam devidamente
inseridos na estrutura criada e definida como
destino no package.
As tarefas mais comuns que encontramos são
lookups, onde temos a informação da origem vinda
como um código, por exemplo, e ao fazer o lookup
à tabela do conteúdo referido o retorno é o ID da
informação. Isso quando estamos processando
uma fact table.
www.bibrasil.net
Quando executamos os packages das dimensões, é muito da regra
estabelecida no projeto que nossas ações estarão definidas. Ou seja,
quando define-se que a regra é “limpar” todos os dados da dimensão
Clientes então apenas apago e insiro novamente. Podemos inserir apenas
aquilo que há de novo, como podemos inserir o que há de novo para um
determinado registro existente e setar o antigo de forma que esteja
identificado que não está mais válido/ativo. Tecnicamente chamamos de
slowly changing dimensions. Que normalmente pode ser configurada com
uma flag de ativo/inativo, uma data de inicio e fim, flag de ativo/inativo e
data de inicio e fim. Porém, devido ao tipo de negócios pode levar outras
definições.
O processamento dos packages ETL pode levar minutos e até horas. O
tempo elevado pode estar relacionado inicialmente à:
- Grande quantidade de dados na origem;
- Complexidade nas regras do package aliada à grande quantidade de
dados;
- Rede de dados;
- Processos em paralelo, podem ser da base de dados na origem ou
destino, software de anti-vírus;
Quando acaba-se o processamento do package, convém equipes ou
pessoas serem avisadas. Por mail é o mais comum. E isso ajuda na rápida
intervenção quando necessário. Pois a maioria dos grandes
processamentos são realizados quando a atividade nas bases
transacionais é baixa. Portanto, nas madrugadas. O horário mais comum
é 00:30 como início e último package tendo como limite 07:00. Este é o
ciclo diário de um processamento de package em grandes e complexos
ambientes.