CONSIDERAÇÕES SOBRE ATIVIDADES DE IDENTIFICAÇÃO, LOCALIZAÇÃO E TRATAMENTO DE DADOS NA CONSTRUÇÃO DE UM DATA WAREHOUSE Fabio Favaretto Professor adjunto - Programa de Pós Graduação em Engenharia de Produção e Sistemas Pontifícia Universidade Católica do Paraná - PUCPR R. Imaculada Conceição, 1155 Curitiba, PR - CEP 80215-901 Telefone: 41-330-1344 Endereço eletrônico: fabiofav@ccet.pucpr.br Carlos Alberto Rhoden Mestrando - Programa de Pós Graduação em Engenharia de Produção e Sistemas Pontifícia Universidade Católica do Paraná - PUCPR R. Imaculada Conceição, 1155 Curitiba, PR - CEP 80215-901 Telefone: 41-330-1344 Endereço eletrônico: faisca@bb.com.br Resumo A necessidade de transformar grandes volumes de dados em informações significativas tem levado as organizações a utilizarem ambientes de Data Warehouse com esta finalidade. Entre os itens da documentação da construção e implantação do DW, temos os metadados, que registram informações sobre os dados utilizados. Este artigo apresenta um estudo de caso de implantação de DW, e analisa aspectos relacionados às atividades de identificação, localização e tratamento dos dados utilizados. Como resultado apresenta uma série de informações que devem ser registradas nos metadados a respeito destas atividades. Palavras chave: Data Warehouse, Processo de Data Warehousing, Metadados
Introdução A expressão rico em dados e pobre em informações tem sido utilizada para descrever muitas organizações onde existe abundância de dados, porém falta de informações significativas. Este fator ocorre em parte devido à extensa utilização de sistemas de informação (SI) específicos e localizados em determinado departamento ou atividade da organização. Cada um destes SI coleta e gera dados que servem de suporte às operações rotineiras ou transações do negócio. O gerenciamento das organizações é baseado em informações significativas, que são geradas a partir dos dados (POON e WAGNER, 2001). Alguns fatores contribuem com esta falta de informações, entre eles a falta de integração de dados de diferentes SI e a não existência de um ambiente ou ferramenta próprios para o tratamento analítico dos dados (INMON et alli, 2001). O processo de Data Warehousing e seu resultado (o próprio Data Warehouse) atendem esta necessidade, promovendo a integração dos dados dos SI espalhados pela organização, e gerando um ambiente de consultas à informações significativas, que permite diversas análises sobre um assunto. A justificativa do desenvolvimento deste artigo é que poucos trabalhos científicos apresentam o trabalho necessário para disponibilizar os dados dos SI para um Data Warehouse (DW). Esta é uma etapa importante e básica para se obter todas as vantagens e benefícios do DW. O foco deste trabalho é nas atividades de identificação, localização e tratamento (ILT) dos dados para criação do DW. Estas atividades são documentadas através de metadados. O objetivo principal deste trabalho é descrever atividades ILT, através da revisão de conceitos, análise de um estudo de caso e sugestões para realização destas atividades. O artigo é iniciado com esta introdução, seguida por uma breve descrição da metodologia de pesquisa utilizada e a revisão bibliográfica. Na seqüência são apresentados um estudo de caso e sugestões para a realização de atividades ILT, assim como uma análise do papel dos metadados nestas atividades. Finalmente, são apresentadas as conclusões obtidas com a realização deste artigo. Metodologia utilizada O tema deste trabalho é a gestão de dados. Especificamente trata de uma das etapas do processo de Data Warehousing, que é a identificação, localização e tratamento (ILT) dos dados necessários para criação do DW. O problema de pesquisa colocado é expresso pelo questionamento se estes dados normalmente são conhecidos e estão
prontos ou disponíveis para serem utilizados no DW. Como hipótese, é assumido que normalmente não são todos os dados necessários que são conhecidos ou que estão disponíveis. Além disso, alguns dados existentes não estão conforme são necessários, por problemas com o formato, padrão, consistência ou precisão em que eles se encontram. Trata-se de um estudo descritivo quanto ao seu objetivo. O artigo fará um revisão da literatura sobre o tema proposto, com os seguintes tópicos: conceitos e resultados da aplicação de um DW e processo de Data Warehousing. Complementarmente à revisão bibliográfica, serão analisadas as atividades ILT de um estudo de caso. Finalmente, serão descritos alguns tópicos que devem ser considerados nas atividades ILT para construção de um DW. Conceito de Data Warehouse DW é o resultado de um processo de preparação de dados para exploração analítica. O termo Data Warehouse foi utilizado pela primeira vez em 1992 por Bill Inmon, e é utilizado para descrever um conjunto muito grande de dados orientados a assuntos, integrados e não voláteis, que suportam as tomadas de decisão (SRIVASTAVA e CHEN, 1999). Com o objetivo de facilitar a tomada de decisão, os dados em um DW estão organizados com relação a assuntos importantes, com a capacidade de fornecer uma perspectiva histórica, e geralmente estão sumarizados (HAN e KAMBER, 2001). O desenvolvimento e a implantação do DW envolvem a integração de dados de diversas fontes e sua transformação em informações consistentes e de qualidade, para permitir seu posterior emprego pelo usuário final no suporte à tomada de decisão (CAMPOS e BORGES, 2002). Isso permite a integração de dados de fontes heterogêneas, aumentando o escopo das decisões tomadas, com base nas informações disponibilizadas. O principal resultado esperado da utilização de um DW é um ambiente de consultas analíticas, onde medidas (indicadores) podem ser exploradas (analisadas) segundo algumas dimensões. Estas consultas são chamadas OLAP (Online Analytical Processing), e são realizadas sobre um grande volume de dados, permitindo a análise de uma medida segundo dimensões diferentes (MACHADO, 2000). Por exemplo, podemos analisar a medida receita de vendas de uma rede de supermercados, segundo as dimensões de produtos, lojas e tempo, de acordo com o exemplo apresentado em Kimball (1998).
Podem ser realizadas consultas pré-definidas, no caso de medidas analisadas de forma rotineira, como por exemplo no controle e monitoramento de metas impostas a um grupo de trabalho. Além disso, o usuário deve ter a possibilidade de realizar suas próprias consultas em um ambiente amigável. Isso permite explorações mais detalhadas, comparações, análises, históricos e o levantamento de causas e conseqüências de algumas situações. Processo de Data Warehousing O processo de Data Warehousing é a seqüência de atividades realizadas para a criação e utilização de um DW. Este processo pode ser visto na Figura 1, conforme proposto por Machado (2000). Data Warehouse Data Marts OLAP -Projetar - Mapear -Extrair -Limpar - Carregar - Indexar - Agregar - Replicar - Distribuir os dados - Acesso e análise - Utilização estratégica das informações Sistemas de origem (legados) Figura 1: Processo de Data Warehousing (MACHADO, 2000) As fontes dos dados que irão compor o DW são SI espalhados pela organização que normalmente atendem necessidades localizadas de um departamento. Estes SI processam transações, utilizam um sistema gerenciador de bancos de dados (SGBD) para armazenamento de dados no formato relacional e são chamados de sistemas legados. A primeira etapa do processo de Data Warehousing é o projeto do DW. Segundo a abordagem proposta por Kimball (1998), isso é feito através de um modelo dimensional, onde são representados:
- o fato, que é o assunto a ser analisado; - as medidas (indicadores) que permitirão a análise do fato; - as dimensões da análise e - os atributos das dimensões. Após a realização do projeto, é necessário realizar uma etapa para mapear onde estão os dados que são necessários para gerar as medidas. Neste momento aparecem as atividades de identificação e localização dos dados, relacionadas ao objetivo deste trabalho. Segundo a proposta de Machado (2000), é necessário indicar onde estão os dados necessários, e como ter acesso a eles. O estudo de caso apresentado a seguir deixará claro que esta etapa é mais complexa, e exige a realização de atividades de identificação e localização detalhadas dos dados. Além disso, conforme já exposto, os dados não estarão completamente prontos para serem utilizados, sendo ainda necessária uma atividade de tratamento dos mesmos, fechando o objetivo deste trabalho, que é a descrição das atividades ILT (identificação, localização e tratamento). Seguindo o processo de Data Warehousing, a próxima etapa é a extração dos dados a partir dos sistemas legados. Isso é feito por uma camada de extração dos dados, que pode utilizar diversas tecnologias, como a extração de arquivos texto ou a utilização de camadas de conectividade aberta de bancos de dados (ODBC Open Database Conncetivity). Esta etapa faz uma cópia dos dados que estão nos bancos de dados dos sistemas legados. Geralmente é necessária uma etapa de limpeza, visto que dados corrompidos, incompletos, redundantes ou não significativos precisam ser eliminados, para que não interfiram no resultado final. Feitas estas etapas, o DW já pode ser carregado. Isso significa que novos dados serão adicionados fisicamente a ele. Este carregamento possui uma freqüência definida, geralmente diária. Estes dados são indexados, ou seja, são guardadas informações sobre estes dados, para que sua recuperação seja facilitada quando necessária. Uma etapa importante é a agregação destes dados. Nos sistemas legados, os dados armazenados estão no maior detalhamento possível, se referindo às transações individuais. Para o DW, este nível de detalhe não é interessante, sendo que então são feitas agregações, como totalizações de um determinado período. Isso permite que o usuário do DW tenha acesso a informações significativas, pois esta agregação coloca os dados no nível de detalhe (granularidade) utilizado para a tomada de decisão gerencial.
Segundo as abordagens de Kimball (19998) e Machado (2000), o DW é um grande repositório, que abrange diversos assuntos da organização. No processo de Data Warehousing, a próxima etapa é a criação de Data Marts, que replicam uma parte específica do DW, geralmente relacionadas a um departamento ou processo da organização. Isso distribui os dados, porém mantém sua integridade, visto que a origem é sempre a mesma. Concluídas estas etapas, o ambiente para a realização de consultas OLAP está pronto e atualizado. Estudo de caso de implantação de Data Warehouse O estudo de caso foi realizado em empresa multinacional de grande porte, produtora de autopeças para o mercado nacional e internacional, durante o ano de 2002. O foco foi o gerenciamento do índice de refugos da produção e seus custos. Três conjuntos de dados estão envolvidos com o gerenciamento de índices de refugo na organização em questão: quantidade de refugos, quantidade de peças boas e custo dos refugos. Na Figura 2 é apresentada a situação do processo executado para a geração do índice de refugo e seus custos, antes da implantação do DW. Cada uma das atividades será apresentada a seguir. Antes da implantação em questão, a quantidade de refugos era obtida com base em um apontamento manual feito pelos operadores que os detectavam. Este apontamento era digitado no sistema ERP (Enterprise Resources Planning) ao final de cada dia, em um módulo especialmente desenvolvido para esta finalidade. Alguns relatórios, como o número de ocorrências por dia e por operação eram gerados por este módulo. Além da digitação no sistema ERP, os mesmos dados eram digitados em planilhas eletrônicas, para facilitar a construção de relatórios posteriores, principalmente em forma de gráficos, complementares aos gerados pelo sistema ERP. O inventário total das peças que entraram no almoxarifado era controlado mensalmente, com base no código do item, gerando o registro das peças consideradas boas. O apontamento de refugos está em uma base diferente (diária). Desta forma, era impossível saber o índice de refugo (peças refugadas/peças boas) ocorrido diariamente.
Detecção de refugos Apontamento manual Digitação diária em planilha Geração de relatórios na planilha Digitação diária no sistema ERP Geração de relatórios no sistema ERP Refugos Entrada d e peças no almoxarifado Controle mensal Geração de relatório no sistema ERP Consolidação manual Peças boas Atribuição de custos dos refugos Custos indiretos, de materiais, mão de obra e operações Geração de relatório no sistema ERP Custos Geração do índice de refugos Figura 2 Situação anterior do processo para obtenção do índice de refugos O custo do refugo é composto pela soma do custo do material (direto) do item, dos custos indiretos associados ao item, do custo das operações e da mão de obra até a operação de detecção do refugo. Todos estes custos ficam armazenados em um banco de dados específico. Uma consolidação manual era feita para gerar um relatório com uma aproximação do índice de refugos. Existia na organização em questão uma distância entre as necessidades de informações e as informações disponíveis. Isso acarretou em algumas mudanças, entre elas o sistema ERP foi modificado, para que os dados de refugo fossem apontados uma única vez, e o apontamento paralelo em planilha eletrônica foi eliminado. Outra mudança ocorreu no apontamento das peças boas na entrada do almoxarifado, que deixou de ser mensal para ser diário. A seguir serão apresentadas as atividades ILT relacionadas ao estudo de caso, sendo que cada uma destas atividades será detalhada nas tarefas que as compõem.
Atividade de identificação dos dados para o DW Dentro da atividade de identificação dos dados, a primeira tarefa do desenvolvimento do DW no caso estudado foi o levantamento das necessidades de informações, e o mapeamento dos processos de decisão realizados. Para isso foram feitas entrevistas com diretores, gerentes, supervisores, operadores e funcionários encarregados do apontamento dos dados. Também foram coletados exemplos dos relatórios utilizados, cópias das telas das transações do sistema ERP relacionadas e cartas de coleta dos apontamentos. Além disso, foi necessário conhecer a estrutura dos bancos de dados envolvidos (refugos, peças boas e custos). Após esta aquisição de informações, foi feito um mapeamento das atividades do processo, desde a coleta dos dados até a utilização dos relatórios e posterior gerenciamento com base nos índices de refugo. Com isso foram identificados quais indicadores seriam necessários, como estes seriam gerados e quais os dados necessários para gerar o DW. Esta identificação vai além de conhecer os dados disponíveis, através de um dicionário de dados ou da estrutura dos bancos de dados. É necessário conhecer como eles são gerados e o que significam. Isso só é conhecido com um estudo detalhado dos mesmos, da forma como são coletados e dos processos que geram os eventos relativos aos dados. Todos estes tópicos relatados precisam ser registrados através dos metadados. Atividade de localização dos dados No estudo de caso, após identificar quais os dados necessários, foi necessária uma atividade de localização dos mesmos. Além de saber exatamente em qual banco de dados, tabela e coluna cada dado se encontrava, outras tarefas foram necessárias. Entre elas, mapear a forma de extração de cada dado. Alguns dados podiam ser extraídos via ODBC, outros através da exportação de arquivos texto, e outros ainda precisavam ser extraídos através de ferramentas específicas do SGBD. Para os dados extraídos na forma de texto foi desenvolvido um aplicativo para tal finalidade, e para os dados extraídos através de ferramentas foi feita uma programação de lote (batch) no sistema operacional com esta finalidade. Outra tarefa necessária foi saber qual o período de atualização de cada dado a ser utilizado. Isso para evitar carregar no DW um dado com uma freqüência menor que a sua freqüência de atualização.
Ainda outra tarefa relacionada com a atividade de localização dos dados é o mapeamento do acesso aos mesmos. Isso porque algumas tabelas podem ser protegidas por senhas ou serem acessíveis somente quando acessadas de determinado ambiente. Todas estas tarefas da atividade de localização também devem ficar documentadas nos metadados. Atividades de tratamento dos dados No estudo de caso em questão foram necessárias algumas tarefas de tratamento dos dados extraídos dos sistemas legados, antes de sua carga no DW. A primeira tarefa foi a limpeza dos dados. Registros incompletos, com valores fora de limites estabelecidos ou com dados de testes foram eliminados através de um aplicativo desenvolvido especificamente para esta finalidade. Outra tarefa foi a transformação de códigos em dados significativos. Os apontamentos eram feitos com base em códigos numéricos dos defeitos que geraram os refugos. Para facilitar uma análise exploratória no DW, o usuário deve ter acesso, além do próprio código, à sua descrição. Para isso, foi necessário buscar as descrições textuais dos códigos de defeitos em uma tabela, e fazer a concatenação das seqüências de caracteres (string). Isso foi realizado por uma ferramenta de extração do aplicativo que gerencia estes dados. Uma importante tarefa de tratamento realizada foi a transformação de alguns dados. O apontamento do almoxarifado (das peças boas) era feito com base no código do produto, e o apontamento de refugos com base no código do componente (peça) do produto. Isso motivou a conversão dos apontamentos dos componentes para produtos, visto que esta seria a base da exploração no DW. Esta conversão foi feita com base na lista de componentes de um produto, através de um aplicativo desenvolvido para esta finalidade. Um último tratamento necessário foi a conversão do tipo dos dados. Os registros extraídos no formato texto continham dados de outros tipos, como datas, valores monetários (currency), números inteiros e reais. Esta conversão foi feita em um aplicativo específico. Estas tarefas da atividade de tratamento devém ser conhecidas e documentadas nos metadados.
Papel dos metadados nas atividades ILT De acordo com Singh (2001) os metadados servem para definir um contexto relacionado aos dados, e devem conter informações sobre a lógica dos mesmos. Os tópicos destacados nas atividades ILT do estudo de caso complementam o modelo de referência proposto pelo autor citado. O Quadro 1 a seguir mostra as tarefas das atividades ILT e os respectivos tópicos que devem ser documentados nos metadados. Atividade Tarefa Tópicos que devem ser registrados nos metadados Identificação Definir indicadores - Identificação do indicador - Dados necessários para gerar o indicador - Procedimento de cálculo do indicador Mapear a geração e/ou coleta dos dados que geram os indicadores - Procedimento de coleta e/ou geração dos dados - Significado dos dados - Evento que gera os dados - Pessoa com conhecimento para dar suporte às dúvidas sobre os dados Atividade Tarefa Tópicos que devem ser registrados nos Localização Mapear a forma de extração dos dados Mapear freqüência de atualização dos dados Mapear acesso aos dados metadados - Forma de extração dos dados - Ferramentas de extração dos dados - Procedimentos de extração dos dados - Freqüência de atualização dos dados - Procedimento de atualização dos dados - Forma de acesso aos dados - Procedimento de acesso aos dados - Senhas de acesso aos dados Tratamento Limpar dados - Procedimento para localizar e eliminar registros incompletos e de teste - Faixa de valores aceitáveis para os dados Substituir códigos - Relacionamento entre os códigos utilizados na organização e suas descrições - Procedimento de substituição dos códigos ou de concatenação com as descrições Transformar valores dos dados - Necessidades de transformação ou conversão - Procedimento de transformação ou conversão Converter tipos de dados - Necessidades de conversão dos tipos de dados extraídos Quadro 1: Tarefas das atividades ILT e os respectivos tópicos que devem ser documentados nos metadados
Conclusões No desenvolvimento do estudo de caso ficou clara a importância dos metadados. Eles são parte fundamental da documentação gerada na construção e implantação do DW, e também serão úteis na manutenção do mesmo. Algumas atividades e tarefas observadas na prática não foram encontradas na bibliografia consultada. As atividades ILT (identificação, localização e tratamento dos dados) se encaixam em etapas descritas nos processos de Data Warehousing, e este artigo fez um detalhamento das mesmas. Também foi observada a necessidade de se realizar a documentação da construção e implantação do DW. Sem isso, a solução obtida não pode ser replicada caso tenha êxito, e aspectos que apresentem problemas serão de difícil identificação para que sejam evitados em projetos futuros. A documentação proposta também será utilizada pelos usuários finais do DW, que poderão ter maiores informações sobre os indicadores analisados. A hipótese de que normalmente não são todos os dados necessários que são conhecidos ou que estão disponíveis foi confirmada, realçando a necessidade de realização das atividades ILT. Referências bibliográficas CAMPOS, M. L. M., BORGES, V. J. A. S. Diretrizes para a Modelagem Incremental de Data Marts. Anais do XVII Simpósio Brasileiro de Bancos de Dados, Gramado, Brasil, 2002. HAN, J., KAMBER, M. Data mining, Morgan Kaufmann Publishers, New York, USA, 2001. INMON, W. H.,TERDERMAN, R. & IMHOFF, C. Data Warehousing: como transformar informações em oportunidades de negócios. Editora Berkeley, São Paulo, 2001. KIMBALL, R. Data Warehouse tool kit: técnicas para a construção de data warehouses dimensionais. Makron Books, São Paulo, 1998. MACHADO, F. N. R. Projeto de Data Warehouse: uma visão multidimensional. Editora Érica, São Paulo, 2000. POON, P., WAGNER, C. Critical success factors revisited: success and failure cases of information systems for senior executives. Decision Support Systems. Vol. 30, 2001.
SINGH, H. Data Warehouse: conceitos, tecnologias, implementação e gerenciamento. Makron Books, São Paulo, 2001. SRIVASTAVA, J., CHEN, P. Y. Warehouse creation A potential roadblock to data warehousing. IEEE Transactions on Knowledge and Data Engineering, Volume 11, No. 1, January/February, 1999.