Arquitetura de ETL – alguns comentários em geral
27/11/2011 Deixe um comentário
Não parei para contar mas acho que já trabalhei em +30 projetos até hoje, desde DataMats simples à sistemas globais de empresas como Citibank, Deutsche Bank, Bancos, Seguradoras e Telecom.
A resposta de arquitetura de ETL é quase sempre a mesma : Depende
Depente da Arquitetura, Depende do Tempo, Depende do Investimento, Depende do Tamanho do DW, etc.
Acredito que qualquer que seja a alternativa de Arquitetura, seja Inmon (DW+DM), Kimball ( DM sem DW ) a criação da Staging Area é sempre importante.
Subi um pdf simples sobre arquiteturas nessa pagina ( http://www.cetax.com.br/o-que-e/65-definicao/197-arquiteturadatawarehouse.html )
O que temos feito em nossos projetos é :
Processo de Extração – baseado em CDC, arquivo gerado pelo legado (txt/csv/xml) ou busca de dado usando query. A Extração é bruta, sem transformação, queremos tirar os dados do legado o mais rápido possível. A Extração alimenta a área de staging seja essa área em txt ou banco de dados mesmo, dependendo do volume.
Processo de Transformação – Nessa etapa vamos aplicar qualidade de dados, se não usarmos ferramenta de qualidade, utilizamos uma técnica de um cara chamado Jack Olson, que trabalha com quality screens, que são processos que filtram os dados inválidos, podendo gerar outros processos de correção ou deixam esses dados na staging para serem corrigidos nos sistemas legados, depende da qualificação necessária.
Nessa etapa também fazemos os cálculos, principais agregações, de-paras e outras transformações mais complexas.
Aqui também algumas vezes trabalhamos com uma segunda camada de staging, que chamamos de staging 2, onde já armazenamos os dados transformados.
Processo de Carga para o Data Mart – nessa etapa fazemos as trocas de chaves, preparação para carga das dimensões e fatos. Cálculos, agregações mais simples, etc.
Para os 3 processos criamos também um controle de erros do DW, que vai armazenar principalmente os erros de qualidade de dados, os erros técnicos são tratados pelas ferramentas.
Criamos também uma dimensão chamada dimensão de auditoria, onde todo processo de carga de dados recebe um registro nessa dimensão.
No post anterior do Roberto, tem um item importante que são os SLAs acordados com os sistemas origens e com a própria disponibilização do DW, se os Data Marts forem disponibilizados independentemente uns dos outros, nos permite ter processos de latência menor ou maior de carga.
Acho q é isso !
Abraço a todos,
Marco Garcia.
mgarcia@cetax.com.br
www.cetax.com.br