Etl 2008.1

Componentes: Janildo Santos Silva, Ismael Alves dos S. Filho, Adriana Lazara
Turma: Noite
Tema: 03 ETL


UM POUCO SOBRE DATA WAREHOUSE

Mais ou menos na década de oitenta Bill Inmon, um experiente administrador de banco de dados e
tecnologias afins, pensou numa maneira de como os dados gerados no dia-dia de uma organização poderiam ser melhor aproveitados, como instrumentos de apoio à decisão aos seus gestores. Inmon vislumbrou a necessidade do mercado de uma ferramenta que possibilitasse ao gestor realizar uma consulta de alta performance sobre uma robusta base de dados carregada com informações de um longo período de tempo. Baseando-se nisso, Inmon traçou uma das definições mais clássicas do conceito de data warehouse, uma coleção de dados orientados a assunto, não volátil, integrados e variáveis no tempo para suporte ao processo gerencial de tomada de decisão.
O DW (data warehouse) ou simplesmente armazém de dados, é um grande repositório de dados carregado pelos dados oriundos dos sistemas do ambiente operacional. Quando Inmon citou que seria uma coleção de dados orientados a assuntos, ele quis explicar que no ambiente do data warehouse o que importa é o assunto da organização. Na maioria das vezes os sistemas e bases de dados existentes numa empresa estão voltados para funções e/ou processo. Sistemas de cadastro de clientes, de administração, financeiro, todos para automatizar os processos. Quando pensamos em data warehouse nos voltamos para o assunto ou negocio da organização. Por exemplo se estamos numa grande rede de supermercados, assuntos como vendas, estoque, são assuntos do negocio, que interessam e ajudam a gestão nas estratégias para aumento de lucro a serem adotadas.
A não volatilidade citada pelo “pai” do data warehouse, traduz a ausência de transação existente neste ambiente. No data warehouse só existem duas ações na manipulação dos dados, a carga e a consulta. Ou seja não existem operações de inserção, edição, exclusão, o que permite ao ambiente ter uma estrutura simples, sem a preocupação com operações de transações ou recovery, favorecendo assim a performance.
Outra característica importante é a integração existente. No ambiente operacional geralmente cada projetista, adota o seu padrão na convenção dos nomes, consistência das variáveis de medidas e assim por diante. No data warehouse um padrão é definido junto aos usuários e então, toda a base seguirá o padrão adotado. Por exemplo, se no ambiente operacional o sexo do cliente vem como “m” e “f” de uma aplicação e “H” e “M” de outra, ao passar para o data warehouse, um único padrão é adotado e os dados que diferem deste, são transformados de acordo ao padrão no intuito da integração. Para atender esta necessidade nasceu o ETL como ferramenta de manipulação de dados, possibilitando assim a aplicação dos padrões definidos e o seu armazenamento no DW.

VAMOS ENTENDER O QUE É ETL?

A origem da sigla ETL,vem do inglês Extract Transform Load (Extração, Transformação e Carga), é o processo de extrair dados de um banco de dados transformá-los de alguma forma e inseri-los em outro banco de dados especial, o Data warehouse, essa etapa e tida como crucial no processo de construção do DW onde os dados são passados por um filtro antes de serem carregados, na tentativa de garantir a consistência e integridade dos mesmos, todos os tratamentos visam atender os requisitos do negócio levantados junto ao usuário.

fig1.JPG

AS TRÊS ETAPAS DO PROCESSO DE ETL

EXTRAÇÃO
Com os requisitos do negócio que irão compor o Data WareHouse levantados, iniciamos então a primeira etapa do processo da ETL, a extração dos dados do ambiente operacional que realmente importam na construção e carga dos dados no DW.
Estes dados a serem extraídos podem ser originados de múltiplas fontes do ambiente operacional, como arquivos TXT ou XML, planilhas ou até base de dados diferentes da do DW. O ambiente operacional é composto de vários dados / registros que contém informações que podem ser úteis ou não para a construção do data wareHouse.
Assim, esta etapa é responsável por realizar a seleção e extração dos dados das distintas fontes que realmente serão relevantes para a montagem do data warehouse. Durante o processo da extração, apenas os dados que são úteis e relevantes ao negocio, são extraídos para o Data WareHouse.
Alem da seleção realizada neste processo, também alguns tratamentos são realizados em cima dos dados. Tratamentos como por exemplo o de datas, que podem estar vindo num formato AAAAMMDD, e segundo os requisitos levantados, existi a necessidade da informação estar no formato MMAAAA.
Outra atividade realizada durante a extração é a identificação dos registros que foram modificados e generalização das chaves nas dimensões em modificações. Isto é importante para que no momento de ser realizada a carga dos dados, a informação existente anteriormente não seja perdida pela inserção do novo registro com o valor alterado. Para controle destas modificações, existem algumas estratégias que a equipe do DW define, para se ter este controle dos dados alterados, permitindo assim se ter o histórico de alterações. Para o controle de alterações, uma estratégia que pode ser adotada é inclusão de uma data de inativação nas tabelas, para que assim possamos identificar quais registros no data warehouse estão atuais e quais foram modificados. Já para a generalização das chaves nas dimensões, podemos adotar uma técnica orientada por Kimball, denominada de chave derivada onde a chave é formada pela chave original da tabela juntamente a dois dígitos que significam a versão do registro, contudo deve se ter à garantia que a chave original não se altere.
Desta forma, com o processo de extração, os dados são selecionados no ambiente operacional e extraídos e então encaminhados para área de stage, aonde poderão sofrer algumas transformações antes de serem carregados no data warehouse.

