Arquitetura de ETL – alguns comentários em geral

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

ETL – Onde encontramos problemas de performance

Pessoal, sempre procuro escrever posts que sejam genéricos, possam ser utilizados em qualquer banco de dados e ferramentas.

Olhando para a performance dos ETLs podemos encontrar diversos desafios, o principal problema é que a maioria dos programadores está acostumado a trabalhar com programação procedural, o ETL deve ser focado em Load..em massa de dados, deve-se fazer o maior numero de operações de 1 vez só.

Os ETLs podem ter 3 problemas principais de performance :
* Na extração (E) – momento em que tiramos os dados da origem, nesse momento o que deve ser otimizada a query que extrai os dados ou a leitura do txt/xml da origem.

* Na transformação (T) – esse é o momento que mais ocorrem os problemas de performance, pois podem ser usadas funcoes, procedures, conexoes externas, dblinks ou linkedserver, tudo isso acaba com a performance do ETL. Em transformação devemos trabalhar bem as lookups (busca de dados) e tabelas de pré processamento, para evitar que cada linha faça uma busca fora do ambiente de ETL.

* Na carga/load (L), no momento que inserimos os dados no target, performance do banco de dados de destino, staging ou warehouse. Nesse momento deve ser identificado como é atualização dos dados, indices, se existem constraints ou não.

Vemos que o tunning de banco impacta diretamente na na extração e loading, sempre é interessante fazer tunning nas queries de extração e nos processos de insert e update.

Acho que é isso, depois vou detalhar itens mais técnicos

Abs,
Marco.

www.cetax.com.br

Curso de Desenho e Projeto Data Warehouse Brasilia (Noturno)

O treinamento tem como objetivo ensinar as principais características de um Data Warehouse, seu levantamento e documentação, o processo de modelagem dimensional eprocesso de carga dos dados (ETL).

Conteúdo programático:
Business Intelligence e Data Warehouse – Conceitos e Fundamentos – 8 horas
Ciclo de Vida do Data Warehouse – 8 horas
Modelagem Dimensional de Dados – 16 horas
Projeto e Arquitetura de ETL – 8 horas

Carga horária: Total de 40 horas
Período: de 24/01/2011 a 04/02/2011 das 19h00 as 22h30 (segunda a sexta-feira)
Local: Brasília/DF (CETDF)
Investimento: R$ 3.000,00 – A vista com 10% de desconto ou em até 6 X sem juros, através de boleto bancário.

Contato para inscrições: (11) 3373-7514 ou treinamento@cetax.com.br

Curso de Data Warehouse – Ultimas vagas

Esse curso será uma versão resumida da formação de Analistas de Data Warehouseda Cetax, com 24 horas aula. O objetivo será fornecer uma visão geral e um métodopasso a passo para construção de Data Warehouses, através dos seguintes módulos:

- Business Intelligence e Data Warehouse - Conceitos e Fundamentos – 4 horas
- Ciclo de Vida do Data Warehouse – 4 horas
- Modelagem Dimensional – 8 horas
- ETL – 4 horas - Laboratório de ETL – 4 horas

Os interessados participarão de um processo seletivo concorrendo a uma vaga de estágio na Cetax.

Para fazer sua inscrição ligue:
(11) 3373-7514
ou mande um e-mail:
treinamento@cetax.com.br

Seguir

Obtenha todo post novo entregue na sua caixa de entrada.

Join 291 other followers