Baixe o app para aproveitar ainda mais
Prévia do material em texto
Data Warehouse ETL Rodrigo Leite Durães rodrigo_l_d@yahoo.com.br Introdução • Um dos desafios da implantação de um DW é a integração dos dados de fontes heterogêneas e complexas, padronizando informações, mantendo sua consistência. • A maioria dos projetos gasta a maior parte do tempo e dos esforços nessa fase. • O sucesso do DW depende, em grande parte, da eficiência e eficácia do processo de ETC. • Nesse processo há necessidade de criar as rotinas de extração dos dados que podem ser desenvolvidas por programadores em qualquer linguagem de programação ou pode-se utilizar ferramentas específicas para isso. Visão Geral • Essas ferramentas proporciona mais produtividade e qualidade ao processo de integração. • Para que a integração de dados seja bem sucedida, é preciso escolher uma ferramenta que ofereça funcionalidades capazes de atender os requisitos do processo de ETC. • Assim, para escolher a ferramenta adequada, é necessário verificar suas principais características e recursos, fazendo um comparativo entre as opções disponíveis para identificar aquela que melhor atende às necessidades do processo de ETC. • É um processo trabalhoso, complexo e detalhado, mesmo com o auxílio das ferramentas de ETC disponíveis hoje em dia. ETC • Primeiramente são definidas as fontes de dados e realizada a extração, que consiste em coletar os dados das diversas fontes em diferentes plataformas. O segundo passo consiste em limpar e transformar esses dados. Com isso são eliminadas as inconsistências e realizada a padronização dos dados para garantir que o DW possuirá informações válidas, úteis e significativas. Após garantir a consistência, pode-se carregar os dados no DW. • Assim, para possibilitar maior produtividade, evitando atrasos e re-trabalho, o ideal é determinar o melhor caminho para o transporte dos dados fontes para o DW antes de iniciar a construção das rotinas de ETC. • Para fazer a melhor escolha, deve-se priorizar os requisitos do processo de ETC e selecionar a ferramenta que fornece a maioria deles. ETC • Para isso, é necessário realizar o projeto ETL do DW, analisar os dados fontes, identificar os mapeamentos de dados, obter ou criar os dados externos, determinar a lógica de conversão dos dados e especificar as rotinas de ETC. • Existem sistemas que são programados para detectar automaticamente a ocorrência de mudanças significativas nas fontes, tornando o processo de atualização mais transparente para o usuário. Alterar a aplicação que gerencia a fonte de informação a fim de enviar notificações de alteração para o DW. • Detectar modificações através da comparação dos registros correntes da fonte com os registros carregados anteriormente. À medida que os dados das fontes aumentam, o número de comparações deve aumentar, o que pode inviabilizar o processo. ETC • Uma estratégia p/ não inviabilizar é utilizar, também, o limite de data. • Analisar o arquivo de log do sistema procurando por modificações significativas. • Antes de publicar os dados, é necessário avaliar a integridade da carga. Se a carga estiver correta os dados são disponibilizados para os usuários. Caso o processo de carga esteja incompleto ou haja dados violados toda a carga deve ser executada novamente. ETC • Há soluções com custo zero de aquisição pois vêm embutidas em um SGBD, como por exemplo o PL/SQL no Oracle e o DTS no SQL Server. • Tais recursos podem ser utilizados para realizar o ETC, mas podem ser limitados exigindo uma maior codificação dos processos. • Além disso, podem ser restritas, já que geralmente fornecem suporte apenas ao SGBD que acompanham, enquanto as ferramentas ETC completas podem fornecer suporte a diversos tipos de arquivos e SGBDs. ETC • As ferramentas ETC próprias, desenvolvidas utilizando alguma linguagem de programação, apesar de atender às necessidades, podem tornar o processo de manutenção dos procedimentos ETC muito complexo. Além disso, caso o processo de transformação e limpeza seja complexo, pode haver perda de performance com o uso de linguagens procedurais. • Os produtos de mercado podem variar de ferramentas mais simples e baratas até ferramentas completas, robustas e mais caras. • Essas ferramentas permitem maior produtividade na criação e manutenção do processo ETC, fornecem métodos de captura/integração de metadados, permitem documentação do projeto e dos processos, pode fornecer interface gráfica para o desenvolvedor permitindo edição, verificação de sintaxe, acesso aos SGBDs, além de proporcionar segurança e organização do projeto tipicamente a partir de um único ponto de acesso. Tipos de ferramentas • As ferramentas encontradas tipicamente podem ser instaladas no servidor ou no cliente. • As ferramentas que executam no servidor permitem execução de tarefas concorrentes de mais de um desenvolvedor. Essas ferramentas são projetadas para coordenar e gerenciar a execução de diversas rotinas simultâneas, podendo também fazer uso de múltiplos processadores. • As ferramentas instaladas no cliente são mais simples e assumem que as rotinas são executadas na mesma máquina em que são desenvolvidas. A concorrência entre múltiplas tarefas é limitada, se existir, é geralmente não é suportado o escalonamento de tarefas em máquinas com múltiplos processadores. Essas ferramentas são mais baratas porém possuem funcionalidade e escalabilidade limitados. Critérios para escolha da ferramenta Arquitetura Geral • Plataforma de execução do produto: pode restringir a capacidade de expansão sem adicionar mais servidores quando houver crescimento do volume de dados. Extração e Carga de Dados • Suporte nativo aos principais SGBDs, bem como suporte a conexão ODBC para um vasto conjunto de bancos de dados. Integração de Dados • Suporte a diversos formatos de dados, incluindo COBOL, ASCII, Excel e XML • Nível de integração com aplicações de terceiros, incluindo sistemas de ERP Critérios para escolha da ferramenta Limpeza e Transformação de Dados • Transformação baseada em regras: possibilidade de especificar qual transformação será executada somente quando determinada condição ocorrer, sendo capaz de juntar diversas regras de maneiras diferentes. Administração • Apresentar administração centralizada: é preciso ter um único lugar para visualizar o processo ETC inteiro, mesmo se as tarefas estiverem executando em diferentes plataformas de origem e destino e diferentes sistemas operacionais. Ambiente de Desenvolvimento • Ambientes gráficos de interface com o usuário. Concorrência e Segurança • Número de possíveis usuários e desenvolvedores concorrentes Tratamento de Erros • Recuperação de falhas: se ocorrer algum erro a ferramenta ETC é capaz de voltar o sistema a um estado consistente conhecido Gerenciamento de Metadados • Repositório de metadados centralizado contendo no mínimo informações relativas a fontes de dados, destinos e transformações. Critérios para escolha da ferramenta Performance • Características que permitem processamento distribuído e particionado para obter uma performance melhor. Programação de Execução de Tarefas (Scheduling) • Habilidade de programar a execução de sessões ETC em um determinado tempo ou evento. Continuidade • Capacidade de suportar o nível de processamento em caso de crescimento de origens, destinos e volumes de dados. • Facilidade de desenvolver e modificar tarefas e rotinas. • Freqüência e complexidade das atualizações do produto. • Capacidade de suporte para o crescimento da plataforma. Critérios para escolha da ferramenta Custo • O custo podelimitar as opções de aquisição de uma ferramenta ETC, já que os orçamentos dispõem de recursos limitados que nem sempre permitem a escolha da melhor ferramenta Conformidade • Suporte aos tipos de origens de dados a serem utilizados, por exemplo, arquivos de mainframe. • Disponibilidade do recurso de importação ou exportação de metadados com ferramentas específicas utilizadas no desenvolvimento do DW. Critérios para escolha da ferramenta • A idéia é construir uma lista simples de seis ou sete ferramentas que atendam a maioria dos requisitos. • Cada ferramenta deve ser avaliada o máximo possível, utilizando informações publicitárias. • Deve-se entrar em contato com um vendedor para obter as informações necessárias. • Obter referências de consumidores de cada vendedor, preferencialmente outra companhia com uma função semelhante a daquela onde será desenvolvido o projeto. Processo de escolha da ferramenta Não existe uma única resposta certa na escolha da ferramenta. Por isso, ao escolher uma ferramenta, além de conhecer suas potencialidades, é necessário entender antecipadamente seus pontos fracos e estar preparado para atenuar suas conseqüências. Processo de escolha da ferramenta Slide 1 Slide 2 Slide 3 Slide 4 Slide 5 Slide 6 Slide 7 Slide 8 Slide 9 Slide 10 Slide 11 Slide 12 Slide 13 Slide 14 Slide 15 Slide 16
Compartilhar