Capítulo 3 Qualidade dos dados em SDWs
3.5 Os problemas da qualidade dos dados num SDW
3.5.2 Qualidade dos dados na ARD
Figura 3-4 – Problemas dos dados na ARD.
A ARD corresponde ao local que medeia a passagem dos dados entre as fontes e o DW. Este local apresenta-se como um ponto óptimo para impor normas e níveis de qualidade aos dados provenientes das diferentes fontes. Efectivamente, revela-se o local propício para as operações de limpeza, transformação e combinação dos dados, antes destes serem integrados no DW, ou seja, concentra todas as tarefas relativas ao processo de ETL dos dados no DW (figura 3-4). É por isso, o lugar onde as organizações têm a possibilidade de encontrar o maior nível de qualidade sobre os dados. Segundo Inmon, a importância da ARD deve-se a dois factores [18]. Em primeiro lugar, devido à inexistência ou escassez de iniciativas de promoção da melhoria da qualidade dos dados no SO. Esta situação, justifica-se por um lado, pela não interferência dos responsáveis do DW nos ambientes operacionais em vista a introdução de mecanismos promotores do aperfeiçoamento dos dados existentes e que servirão de base para o DW. O princípio clássico de implementação de um SDW delimita as fronteiras e a área de actuação entre o SO e o DW. Por outro lado, a as- sumpção que esta é uma tarefa incumbente da ARD.
Em segundo lugar, a circunstância de existirem múltiplas fontes para os mesmos dados ou que permitem a complementaridade entre os dados, determina que seja este, vulgarmente, o primeiro local de encontro desses dados dispersos. A definição das fontes a serem usadas é uma tarefa que envolve alguma complexidade, porque a existência de várias fontes para os mesmos elemen- tos de dados determina a escolha daquela mais apropriada e que melhor satisfaz os desejos dos consumidores. Também, o facto das fontes manifestarem diferentes níveis históricos dos dados, pode implicar o recurso a outras fontes de modo a complementar os dados em falta [Gonzales, 2004]. Determinadas questões relacionadas com os dados apenas podem ser resolvidas no mo- mento após a sua extracção das fontes e o recolhimento na ARD (e.g. os dados provenientes de sistemas independentes e complementares) [Kimball & Caserta, 2004]. Assim, os dados extraídos do SO e recolhidos na ARD, denotam lacunas no seu conteúdo, formato e integração que necessi- tam ser colmatadas. É preciso ter presente que os níveis de qualidade inerentes aos dados variam em função dos requisitos dos consumidores e pela limitação orçamental imposta pela própria or- ganização. Sobre esta última questão é plausível que a organização considere injustificado o in- vestimento para elevar ao máximo os padrões de excelência da qualidade dos dados.
Geralmente, os dados provenientes do SO apresentam fraca qualidade e por isso, costumam de- signar-se por dados sujos. Os dados consideram-se sujos porque compreendem uma variedade de defeitos (ruídos, inconsistências e dados incompletos). Os dados incompletos revelam a au- sência de valores, a ausência de atributos de interesse ou respeitam somente a valores agrega- dos. Os dados manifestam ruído quando são introduzidos valores aberrantes, erros aleatórios e erros provocados pelo sistema. A inconsistência dos dados surge da introdução incorrecta de valo- res, de representações diferentes sobre os mesmos dados ou de erros oriundos da integração de várias bases de dados [Carvalho, 2003]. Em [Raisinghani, 1999] é enunciada uma lista que tipifica a sujidade dos dados em ambientes de DW, como sejam a ausência, a incorrecção, a incom- preensibilidade, a inconsistência, os conflitos de esquemas e os conflitos estruturais dos dados. Um estudo realizado em [Kim et al., 2003], aprofunda esta problemática em torno dos dados e concretiza uma taxionomia exaustiva sobre os dados sujos. O estudo aborda este assunto, partin- do da premissa que os problemas dos dados se podem apresentar sob três diferentes formas: os ausentes; os não ausentes, mas errados e os não ausentes e correctos, mas inúteis. Com base nesta premissa é possível decompor a taxionomia hierarquicamente, representando cada nível de decomposição ou refinamento uma forma especifica de sujidade nos dados. Ao mesmo tempo estabelece as bases para a definição de métricas que avaliem a qualidade dos dados, bem como as técnicas adequadas de rectificação. A investigação realizada em [Rahm & Do, 2000] descreve uma classificação dos problemas nos dados, consoante se trate de problemas numa fonte de da- dos isolada ou de problemas que se revelem em múltiplas fontes de dados. Um outro estudo, rela- cionado com os dois anteriores e assente nos estudos realizados em [Oliveira et al., 2004, 2005b], aborda mais exaustivamente a identificação, classificação e sistematização dos problemas verifi- cáveis na qualidade nos dados. O estudo apresenta uma taxionomia organizada em diferentes níveis de abstracção: em termos absolutos do valor das colunas numa tabela (ao nível da coluna, ao nível da linha e ao nível da tabela) e em termos relativos, resultantes do relacionamento entre tabelas [Oliveira et al., 2005a].
Neste sentido, podemos aferir que o deslocamento dos dados entre o SO e o DW não resulta du- ma simples extracção dos dados. Mas, de um conjunto de tarefas de cariz complexo e moroso em vista a integração dos dados no DW e que, por estes motivos, são necessariamente responsáveis pela maior fatia no consumo dos recursos financeiros e temporais. Assim, os dados na ARD estão sujeitos à aplicação de diversos processos de limpeza e transformação, com o intuito da remoção das debilidades verificadas nos dados e a melhoria da sua qualidade. A limpeza dos dados, se- gundo o estudo realizado em [Müller & Freytag, 2002], consiste num processo semi-automático que compreende a execução das seguintes operações sobre os dados: a adaptação dos formatos
das linhas das tabelas e valores, o cumprimento dos constrangimentos de integridade, a derivação de valores em falta a partir dos existentes, a remoção de conflitos nas linhas ou entre linhas, a junção ou eliminação de duplicados e a detecção de desvios, isto é, as linhas que apresentam alta probabilidade de serem inválidas.
Portanto, para que a operacionalidade e utilidade dos dados seja conseguida, por parte dos con- sumidores finais, importa efectuar o necessário enquadramento das acções de transformação sobre os dados sujos extraídos das fontes. As operações de limpeza e transformação a serem executadas neste local podem ser divididas em duas tarefas fundamentais: o tratamento dos da- dos e a preparação dos dados para os consumidores finais.
Tratamento dos dados
No que concerne aos dados recolhidos das fontes e que denotam anomalias nas suas caracterís- ticas, podemos considerar cinco categorias de problemas que conduzem a operações de resolu- ção [Kimball et al., 1998] [Raisinghani, 1999]: a decomposição dos valores em elementos atómi- cos, a estandardização e normalização de valores, a correcção de dados, a integração de dados e a remoção de dados. A decomposição dos valores dos dados em elementos atómicos ocorre:
– Pela existência de colunas sobrecarregadas de valores ou colunas de formato livre. – Pela inserção de símbolos especiais nas colunas.
– Pela necessidade de estandardização e correcção posterior nos valores dos dados.
Em relação às operações de estandardização e normalização, podemos conferir a necessidade em agir com vista a resolução de diversos desentendimentos nos dados, daí a necessidade da presença do esquema das fontes de dados e do esquema do DW. Geralmente, os problemas gi- ram em torno dos conflitos estruturais dos dados. Alguns dos principais problemas de normaliza- ção e estandardização dos dados susceptíveis de melhoramento são:
– O formato ou tipo de dados não padronizados (e.g. o nome de um cliente é definido num local como char (30) e noutro local como char (45), as datas no formato YY/MM/DD e no formato DD/MM/YY).
– A estandardização de conceitos homónimos e sinónimos. O primeiro caso resulta quando o mesmo nome é usado para conceitos diferentes (e.g. o equipamento num local pode ser considerado os móveis existentes, enquanto noutro local pode ser o hardware). Os valores sinónimos resultam quando o mesmo conceito é descrito por vários nomes (e.g. agricultor, agricultora, camponês, camponesa).
– A imposição de regras de negócio sobre os valores dos dados em vista a obtenção de da- dos normalizados (e.g. nº de contribuinte – 999 999 999).
– A necessidade de mecanismos de conversão a empregar sobre os dados (e.g. sistemas métricos distintos, o peso em libras ou em quilogramas).
No que respeita às operações de correcção dos dados, devem ser tomadas posições claras sobre os dados a corrigir que se prendam além da padronização e consistência de valores. Assim, de- vem ser rectificados:
– Os valores com ruído (e.g. o peso de uma pessoa é 560 kg). – O conflito no domínio dos dados (e.g. código postal).
– Os valores que não respeitam as regras do negócio (e.g. o cliente prestigio sem uma ex- tensão de crédito associada).
A resolução da ausência de valores merece especial cuidado e deve ser abordada neste conjunto de operações correctivas. Esta situação tende a ser mais melindrosa na medida em que é preciso definir como deve ser efectuada a correcção e o preenchimento de valores por defeito [Kimball et al., 1998] [Raisinghani, 1999]. A ausência de valores nos dados pode ficar dever-se:
– Aos dados não se encontrarem sempre disponíveis. – Ao mau funcionamento do equipamento.
– À inconsistência com outros dados armazenados e consequente supressão.
– À não entrada de dados devido a enganos ou de determinados dados não serem conside- rados importantes no momento da introdução dos valores.
As tarefas de integração dos dados visam a conciliação entre os dados provenientes de fontes dispersas e de natureza interna ou externa à organização. As operações mais comuns são:
– A combinação de fontes de dados, através do confronto entre o valor das chaves, ou con- frontos profundos entre os atributos não chave.
– A identificação e reunião de valores duplicados (e.g. a mesma entidade encontra-se regis- tada duplamente).
– A resolução de conflitos entre relações de dependência (e.g. uma relação num local pode ser 1:1 e noutro local essa relação pode ser 1:n).
– A criação de chaves de substituição para as diferentes linhas das dimensões, substituindo assim, as chaves das fontes. Deste modo, é possível uma melhor manutenção da integri- dade referencial entre as dimensões e as tabelas de factos.
Por último, as operações relativas à remoção de dados centram-se em retirar os dados considera- dos inválidos para o DW. Esta opção mais radical justifica-se pelo facto dos dados não serem pro- cessados convenientemente pelas operações anteriores e por isso, caso sejam carregados cor- rompem a qualidade dos dados e poluem o DW. Esta posição pode ficar a dever-se à utilização de uma coluna usada de forma livre e que seja impossível de compreender e corrigir, à rejeição de uma coluna sem interesse, ou à supressão de uma coluna que apresente um elevado grau de sujidade dos valores presentes e impeditivos de atitudes correctivas. Ou ainda pela natural evolu- ção dos dados, os dados recentes e veteranos registados numa mesma coluna tendem a não se referirem à mesma característica, ou seja, a mesma coluna pode ser referida para propósitos dis- tintos. A remoção de dados pode ainda resultar da detecção e reunião de linhas de valores dupli- cadas. Em qualquer circunstância, o administrador do DW, pelo conhecimento cabal do SO, deve determinar quais os dados que interessa manter, corrigir e eliminar. Assim, esta situação introduz a necessidade de uma ponderação sobre as consequências da perda de dados. A primeira respei- ta a averiguar se os prejuízos provocados pela ausência de dados são piores do que aqueles que resultariam da existência de dados incorrectos. A segunda resulta na possibilidade da rejeição de determinados dados provocar a necessária rejeição de outros dados de modo a manter as ques- tões estruturais dos dados intactas, tanto ao nível da tabela como de outras tabelas (e.g. a quebra de integridade referencial) [Olson, 2003].
Preparação dos dados
Relativamente às operações de preparação dos dados para os utilizadores finais, é possível a obtenção e cálculo de novos valores pela combinação de dados. Estas acções derivam da apre- sentação das características mais adequadas que os dados devem possuir, tendo em vista o inte- resse do negócio, a obtenção de dados valorizados e agradavelmente acessíveis aos consumido- res finais. Algumas dessas operações são:
– A derivação de valores das colunas (e.g. valor_vendas_líquido + IVA → total_venda). – A agregação de valores colunas (e.g. vendas_por_dia → vendas_por_mês).
– Os cálculos numéricos comuns (e.g. contagens e somatórios).
– Os cálculos sobre categorizações de atributos ou construção de hierarquias conceptuais (e.g. contagens por concelho/distrito/região).