TRANSFORMAÇÃO
Pode-se dizer que esta é a etapa mais cautelosa da ETL. Esta etapa de transformação, conforme já comentado ocorre preferencialmente na área de stage.
É nesta etapa que tentamos garantir aos usuários do DW, a integração e confiabilidade dos dados armazenados. Para isto realizamos uma seria de transformações e acabamos também por filtrar apenas o que será necessário para carga do DW.
Dentre as diversas funções e atribuições que podem ser executadas destacamos algumas que são descritas abaixo:
• Limpeza dos dados – Corrigir possíveis dados “sujos”, ou seja dados que chegam nesta área de stage que não serão aproveitados, por motivos de má digitação no ambiente operacional ou duplicidade de registros.
• Codificação - devido à informação estar vir de diversas fontes de dados, pode ocorrer da mesma ser carregada de diferentes maneiras, existindo então a necessidade de se convencionar um padrão para garantir a qualidade do dado no data warehouse. Por exemplo, ao extrair os dados de clientes das múltiplas fontes do operacional, a informação se o mesmo tem filho ou não pode ser representada de diversas formas, “S” ou “N”, “0” ou “1”, ”sim” ou “não”. No entanto ao se convencionar o uso de “S” e “N”, um trabalho de integração e codificação deve ser realizado transformando todos as outras representações para este formato único.
• Atributos de medidas – assim como data, representação de sexo as unidades de medidas também devem ser tratadas para que os dados que farão parte do data warehouse sejam armazenados em uma única unidade de medida.

No processo de transformação, os dados podem podem estar no ambiente operacional, de forma duplicados ou com “sujeiras”, ou em branco. Se não for tomado um cuidado especial para a transformação desses dados, o objetivo do Data WareHouse pode ser perdido e as informações não poderão ser consideradas consistentes.
Na transformação, também alguns cálculos e sumarizações de valores são realizados com o objetivo de acelerar mais ainda o processamento da carga que estará por vir.
Assim durante a etapa da transformação, tenta se tomar todos os cuidados para que ao realizarmos a carga no data warehouse, tenhamos dados em que o usuário possam ter a maior confiabilidade do que estão acessando.

extracao.JPG

CARGA
É a etapa final da ETL. Os dados teoricamente já se encontram limpos e transformados.
Este é o momento de ser realizada a carga dos dados da área de stage para o data warehouse em si. Depois de realizada todas as transformações, codificações, sumarizações já calculadas, os dados se encontram num ponto aceitável, assumindo que estão com todos os requisitos atendidos, para serem carregados no data warehouse.
Porem, antes da realização da carga, deve se realizar mais uma verificação. A verificação da integridade dos dados, realizando a validação das chaves estrangeiras com suas respectivas chaves primarias, confirmando que a informação realmente consiste.
Outro ponto a ser definido nesta etapa, é se a carga a ser realizada será incremental ou total. Definir que a carga seja incremental, quer dizer que os dados serão apenas adicionados ao data warehouse. Já com a carga do tipo total, os dados existentes serão excluídos e os dados são re-inseridos. Geralmente orienta-se que a carga incremental seja realizada em tabelas fatos e a carga total em dimensões. Isto porque os dados das dimensões não sofrem tantas alterações e tendem a manter e a ocupar o mesmo espaço com um pequeno crescimento ao longo do tempo. O que em relação às tabelas fatos isto não ocorre, pois são entidades que tendem a ter um crescimento continuo, devido a armazenarem informações consolidadas do assunto, obtidas e guardadas do dia-dia da organização.
Sugere se nesta etapa também a realização de alguns tratamentos dos dados que foram rejeitados durante as transformações, apenas para se manter um controle mais eficiente do processo.
Desta forma a carga de dados depois de realizada com sucesso, completa o ciclo do processo denominado ETL.

RELAÇÃO DA ETL COM COMPILADORES

O ETL é uma ferramenta que busca dados em um repositorio e transforma alguns dados conforme um padrão e tem como saida informações em uma estrutura a qual servirá como elemento norteador na tomada de decisão, e compiladores faz tradução de textos fontes de uma linguagem e como saida gera um texto objeto equivalente ao de entrada.

FERRAMENTAS E APLICAÇÕES ETL MAIS POPULAR NO MERCADO
• IBM Websphere DataStage (anteriormente conhecido como Ascential DataStage e Ardent DataStage)
• Informatica PowerCenter
• Oracle Warehouse Builder
• Ab Initio
• Pentaho Data Integration - Chaleira Project (open source ETL)
• SAS ETL estúdio
• Cognos Decisionstream
• Business Objects dados integrador (BODI)
• Microsoft SQL Server Integration Services (SSIS)

NOVIDADES DE PLATAFORMA ETL NO SQL SERVER 2005
O SSIS é uma plataforma do SQL Server 2005 que oferece a amplitude de recursos e o desempenho de alta escala necessários ao desenvolvimento de aplicativos de ETL, é totalmente programável, incorporável e extensível. O SQL Server 2005 oferece suporte a dados não tradicionais Serviços da Web, XML, o SSIS permite a análise dos dados sem a necessidade de persistir os dados, os recursos de mineração de dados e mineração de texto podem ser executados no fluxo de dados

REFERÊNCIAS
http://pt.wikipedia.org/wiki/ETL
http://www.microsoft.com/brasil/technet/Colunas/prodtechnol/sql/2005/realetldp.mspx
http://www.sybase.com.br/products/dataintegration/etl.shtml
Data Ware House Toolkit (Ralph Kimball, Prefacil de W.H Inmon)Editora Makron Books.

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License