18. Qualidade de Dados em Data Warehouse - Objetivos e Sucesso Uma das características das Ciências Exatas é a precisão das informações obtidas; a segurança dos dados extraídos nos processos usados. Cálculos físicos e matemáticos nos dão retornos numéricos precisos. Usando-se fórmulas físicas e matemáticas, espera-se exatidão nos resultados de problemas. Através de procedimentos químicos, pode-se mensurar o tempo de reação dos componentes e realizar previsões sobre os resultados que poderão ser alcançados. Essa característica tem razão de ser. As ciências, além de terem seus conceitos básicos bem sedimentados, possuem métricas; unidades de medidas que padronizam seu campo de atuação. A métrica é que fornece o sentido de exatidão. Contudo, para se ter o conceito de Ciência Exata, não basta apenas estabelecer uma unidade de medida, é preciso também que se tenha um método de medição, um processo de se mensurar de forma segura. A preocupação com a melhoria dos processos sempre existiu. A busca por produtividade e qualidade, porém, está pressionando os envolvidos na produção a atingirem excelência em seus produtos e serviços. Através de metodologias e técnicas, são implantados programas de qualidade/ produtividade para se atingir o objetivo. Um problema enfrentado pela área de TI, ainda hoje, é o pouco uso de metodologias e técnicas no desenvolvimento. No caso de um Data Warehouse, o qual é muito mais que um sistema, mas um ambiente complexo envolvendo vários componentes o problema de se medir qualidade é bem mais difícil, sobretudo, quando a qualidade dos processos está ligada à qualidade dos resultados obtidos. Um ambiente de Data Warehouse é responsável pela disseminação do conhecimento do negócio, criando assim, inteligência competitiva para a mesma. Com isso, a introdução de medidas de qualidade torna-se imprescindível. A implantação de um processo de qualidade em Data Warehouse deve cobrir todas as fases, desde o levantamento dos requisitos,o mapeamento dos campos oriundos dos legados, o desenvolvimento do ETL (Extraction, Transformation and Load), a criação de um modelo multidimensional corporativo, a disposição das informações através de ferramentas OLAP, até a validação dos dados apresentados. Contudo, sem o emprego de metodologias de qualidade e sem o uso de métricas, não podemos estimar os custos de desenvolvimento, estabelecer previsões de entrega, mensurar o esforço de implementação e não podemos realizar um acompanhamento qualitativo da produção, vital para um Data
Warehouse já que é um ambiente em constante evolução. Segundo David Card, um programa de métricas deve estar focado em duas questões: quais dados devem ser coletados e o que fazer com eles. Uma vez equacionadas estas questões, um programa de qualidade e de estabelecimento de métricas, deve seguir alguns passos básicos, como definir o objeto da medição, identificar os atributos a serem medidos, especificar o uso dos resultados, coletar os dados, seguindo os passos anteriores, e verificar e modificar o modelo, baseado na análise e experiência de aplicações com os dados coletados. Entretanto, o uso de uma metodologia para implantação de um programa de qualidade não modifica os modelos existentes, nem tampouco os processos, apenas nos auxiliam na gerência do Data Warehouse, fornecendo informações que darão base para a tomada de decisões para os rumos do projeto. Deve ficar claro que métricas não substituem bons métodos, apenas podem nos ajudar a assegurar bons projetos e processos de desenvolvimento eficientes. Um dos principais objetivos de um Data Warehouse é eliminar problemas relativos ao negócio da corporação como, perda de receita, altos custos de produção, incapacidade de manter seus clientes fiéis, perda de market share, dentre outros. Para realizar esse desejo, um projeto de Data Warehouse deve estabelecer alguns objetivos de curto e longo prazo. Os de curto prazo são relativos a cada iteração do Data Warehouse e beneficiam diretamente os usuários. Os de longo prazo são alcançados durante o tempo de vida do mesmo e a principal questão nesse sentido é alinhar os pontos focais do Data Warehouse às metas estratégicas da empresa. Para tanto, devemos responder as seguintes questões: quais são os principais problemas da empresa relativos ao negócio, os objetivos do Data Warehouse estão endereçados a esses problemas e, por último, como o Data Warehouse pode ajudar a eliminar tais problemas. Um dos objetivos é melhorar a qualidade dos dados, que é um problema sério em todas as grandes corporações, em especial, nos seus sistemas legados. De um lado, o Data Warehouse se propõe a fornecer dados limpos, integrados e consistentes, provenientes de fontes de dados heterogêneas. Por outro lado, temos o cronograma de implantação, que para grandes corporações, tem em média um tempo longo. É quase impossível alcançar ambos os objetivos sem assumir alguns compromissos de implantação. Faz parte desse compromisso um conjunto de procedimentos úteis, dentre os quais estão os exemplos abaixo. Nunca tente limpar todos os dados, apesar de querermos apresentar sempre dados perfeitamente limpos, não é objetivo do Data Warehouse corrigir os dados do legado e sim mostrar suas inconsistências, além do que, na maioria das vezes, o custo dessa
limpeza excessiva é muito alta em relação ao seu benefício. Em contra-partida, nunca limpe nenhum dado, uma vez que o processo de transformação no ETL deve garantir a integridade das informações e, para tanto, alguns dados necessitarão de higienização, além disso, o Data Warehouse se propõe a oferecer dados mais limpos que os oferecidos pelos sistemas legados. Determine os benefícios da limpeza dos dados, levantando questões referentes a disponibilização de relatórios ou visões incoerentes, e o motivo pelo qual eles se encontram assim, se por dados sujos ou erros nos processos. Analogamente, determine o custo da limpeza, analisando os prejuízos causados pelos dados sujos, o custo dos algoritmos para limpá-los, a inconsistência gerada entre os dados limpos no Data Warehouse e sujos no legado e o tratamento diferenciado a esses dados pelos diferentes sistemas da empresa, causando assim, incompatibilidade de conceitos. Compare então os custos da limpeza dos dados com relação aos benefícios que eles proporcionarão estando limpos e os prejuízos que trarão se permanecerem sujos. Priorize os dados sujos que são considerados como objetivo de limpeza pelo Data Warehouse e caso a lista de dados a serem limpos fique grande, priorize esta lista. Para cada dado sujo priorizado, avalie as chances de sucesso de sua limpeza, bem como o grau de dificuldade para limpá-lo. A higiene de dados é uma questão corporativa e, portanto, avalie a possibilidade de criar um projeto de limpeza de dados corporativo, estabelecendo regras únicas para a limpeza dos dados onde quer que eles se encontrem em relação aos sistemas legados e unificação dos conceitos relativos a eles. A criação de um repositório central traz benefícios significativos para a empresa, não só em relação à higiene dos dados, mas também na deduplicação das informações espalhadas pelos sistemas. Isso pode fazer com que os vários relacionamentos entre as entidades do modelo corporativo se tornem mais consistentes. A forma como os dados são disponibilizados também pode trazer inconsistências nos relatórios e nas visões do Data Warehouse. Portanto, certifique-se que os dados disponibilizados sejam os mesmos que representam os desejos do usuário. Não obstante, alguns dados podem ser incongruentes, e a regra de formação das métricas disponibilizadas pelo Data Warehouse deve ser validada com a área usuária, evitando assim, inconsistências na disseminação da inteligência do negócio da empresa. Todas as informações que possam possuir dados em disputa, ou seja, dados opositivos, devem ser identificadas e, então, deve ser estabelecido o custo de resolução dessa disputa na formação das métricas que irão para os relatórios e visões. No caso de uma lista de dados opositivos, priorize aqueles que obstruem o andamento do projeto. Uma maneira eficiente de evitar dualidades e desentendimentos
nos conceitos/ regras usados na formação das métricas dispostas pelo Data Warehouse é a criação de um metadados. O metadados deve prover informações a respeito das informações contidas no Data Warehouse, bem como as regras de negócio usadas para a composição das medidas e indicadores de performance. Essas informações devem ser compartilhadas pela equipe técnica e pelas áreas usuárias, compondo assim um metadados técnico e um de negócios. O metadados corporativo deve possuir acessibilidade e fácil navegação, ajudando a disseminar conhecimento por toda a corporação. Um ponto que pode afetar o nível de qualidade das informações é a integração das diversas fontes de dados que servem de insumo para o Data Warehouse. Cada uma dessas fontes possui, em seus arquivos ou tabelas, uma chave de identificação unívoca própria, e que deve de alguma forma estar associada às informações do Data Warehouse. Esse sincronismo é importante para garantir a consistência dos dados e deve ser realizado na etapa de ETL. Contudo, o Data Warehouse deve permanecer independente dos sistemas legados e, para tanto, é necessário criar-se chaves de identificação unívoca para o próprio Data Warehouse e essas chaves, chamadas de IDs, devem estar por sua vez associadas às chaves naturais dos sistemas legados, mantendo desta forma, o sincronismo já mencionado. Existem medidas de sucesso que devem ser estabelecidas para acompanhar o projeto de Data Warehouse em seu ciclo de vida. Esses indicadores ajudarão os gerentes de projeto a tomar decisões quanto ao direcionamento das manutenções corretivas e das evolutivas, dado que os mercados estão cada vez mais competitivos e a função do Data Warehouse é acompanhá-lo. Um dos primeiros indicadores a ser implantado é o grau de uso do Data Warehouse, verificando o número de usuários total que o acessam, o número de usuários concorrentes, a quantidade e o tipo das consultas e o montante de relatórios gerados. Essas medidas indicarão o caminho que o Data Warehouse deve seguir no seu ciclo de vida, indo de encontro às necessidades do usuário e estando sempre atualizado, no que refere à inteligência do negócio. O estabelecimento e o acompanhamento dessas métricas fará com que o Data Warehouse seja sempre útil ao usuário, permitindo que ele tome decisões de negócio baseado em dados consistentes, integrados e atuais. Assim, um outro indicador que se deve estabelecer é relativo aos prazos de entrega. Como um ambiente de Data Warehouse está em contínua evolução, retratando sempre um momento do mercado e não os perdendo, mantendo assim sua característica temporal as solicitações de mudança serão constantes e, por conseqüência, suas implementações deverão se dar em prazos factíveis, para que os usuários possam usufruir dessas evoluções em tempo hábil. Essas entregas devem se dar cumprindo os
orçamentos planejados, não onerando o projeto todo. A incorporação dessas métricas, seu acompanhamento e, sobretudo, o cumprimento das mesmas, fará com que o Data Warehouse seja um agente de mudanças nas estratégias de negócio da corporação, fazendo com que as oportunidades de mercado sejam aproveitadas nos momentos corretos, tornando as decisões gerenciais mais precisas. Como todo projeto, a implementação de um Data Warehouse possui alguns fatores críticos de sucesso e, dentre eles, os principais estão ligados ao relacionamento com os usuários. Assim, as expectativas dos clientes internos devem ser acompanhadas, através de um eficiente canal de comunicação entre a área de TI e as áreas usuárias. Com isso, os usuários devem ser envolvidos no processo de levantamento de requisitos, na elaboração das regras de negócio e na validação dos dados a serem apresentados pelo Data Warehouse. Entretanto, um dos maiores fatores críticos a ser superado é a escolha de um bom patrocinador. Este patrocinador fará com que a área usuária se torne parte integrante e atuante, dentro do processo do Data Warehousing. Citando outros fatores críticos de sucesso, esses mais intuitivos que os primeiros, existe a necessidade de capacitação da equipe, o estabelecimento de um cronograma factível, a escolha de ferramentas de software alinhadas com o parque de hardware, o controle do andamento do projeto, a unificação dos conceitos de negócio da empresa, o estabelecimento correto das regras de negócio, o treinamento apropriado dos usuários e, principalmente, a divulgação e disseminação da cultura relativa ao ambiente de Data Warehouse, sua potencialidade, seus objetivos e seus benefícios. Independente das metodologias disponíveis e das métricas que se possa implantar, Data Warehouse se trata de dados e, portanto, um programa de qualidade em Data Warehouse deve ser focado nos dados. O primeiro passo para se estabelecer um bom gerenciamento dos dados manipulados pelo Data Warehouse é entender o seu mapeamento com os sistemas legados, tentando desta forma, sanar o caos informacional que se dá nesses diferentes sistemas isoladamente, com estruturas distintas e bases heterogêneas. Esses diferentes sistemas fonte geram redundância de dados e, o que é pior, inconsistência. Uma das metodologias para resolver esse problema é a criação de uma área de staging centralizada, gerenciada e controlada pelos processos de ETL. Contudo, essa área deve estar intimamente relacionada a um modelo lógico de dados consistente e integrado. Esse modelo de dados fará a integração lógica entre as diversas fontes de informação e o processo de ETL garantirá a consistência dessa integração, através de um correto mapeamento para a extração, de um eficiente
conjunto de programas de conversão para a transformação dos dados e, por fim, da carga desses dados para o modelo físico. O segundo passo é o uso de ferramentas corretas para a disposição dos dados. Do modelo de dados para a entrega das informações, existe um novo processo de ETL, agregando, sumarizando e transformando-os, de acordo com as visões gerenciais pedidas pelos usuários. Sendo assim, as ferramentas OLAP usadas para a disseminação da inteligência do negócio devem proporcionar um correto entendimento das métricas e variáveis disponíveis. Pior do que não ter informação, é tê-la errada. Para melhorar a qualidade dos dados alguns pontos devem ser observados. Para um dado ser correto, seu valor deve estar inserido dentro de um domínio, discreto ou contínuo e, para tanto, o ETL deve possuir programas para a validação desses domínios. Um dado pode estar correto, porém, não acurado, isto é, pode estar dentro de um domínio esperado mas não ter significado válido. Portanto, pode-se estabelecer programas de análise de amostras para verificação da acuracidade das informações. Os dados devem ainda respeitar as regras de negócio estabelecidas para o Data Warehouse como, por exemplo, a data de desativação de um terminal não pode ser anterior a sua ativação. A verificação e validação desse tipo de informação, também pode estar contemplada no processo de ETL. Por fim, os dados devem ser completos, consistentes e integrados, fazendo com que as informações necessárias para as análises gerenciais estejam disponíveis e que os relacionamentos entre as diversas variáveis relacionadas às métricas estejam corretas. Uma vez que um conjunto de programas estejam prontos para validar os dados entrados no Data Warehouse, uma questão que se levanta é o que fazer com os dados incorretos. Devemos limpá-los ou não? Existem alguns tipos de sujeira que podem ser tratadas e algumas regras de cleasing devem ser estabelecidas. Os valores dummy inseridos em diversos sistemas legados podem ser tratados no ambiente do Data Warehouse. Situações como CPF igual à 999.999.999/99 podem ser convertidos em nulo ou em valores de domínio que identifiquem seu preenchimento incorreto, para que estas incorreções possam ser tratadas nos sistemas fonte. Analogamente, os valores missing prejudicam as análises gerenciais e a mineração dos dados, uma vez que as informações perdidas nos sistemas legados (como sexo, data de nascimento, profissão) são de extrema importância para a definição de modelos preditivos. Assim, deve-se analisar a possibilidade de derivação de dados a partir de outros como, por exemplo, o sexo definido a partir do nome. Dados criptografados também constituem um problema, uma vez que seus códigos sem significado claro podem mascarar informações importantes para o Data Warehouse. Nesse caso, os programas de ETL devem converter seus conteúdos em valores de domínio com significado
claro. Assim, todo projeto de Data Warehouse deve estabelecer alguns compromissos de qualidade para que sua implantação se torne um caso de sucesso, não apenas no uso de metodologias que incrementem qualidade no gerenciamento e na entrega dos dados, mas também, na definição e acompanhamento de indicadores de qualidade durante o ciclo de vida do projeto. Cada uma das fases do desenvolvimento deve estar inserida em um contexto de qualidade, como o ETL, no correto mapeamento dos dados e suas respectivas transformações, a criação de um modelo lógico de dados consistente e integrado e a entrega e distribuição das informações gerenciais. Autor: Carlos André Reis Pinheiro Biografia: Carlos André Reis Pinheiro é pós-graduado em Ciência da Computação pelo Instituto de Computação da UFF e autor do livro Aplicações de Banco de Dados em Delphi.