REVISTA CONTEÚDO ARTIGO
Transcrição
REVISTA CONTEÚDO ARTIGO
REVISTA CONTEÚDO ARTIGO DIRTY DATA E SUAS CONSEQUÊNCIAS NEGATIVAS EM UM SISTEMA DE BANCO DE DADOS Luis Cyrilo Ganassim Verdi1 Fabiana Lorenzi2 RESUMO O fato de um dado estar devidamente registrado em um sistema de banco de dados não significa que seu valor denotativo seja correto. E o que mais importa é justamente isto: seu valor denotativo; pois é devido ao fato de dados serem utilizados principalmente na fomentação de atividades intelectuais envolvendo o fornecimento de informações. E se eles estiverem incorretos, as consequências serão fatalmente inconvenientes para quem os consome. Tais dados são conhecidos como dirty data. O presente artigo aborda este tema, descrevendo suas principais características, e também discorre concisamente a questão de data cleansing. Palavras-chave: Dirty data, dados, banco de dados, data cleasing. DIRTY DATA AND ITS NEGATIVE CONSEQUENCES IN A DATABASE SYSTEM ABSTRACT The fact of a data be stored appropriately in a database doesn't mean its denotative value is right. And the most important thing is its denotative value; this is due to the fact that data supply intellectual activities that provide information. And if data were wrong, the consequences will be fatally improper for those that use them. Such data are known as dirty data. This paper approaches them, describing their main characteristics, and also analyzes briefly the data cleansing matter. Keywords: Dirty data, data, database, data cleansing. 1 Especialista em Gestão de Banco de Dados pela Universidade Luterana do Brasil (ULBRA). 2 Doutora em Ciência da Computação pela Universidade Federal do Rio Grande do Sul (UFRGS). © Revista Conteúdo, Capivari, v.7, n.1, set./dez. 2014 – ISSN 1807-9539 100 REVISTA CONTEÚDO ARTIGO INTRODUÇÃO O fato de um dado estar devidamente registrado em um sistema de banco de dados não significa que seu valor denotativo seja correto; pois se ele tem uma estrutura morfológica válida de acordo com um conjunto de regras permitidas, sua entrada e persistência no mesmo são admitidas e rusticamente válidas. Mas para a organização que o utiliza, o mais importante é a sua qualidade denotativa. Isto porque dados são utilizados principalmente na fomentação de atividades intelectuais envolvendo o fornecimento de informações, e estando esses dados incorretos, as consequências são fatalmente inconvenientes para quem os consome. Pode-se citar, como exemplo, o uso de dados errados em cálculos estatísticos, ocasionando falsos e distorcidos resultados (HERNÁNDEZ; STOLFO, 1997). Tais dados são conhecidos como dirty data, e originam-se de erros na entrada de dados, padrões de codificação frugais, esquemas diferentes, sistemas de legado, evolução de aplicações, migração de dados em sistemas, o não uso de identificadores únicos em banco de dados, erros de programação e falhas na transmissão de dados. Para resolver este emergente problema, soluções corporativas e tecnológicas são oferecidas, baseadas em aplicações que auxiliam e automatizam funções no processo de saneamento de dados, conhecido como data cleansing. Os efeitos prejudiciais pela persistência de dirty data afetam praticamente todos os segmentos sociais e tecnológicos de uma organização, pois como os processos de negócios são entrelaçados de maneira dinâmica, a possibilidade de alastramento de dados inconsistentes por todas as atividades que a organização executa é robustamente viável. Este artigo está organizado da seguinte forma: a seção 2 apresenta o conceito e as configurações contextuais de dirty data. A seção 3 se refere ao processo de data cleansing e suas principais etapas, que são análise, transformação e integração de dados. A seção 4 abrange as consequências causadas por dirty data, descrevendo as características qualitativas de dados, os custos de dirty data e os impactos funcionais dos mesmos. E por último, a seção 5 conclui o artigo realçando a responsabilidade do usuário humano ao se interagir com um sistema computacional. © Revista Conteúdo, Capivari, v.7, n.1, set./dez. 2014 – ISSN 1807-9539 101 REVISTA CONTEÚDO ARTIGO CONCEITUAÇÃO DE DIRTY DATA Dirty data3 é um dado com valor denotativo inválido aceitável em um sistema de banco de dados, pelo motivo de sua estrutura e composição morfológica estarem de acordo com um conjunto de caracteres e regras permitidos. Pode assumir formas diferentes, por estar submetido à intervenção humana e também a processos de manipulação, sendo estes de natureza interna (relacionados ao sistema gerenciador de banco de dados) ou externa (relacionados aos demais componentes computacionais), durante o ciclo de vida de um dado. Segundo (KIM et al, 2003, p. 82), este ciclo é composto pela captura, armazenamento, atualização, transmissão, acesso, arquivamento, restauração, deleção e, por fim, purgação do dado em questão. Cada etapa pode ser um manancial de dirty data, revestido, respectivamente, de erros humanos e computacionais. CONTEXTUALIZAÇÃO DE DIRTY DATA O contexto é o principal fator que ambienta as afigurações de dirty data. Estas, por sua vez, ramificam-se em situações sob o ângulo técnico, social e mercantil (esculpido por regras de negócio), contemporizadas num sentido cronológico atual (tecnologias sem imposições de outras) ou preterido (tecnologias legadas). Advindo disto, dirty data manifesta-se em três diferentes modelos: dado ausente, dado não ausente mas errado e dado não ausente e não errado mas inútil (KIM et al, 2003). Norteando-se a um rumo estrito a sistemas de banco de dados, as possíveis configurações que um dirty data pode assumir são oriundas de uma fonte ou de múltiplas fontes, e enquadram-se basicamente em nível de esquema ou em nível de instância (RAHM; DO, 2000). Certamente problemas inerentes ao nível de esquema refletem-se no nível de instância; eles podem ser alocados no nível de esquema por um design de esquema aperfeiçoado (evolução do esquema), esquema de tradução e esquema de integração. Por outro lado, os problemas relacionados ao nível de instância referem-se a erros e 3 Data, em inglês, é o plural da palavra datum. Todavia, por esta ser raramente empregada, será utilizado o termo data para se referir tanto ao singular quanto ao plural da palavra dado. © Revista Conteúdo, Capivari, v.7, n.1, set./dez. 2014 – ISSN 1807-9539 102 REVISTA CONTEÚDO ARTIGO inconsistências nos conteúdos de dados vigentes que não são visíveis no nível de esquema. (RAHM; DO, 2000, p. 3, tradução nossa). No que diz respeito ao aspecto técnico, a circunstância ambiental das operações do sistema de banco de dados pode ser transacional, em que transações ocorrem simultaneamente, ou não, sendo que cada transação se sucede unitariamente. Caso ela seja transacional, há a necessidade da implantação de um gerenciador de transações; pois sob a concomitância incontrolável delas, a cessação de dirty data torna-se inexequível. TIPOS DE DIRTY DATA PROVENIENTES DE UMA FONTE As características dos dados provenientes de uma única fonte estão vinculadas à maneira de como eles são tratados pelo design do esquema e pelo arranjo de coações de integridade (constraints). Sendo assim, a ocorrência de dirty data neste nível é muito provável quando o esquema é parcamente elaborado, no sentido de objetividade quanto à persistência dos dados que serão armazenados, e quando o arranjo de coações de integridade é frouxo e inexpressivo. É importante salientar que em “fontes que não utilizam esquemas, como arquivos, há poucas restrições sobre os dados que serão armazenados, aumentando a probabilidade de que ocorram inconsistências e haja erros.” (RAHM; DO, 2000, p. 3, tradução nossa). No entanto, em sistemas de banco de dados, que possuem meios de forçar restrições em contextos específicos, essa probabilidade é menor. Sob a perspectiva de uma fonte no nível de esquema, dirty data tipifica-se em: Ilegal – valor não contido num conjunto de valores aceitáveis. Exemplo: uma data gregoriana possuir o dia 29 em um ano não bissexto; Data= 29/02/2014. Dependente violado – valor relacionado diretamente a outros valores, sendo ele incoerente com os mesmos. Exemplo: a idade de uma pessoa não estar condizente com seu dia de nascimento; Data de nascimento= 01/04/2000, Data de hoje= 30/03/2014, Idade= 20 anos (era para a idade desta pessoa ser 13 anos). Exclusivo violado – valor que não pode ser igual a outro valor. Exemplo: duas pessoas com o R.G. iguais; Nome1= “João Ferreira”, R.G.1= © Revista Conteúdo, Capivari, v.7, n.1, set./dez. 2014 – ISSN 1807-9539 103 REVISTA CONTEÚDO ARTIGO 30.500.700-1, Nome2= “Suzana de Almeida”, R.G.2= 30.500.700-1. Mal referido – valor referente a outro valor que não existe. Exemplo: aluno estudar numa escola inexistente. Nome= “Pedro Santos”, Escola= “Idiomas Inc.” (esta escola não está cadastrada no banco de dados). Mojibake – representação de um conjunto de caracteres por uma codificação que não o suporta, cuja imagem abeira-se a hieróglifos. Este tipo de dirty data se sucede em arquivos4. Exemplo: a palavra nipônica “文字化け” codificada no padrão UTF-8 (8-bit Unicode Transformation Format) ser erroneamente apresentada como “æ–‡å—化ã”. Dado que data cleansing é um processo custoso, prever dirty data de entrar em um banco de dados é obviamente um importante passo para reduzir este processo. Isto requer um design de esquema e coações de integridade apropriados, tanto na parte do sistema de banco de dados quanto nas aplicações ligadas à entrada desses dados. (RAHM; DO, 2000, p. 3, tradução nossa). Todavia, (KIM et al., 2003, p. 86) ressalta que não há como sistemas de banco de dados saberem qual coação de integridade deve ser aplicada, devido a eles desconhecerem a semântica dos dados. Por exemplo, o fato do campo “idade” da tabela “funcionário” ser do tipo de dado inteiro (integer), fará com que o sistema gerenciador de banco de dados impeça que valores de cadeia de caracteres (string) sejam usados. Contudo, ele permitirá valores incoerentes, tais como 0 ou 567, pois são conformes a esse tipo de dado. Sendo assim, percebe-se que as coações de integridade reforçam apenas o fundamento aspectual pelo qual dados devem se limitar. Para um controle mais sensível e acurado, outros objetos do sistema de banco de dados em questão devem ter suas funcionalidades cinzeladas. Sob a perspectiva de uma fonte no nível de instância, dirty data tipifica-se em: Ausente – valor indisponível ou estúpido. Exemplo: Telefone= - ; Nome= “auehaeuheu”. Mal escrito – valor com caracteres incoerentes ao seu sentido morfológico, provenientes de erros de digitação e de fonética. 4 Não confundir mojibake com dado criptografado. © Revista Conteúdo, Capivari, v.7, n.1, set./dez. 2014 – ISSN 1807-9539 104 REVISTA CONTEÚDO ARTIGO Exemplo: Cidade= “Saum Paulu”, sendo que o correto é “São Paulo”. Omisso – valor oculto, devido a abreviações ou siglas. Exemplo: Bairro= “St. Agostinho”, sendo que o valor completo seria “Santo Agostinho”. Embutido – valor que é um conjunto de valores de outros campos. Exemplo: Nome= “Carlos Alcunha 30/08/1980 Caxias/RS”. Indevido – valor cadastrado em um campo incoerente. Exemplo: País= “Rio Grande do Sul”. Referido incoerentemente – valor referenciado por outro incorretamente. Exemplo: Cidade= “São Paulo”, CEP= “13.390-000”. Duplicado – valor que possui uma ou várias cópias cadastradas no sistema, sendo elas exatamente iguais ou não. Exemplo: Funcionário1 (Nome= “Gabriel Oliveira”, Data de nascimento= 12/03/1987), Funcionário2 (Nome= “Gabriel Oliveira”, Data de nascimento= 12/03/1987), Funcionário3 (Nome= “Gabriel O. 12/03/1987”). Corrompido – valor distorcido por uma ação proveniente do sistema de banco de dados. Exemplo: consequências causadas por fenômenos transacionais adulteradores, que são lost update, dirty read, unrepeatable read e lost transaction. Não padronizado – valor cuja composição de caracteres não é padronizada. Exemplo: Nome1= “J. Gomes”, Nome2= “Heitor J.”. Fantasma – valor aparentemente válido que na realidade não existe. Exemplo: Cliente (Nome= “Antonio Silva”, Data de nascimento= 05/06/1990, ...), o cadastro não possui nenhuma incoerência, contudo essa pessoa não existe no mundo real. © Revista Conteúdo, Capivari, v.7, n.1, set./dez. 2014 – ISSN 1807-9539 105 REVISTA CONTEÚDO ARTIGO Para a prevenção de valores prestigiosamente corrompidos, (KIM et al, 2003, p. 87) releva que as funcionalidades oferecidas por um gerenciador de transações garantem que tais tipos de dirty data não ocorram enquanto o sistema computacional continente do sistema de banco de dados não seja destruído. Também é importante ter-se um raciocínio precavido e holista no uso de objetos do sistema de banco de dados em questão, e na formulação da lógica dos mesmos, para que assim a manipulação dos registros seja adequada. Vários tipos de dirty data podem ser controlados utilizando-se triggers. Mas há situações que podem ser difíceis de serem controladas, especialmente quando a condição que ativa a trigger lê dirty data (por exemplo, valores mal escritos, valores com contexto incompleto). (KIM et al, 2003, p. 90, tradução nossa). TIPOS DE DIRTY DATA PROVENIENTES DE MÚLTIPLAS FONTES Os tipos de dirty data de múltiplas fontes são praticamente os mesmos que os de uma fonte, contudo muito mais aguerridos. Isto porque as múltiplas fontes necessitam ser integradas, sendo que cada uma delas pode ter problemas específicos já citados na seção anterior. Com base nisto, a questão discutível tange no conceito de harmonização da heterogeneidade, pois geralmente cada fonte é desenvolvida independentemente, de acordo com as suas próprias necessidades, tendo distintos sistemas gerenciadores de banco de dados, modelos de dados, design de esquema e entrada de dados. Dessa maneira, as interpretações contextuais a respeito do padrão dos dados e de seu devido valor divergem-se entre si, podendo, dependendo do ângulo pelo qual são tratadas, estarem certas ou não. Entretanto, se mais de um banco de dados independente for integrado, os dados tornar-se-ão dirty data no contexto do banco de dados integrado, mesmo que cada dado das duas fontes esteja correto. (KIM et al, 2003, p. 90, tradução nossa). De acordo com (RAHM; DO, 2000), no nível de esquema as diferenças do modelo de dados e do design de esquema das múltiplas fontes devem ser submetidas aos passos procedentes de esquemas de tradução e de integração, respectivamente. Com relação ao design de esquema, há dois principais problemas: conflitos de nominais e estruturais. Sob a perspectiva de conflitos nominais, dirty data afigura-se em: © Revista Conteúdo, Capivari, v.7, n.1, set./dez. 2014 – ISSN 1807-9539 106 REVISTA CONTEÚDO ARTIGO Homônimo – quando o mesmo nome é usado por diferentes objetos. Exemplo – Cliente/Consumidor, Aluno/Estudante, Funcionário/Empregado, Sexo/Gênero Sinônimo – quando diferentes nomes são usados pelo mesmo objeto. Exemplo – um campo usa a representação DD/MM/AAAA para datas, outro utiliza a representação MM/DD/AAAA; um campo usa caractere branco (“ ”) para o espaço, outro utiliza o underline (“_”); um campo para o atributo “Endereço” é único em uma fonte, e em outra fonte é fragmentado em “Cidade”, “Bairro”, “Rua”. Na parte estrutural, o problema se sucede quando há diferentes representações de um mesmo objeto intrínseco ao sistema de banco de dados. Por exemplo, tipos de dados (metadados), componentes estruturais, gerenciadores de transações e coações de integridade. Se alguém toma a visão de que diferentes representações do mesmo dado podem ser prevenidas se um padrão representativo for especificado e forçado como uma forma de coação de integridade, então estes tipos de dados podem ser considerados como dirty data. Também, se alguém toma a visão de que mesmo se um padrão único representativo é forçado, se mais de um banco de dados deve ser integrado, as diferenças causarão um conflito que deve ser resolvido. Então estas diferentes representações do mesmo dado não são realmente dirty data, mas simplesmente inutilizáveis até que um padrão único seja adotado e as representações distintas se convirjam. (KIM et al, 2003, p. 89, tradução nossa). Quanto ao nível de instância, o obstáculo está no conflito dos dados, que se dissemina em dados duplicados de diversas fontes e em representações diferentes para valores iguais. Neste último, por exemplo, em uma fonte há o padrão para se colocar no atributo “Sexo” os valores “Masculino” ou “Feminino”, e em outra fonte os valores “M” ou “F”. Ademais, mesmo quando há nomes de atributos e tipos de dados iguais, pode haver diferentes representações de valores (situação conjugal, por exemplo) ou diferentes interpretações dos valores (mensuração de unidades monetárias em real e em dólar) nas fontes. Além disso, informações nas fontes podem ser provenientes de diferentes níveis de agregações (vendas por produto e vendas por grupo de produtos) ou se referirem a momentos distintos (vendas correntes de ontem da fonte 1 e vendas da semana passada da fonte 2). (RAHM; DO, 2000, p. 4, tradução nossa). DATA CLEANSING © Revista Conteúdo, Capivari, v.7, n.1, set./dez. 2014 – ISSN 1807-9539 107 REVISTA CONTEÚDO ARTIGO Data cleansing5 é o processo pelo qual se remove dirty data. Pode ser feito através da erradicação, que elimina a existência de dirty data no sistema de banco de dados, ou pela depuração, que mundifica seu valor até deixá-lo de acordo com o que foi tencionado; sendo tais procedimentos precedidos pela detecção de irregularidades (WANG et al., 2005). Há a possibilidade de ele ser atado diretamente à entrada de dados no sistema de banco de dados ou aplicado após esse fato, tendo em vista o aprimoramento da qualidade dos dados em questão. Segundo (MALETIC; MARCUS, 2000, p. 2), o processo de data cleansing envolve procedimentos de decomposição e recomposição de dados, sendo eles mais fulgentes em bancos de dados relacionais. É computacionalmente dispendioso em extensos conjuntos de dados, por isso é praticamente inconcebível executá-lo em hardware com características escassas. É inteligível que o processo de data cleansing feito manualmente é totalmente laborioso, custoso e sujeito a erros (SALL, 2013). Por conta disso, softwares são utilizados para a realização desta tarefa. Pode-se citar, como exemplo, o Quick Address (QAS), Trillium (Trillium Software) e matchIT Data Cleansing Suite (Help IT Systems). A necessidade de poderosas e eficientes ferramentas que automatizam ou auxiliam intensamente no processo de data cleansing são de grande ajuda, e podem ser a única maneira efetiva em se tratando de praticidade e custo para se alcançar um nível de qualidade razoável no conjunto de dados em questão. (MALETIC; MARCUS, 2000, p. 1, tradução nossa). É também evidente que o contexto político territorial influencia nas características dos softwares oferecidos, que periodicamente vão se elaborando de acordo com as necessidades deste segmento para tornarem-se condizentes ao mesmo. Ferramentas comerciais de data quality, como o Trillium, First Logic e Vality, foram engenhadas com o passar dos anos e estão provando serem altamente capazes de auxiliar na conversão de nomes e endereços de vários países em seus padrões e representações, com a ajuda de vastas diretrizes nacionais para com nomes e endereços. (Vality Technology Inc.; First Logic Inc.; Trillium, 1998 apud KIM et al, 2003, p. 92, tradução nossa). 5 Em inglês, os termos cleansing e cleaning significam a mesma coisa. Contudo, o primeiro conota negatividade (o que está a ser limpo é penoso ou preocupante) e profundidade (limpeza intensa); portanto, o mesmo será utilizado neste artigo. © Revista Conteúdo, Capivari, v.7, n.1, set./dez. 2014 – ISSN 1807-9539 108 REVISTA CONTEÚDO ARTIGO As fases que constituem o processo de data cleansing são, comumente, padrões passíveis de serem empregados por qualquer metodologia, divergindo-se na técnica algorítmica de impô-los. Elas se embasam num sentido polar cíclico de procedimentos que se iniciam na análise de dados, transformação dos mesmos, entremeiam-se os comparando, e terminam na conceptível integração deles. ANÁLISE DE DADOS A análise de dados tem como objetivo averiguar todo conjunto de dados, ou apenas parte dele, em um sistema de banco de dados, com o propósito de detectar dirty data. Para tal atividade, ela se fundamenta na investigação de indícios de irregularidades e inconsistências num determinado conjunto de dados, através de uma pluralidade de técnicas pertencentes a diversificados campos da área de exatas (como estatística, estrutura de dados e aprendizado de máquina). Pode ser feita diretamente por humanos, sendo dispendioso e não efetivo em grandes coleções de dados, e por softwares, tais como o Migration Architect (Evoke Software), WizRule (WizSoft) e Data Mining Suite (Viscovery), ou componentes integrados a outras ferramentas. Neste processo de examinação são utilizados como principais parâmetros os metadados da coleção de dados a ser investigada, os padrões de qualidade de dados estabelecidos pela própria instituição que faz a análise e técnicas de reengenharia que auxiliam na elaboração de linhas de raciocínio para se concluir a melhor descrição que um certo tipo de dirty data se enquadra. E na maior parte das vezes tais parâmetros são empregados concomitantemente. Metadado refletido em esquemas é tipicamente insuficiente para a avaliação da qualidade de dados em uma determinada fonte, especialmente se poucas coações de integridade são impostas. É, assim, importante analisar o nível de instância para obter metadados (reengenhados) reais sobre as características dos dados ou inabituais padrões de valores. (RAHM; DO, 2000, p. 6, tradução nossa). Nota-se, além disso, que fatores como a dimensão de dirty data e sua ascendência num sistema de banco de dados, assim como o paradigma da instituição para com o que considera ser a projeção de um dado limpo, estão severamente relacionados à acurácia de dados. É claro que se a proporção de dirty data que resulta em transformação errada de dados ou a proporção de dados ausentes é alta, com relação ao conjunto de dados em questão, os resultados de data mining tendem a ser inconfiáveis. No entanto, a © Revista Conteúdo, Capivari, v.7, n.1, set./dez. 2014 – ISSN 1807-9539 109 REVISTA CONTEÚDO ARTIGO magnitude de erro relacionada à transformação de dados também importa. Por exemplo, um dado numérico que representa um salário, 75.500 em vez de 75.400, quando convertido a uma categoria de dados em fragmentos de 10.000, não impactará o resultado; mas 100.000 em vez de 10.000 sim. (KIM et al, 2003, p. 96, tradução nossa). Há duas abordagens que influenciam determinantemente a maioria das metodologias de análise de dados, que são a perfilação de dados e a mineração de dados. Ambas se manifestam e se sucedem em sentidos diferentes. PERFILAÇÃO DE DADOS A perfilação de dados se foca em analisar atributos individuais no nível de instância, com o objetivo de derivar informações inerentes a dados, como dimensão, alcance de valor, valores discretos e suas frequências, variação, exclusividade, ocorrência de valores ausentes e padrões de caracteres; provendo uma visão detalhada de vários aspectos qualitativos do atributo em questão (RAHM; DO, 2000, p. 6). A maneira de como esta abordagem atua é pouco integrada a fatores externos que se interagem com o sistema de banco de dados (regras de negócio abstrusas e demais componentes de softwares), devido à vigorosa pesquisa por metadados. Sendo assim, contextos levemente monólogos são mais apropriados a sua função. Alguns exemplos adequados à heurística de perfilação de dados são: Cardinalidade – atributos como gênero e estado civil devem ter valores limitados a uma restrita gama de opções. Sendo assim, a perfilação faz uma varredura para constatar se o conjunto de dados armazenados referentes a tais atributos está restrito a esse limite. Alcance – atributos como idade e preço devem se restringir a um determinado alcance de valores. Tendo isso como base, a perfilação verifica se o conjunto de dados relacionados a estes atributos se delimita neste alcance. Variação – examina, a partir de um conjunto correto de dados, se há dados com caracteres alterados referentes a este conjunto. Ausência – expressa a percentagem de ausência de valores de um determinado atributo. Duplicata – busca por valores idênticos em um determinado atributo. © Revista Conteúdo, Capivari, v.7, n.1, set./dez. 2014 – ISSN 1807-9539 110 REVISTA CONTEÚDO ARTIGO Mineração de dados A mineração de dados concentra-se em descobrir, no nível de esquema, padrões específicos de dados em grandes conjuntos e coleções, tais como associações de atributos e vínculos entre dados. Para isso, conta principalmente com algoritmos voltados a estatísticas interpolares, recuperação de dados e inteligência artificial. Sua perspectiva de atuação é intensamente introspectiva, pelo fato de iniciar sua busca numa estratificação do software direcionada ao lado do cliente (parte com a qual o humano interage diretamente) até percorrer as porções mais herméticas, de acordo com a função pela qual foi empregada. Por ser de aplicabilidade estreitamente ligada às circunstâncias, são vários os exemplos existentes, moldando-se ordinariamente em: Identificação de padrões – busca, em um conjunto de dados, por padrões estabelecidos em seus parâmetros de pesquisa. Associação direta de dados – examina se há relação entre dados aparentemente desconexos em contextos semelhantes. Associação indireta de dados – procura sinais de supostos elos entre dados sem relacionamento expressivo em circunstâncias desarticuladas. TRANSFORMAÇÃO DE DADOS A transformação de dados consiste num mapeamento de regras que transmudam dados em níveis de esquema e instância. Para sua execução ser efetivamente viável, é necessário o suporte de extensões de alguma linguagem de programação ou scripts que automatizam esta tarefa. Uma abordagem para a execução de transformação de dados mais arqueável e intrínseca a banco de dados é servir-se de User-Defined Functions (UDF), que são funções com mecanismos e características estendidas em relação às funções convencionais (RAHM; DO, 2000). Desta maneira, estão aptas a abrigarem lógicas purgativas para lidarem com dirty data. Elas podem ser implementadas diretamente em SQL ou imbuídas em linguagens de programação como SQL statements. © Revista Conteúdo, Capivari, v.7, n.1, set./dez. 2014 – ISSN 1807-9539 111 REVISTA CONTEÚDO ARTIGO As UDFs toleram a implantação de vários planos de transformação de dados e suporte para reusabilidade em diferentes tarefas. Além disso, por sua execução ser interna no sistema de banco de dados, o custo de acesso a dados é reduzido, tendo como consequência o aumento de desempenho. Geralmente as transformações no nível de esquema necessitam de apoio integral por parte de extensões de linguagens de programação, o que é mais tênue no nível de instância. Data cleansing no nível de instância pode também se beneficiar de extensões de linguagem de programação especiais, como o operador de comparação que suporta “joins adjacentes”. O suporte a esses poderosos operadores pode simplificar enormemente os esforços despendidos em programação para transformação de dados e aumentar o desempenho do sistema. (RAHM; DO, 2000, p. 7, tradução nossa). INTEGRAÇÃO DE DADOS A integração de dados é o procedimento responsável pela incorporação de dados oriundos de diferentes fontes e coleções. É a última etapa do processo de data cleansing, pelo motivo de diversificadas técnicas de transformação serem aplicadas às diferentes fontes e coleções de dados. O ato de integrar dados originários de fontes diferentes alude-se com dirty data provenientes de múltiplas fontes, exigindo como solução a reestruturação, espargida por lógica difusa, de esquemas, firmada na fragmentação, fusão, relação e desconjuntura de atributos e tabelas. Segundo (RAHM; DO, 2000, p. 7), pode-se delinear todas essas ações emoldurando-as em três etapas determinantes: Extração de atributos livres – retalha nexos existentes entre supostos dirty data, acudindo no extrato de valores para uma representação precisamente mais versátil. Validação e correção – depura dados instanciados com o intuito de nivelá-los para sua emergente padronização. Padronização – converte os dados em questão num formato uniforme e consistente, através de especificações de alteração. CONSEQUÊNCIAS PELA PERSISTÊNCIA DE DIRTY DATA © Revista Conteúdo, Capivari, v.7, n.1, set./dez. 2014 – ISSN 1807-9539 112 REVISTA CONTEÚDO ARTIGO A ilação em conter dirty data num sistema de banco de dados é absolutamente subjetiva à visão cultural da instituição em apreço; mas, seguramente é nociva e prejudicial em todos os ângulos dos componentes funcionais tecnológicos e administrativos da mesma, pois dados possuem a propriedade de prolificar seus valores conotativos exacerbadamente (ver figura 1, que ilustra uma situação rotineira de como isso ocorre). Desta maneira, as consequências perniciosas podem se alastrar em diversos segmentos do prisma sumptuoso que reflete o que a instituição considera como prejuízo, sendo corroborada em algumas partes e cifrada em outras. Figura 1 – Diálogo entre Dilbert e seu chefe6. Apesar de todo esse efeito ser obscuramente mensurável, por ser subjetivo, há técnicas de análise e conceitos classificativos de dados que auxiliam na delimitação conveniente dos mesmos, provenientes da gama das opções cognoscitivas da área de Data Quality Management (DQM). CARACTERÍSTICAS DIMENSIONAIS QUALITATIVAS DE DADOS 6 Dilbert © Scott Adams. Todos os direitos estão reservados. Chefe: Use o banco de dados CRS para dimensionar o mercado. Dilbert: Aqueles dados estão errados. Chefe: Então use o banco de dados SIBS. Dilbert: Aqueles dados também estão errados. Chefe: Você pode mediá-los? Dilbert: Claro. Posso multiplicá-los também. Imagem disponível em: dilbert.com/strips/comic/2008-05-07/ © Revista Conteúdo, Capivari, v.7, n.1, set./dez. 2014 – ISSN 1807-9539 113 REVISTA CONTEÚDO ARTIGO Sob a óptica da utilidade sócio tecnológica de dados, tratando-se de uma forma relevantemente expressiva, pode-se conferir algumas propriedades importantes para a averiguação da qualidade dos mesmos. No entanto, (BRACKSTONE, 1999) ressalta que qualidade não é algo fácil de ser definido, e que primeiro se deve atentar ao contexto no qual se quer impô-la, levando primeiramente em conta o quão abrangente a noção qualitativa aplicada é, em relação à instituição em pauta. Partindo disso, (BRACKSTONE, 1999) considera seis características dimensionais de dados, cujas definições são: Relevância – representa o valor da relação entre o dado e a real necessidade em usá-lo. Acurácia – aponta o quão corretamente um dado descreve o fenômeno designado a ser mensurado. Temporariedade – reflete o período de tempo de um dado entre seu ponto de referência e sua disponibilidade. Acessibilidade – indica o grau de facilidade que um dado pode ser obtido. Interpretação – expõe o grau quantitativo de recursos suplementares designados no auxílio da determinação do significado do dado. Coerência – menciona a racionalidade da relação representativa de um dado com outro. Todas elas impingem-se entre si, sendo que o foco que se dá a uma sopesa no uso vigoroso de outra. É evidente que elas não são independentes umas das outras. Por exemplo, todas as outras cinco impactam na relevância. Existe um custo de oportunidade entre acurácia e temporariedade. Coerência e relevância podem, às vezes, estar em conflito devido à competição entre a necessidade da relevância contemporânea e a consistência histórica. A informação provida para garantir outra informação também serve para definir a coerência. (BRACKSTONE, 1999, p. 4, tradução nossa) CUSTOS ORIGINÁRIOS DE DIRTY DATA Os custos provocados por dirty data são oriundos de diversas variáveis e fontes (PIPINO; KOPCSO, 2004), sendo elas dissimuladas ou transparentes. Por conta disto, a © Revista Conteúdo, Capivari, v.7, n.1, set./dez. 2014 – ISSN 1807-9539 114 REVISTA CONTEÚDO ARTIGO mensuração dos mesmos é complicada e embaraçosa, sendo também influenciada pela desponderada integração delas, que se repercute de maneira acerbada. Calcular os custos vigentes causados pelo nível insuficiente da qualidade de dados é particularmente difícil porque muitos destes custos são indiretos, ou seja, eles não têm ligação imediata entre a inadequada qualidade dos dados e o efeito monetário negativo. Consequentemente, é difícil identificar custos ocultos, indiretos e desajudados. (EPPLER; HELFERT, 2004, p. 311, tradução nossa). Para esta mensuração, a princípio é levado em consideração o que se entende por qualidade. A partir disso, é possível mapear contabilmente pontos cruciais e traços estratégicos por onde o desperdício de recursos flui. De acordo com (EPPLER; HELFERT, 2004), critérios genéricos são mais apropriados, pois oferecem opções mutáveis de medição, em contraste com as definições restritas, que debilitam muitos fatores e são contra produtivas. Partindo disso, pode-se esboçar o arquétipo classificativo de custos como: - Baixo e alto – relacionado aos recursos sociais e monetários; - Corretivo e preventivo – vinculado ao processo de entrada de dados (nível de esquema); - Reprocessado e aperfeiçoado – inerente ao processamento direto de dados (nível de instância); - Direto e indireto – pertencente ao consumo dos valores de dados. Os custos diretos têm incidência imediata na saúde financeira da instituição em questão, enquanto que os custos indiretos recaem, no início, paulatinamente, tornando-se graves estorvos na medida em que se desenrolam. Para lidar com eles, há duas abordagens principais que são a reativa, que se embasa na reparação de dados, e a proativa, que se baseia na prevenção dos mesmos. Ambas são aplicadas de acordo com o fluxo da receita monetária da instituição em apreço, com o intuito de mantê-lo controlado e devidamente abastecido. IMPACTOS FUNCIONAIS Os impactos causados por dirty data impelem diretamente às características funcionais de uma instituição. De acordo com (MOORE, 2007), os mais contundentes estão assentados na parte superficial administrativa, constituindo-se da alta rotatividade de consumidores, despesas excessivas para se contatar um cliente e perdas de oportunidades de negócios. © Revista Conteúdo, Capivari, v.7, n.1, set./dez. 2014 – ISSN 1807-9539 115 REVISTA CONTEÚDO ARTIGO Entretanto, também se acentuam nas partes corporativas mais intrínsecas, como na elaboração de orçamentos, opções de manufatura, desenvolvimento e coordenação logística de produtos e serviços. No segmento tecnocrático, segundo (VALENTINE; CHASE, 2013) dirty data atrapalha nas operações de marketing digital, sendo a captura de comportamentos universais, projeção de perfil exclusivo para cada cliente, engines interativas e multicanais de interação as mais atingidas. Quanto ao aspecto voltado ao hardware e ao sistema gerenciador de banco de dados, dirty data utiliza recursos por simplesmente existir, pois para estar devidamente registrado no sistema, configurações esconsas (mapeamento de dados para os objetos estruturais do sistema gerenciador terem consciência de que eles existem) devem ser feitas, e em virtude disto recursos de hardware consumidos. Destaca-se também a colocação de (FIRME; HARRINGTON, 2013), que se refere ao crescimento exponencial de dirty data durante períodos anuais de tempo, que torna o banco de dados da instituição em questão um fornecedor de informações deteriorado para o setor de marketing, ocasionando custos desnecessários que atinam a receita da mesma. CONCLUSÃO Este artigo abordou o tema de dirty data, mostrando suas principais características, contextos e consequências, e descreveu genericamente o processo conceitual de data cleansing. Como resultado desta elaboração, percebe-se que dirty data é um grave problema, tendo como principal agente o ser humano. A parte humana é um dos três núcleos que compõem um sistema computacional, ao lado do hardware e do software. Sua função consiste em criar, configurar e utilizar, em um nível abstrato interno e além do ambiente digital, o que as outras duas têm a oferecer. Dessa maneira, o usuário humano possui grande responsabilidade ao se interagir com um sistema computacional, e suas ações afetam dinamicamente os processos fundamentais de entrada, processamento e saída. E a mais notável e democrática delas é a alimentação de banco de dados. © Revista Conteúdo, Capivari, v.7, n.1, set./dez. 2014 – ISSN 1807-9539 116 REVISTA CONTEÚDO ARTIGO Assim, sua capacidade intelectual deve estar devidamente calibrada com o seu objetivo na interação com um sistema computacional, sendo ele de origem operacional, gerenciadora ou criadora. Fornido de tudo isso, o propósito deste artigo foi conscientizar a respeito da existência de dirty data, que é um problema ambíguo, colossalmente desmedido e ainda pouco explorado. REFERÊNCIAS BIBLIOGRÁFICAS BRACKSTONE, Gordon. Managing Data Quality in a Statistical Agency. Statistics Canada, Survey Methodology, Catalogue No. 12-001-XPB, Vol. 25 No. 2, December 1999. EPPLER, Martin J.; HELFERT, Markus. A Classification and Analysis of Data Quality Costs. Proceedings of the Ninth International Conference on Information Quality, 311-325, MIT, 2004. FIRME, Mary; HARRINGTON, Lynn. Marketing Automation Webinar Series: The Cost of Dirty Data – by ReachForce & Scribe Software. Youtube. 2013. Disponível em: < www.youtube.com/watch?v=uLaDbXsXpbE>. Acessado em: 20 jun. 2014. HERNÁNDEZ, Mauricio A.; STOLFO, Salvatore J. Real-world Data is Dirty: Data Cleansing and the Merge/Purge Problem. Kluwer Academic Publishers, Data Mining and Knowledge Discovery, 2, 9-37, 1998. KIM, Won. CHOI, Byoung-Ju. HONG, Eui-Kyeong. KIM, Soo-Kyung. LEE, Doheon. A Taxonomy of Dirty Data. Kluwer Academic Publishers, Data Mining and Knowledge Discovery, 7, 81-99, 2003. MOORE, Susan. ‘Dirty Data’ is a Business Problem, Not an IT Problem, Says Gartner. Gartner. 2007. Disponível em: <www.gartner.com/newsroom/id/501733>. Acessado em: 21 jun 2014. MALETIC, Jonathan I.; MARCUS, Andrian. Data Cleansing: Beyond Integrity Analysis. The Department of Mathematical Sciences, Division of Computer Science, The University of Memphis, Memphis, 2000. © Revista Conteúdo, Capivari, v.7, n.1, set./dez. 2014 – ISSN 1807-9539 117 REVISTA CONTEÚDO ARTIGO PIPINO, Leo; KOPCSO, David. Data Mining, Dirty Data, and Costs. Proceedings of the Ninth International Conference on Information Quality,164-169, MIT, 2004. RAHM, Erhard; DO, Hong Hai. Data Cleaning: Problems and Current Approaches. University of Leipzig, Germany, 2000. SALL, John. Big data = Dirty data. sas. 2013. Disponível em: <blogs.sas.com/content/jmp/2013/09/17/big-data-dirty-data/>. Acessado em: 01 jun. 2014. VALENTINE, Ellen; CHASE, Peter. Improving the Customer Experience by Capturing and Using the Right Data – by Silverpop. Youtube. 2013. Disponível em: < www.youtube.com/watch?v=PU8wj9HScbA>. Acessado em: 21 jun. 2014. WANG, Xin; HAMILTON, Howard J.; BITHER, Yashu. An Ontology-Based Approach to Data Cleaning. Department of Computer Science, University of Regina, Regina, Saskatchewan, Canada, 2005. © Revista Conteúdo, Capivari, v.7, n.1, set./dez. 2014 – ISSN 1807-9539 118