A importância da Qualidade de Dados

Card com fundo claro e barra roxa no topo. Texto central diz “A importância da Qualidade de Dados” em fonte pixelada roxa e preta. No canto inferior direito aparece o logotipo circular da Cumbuca Dev em tons de roxo e lilás.

|

3–5 minutos

Recentemente o tema da qualidade de dados vem ganhando importância na área de dados como um todo. O termo “qualidade de dados” pode parecer óbvio, já que a famosa frase garbage in, garbage out (lixo entra, lixo sai) é repetida desde os primórdios dos data warehouses. No entanto, a qualidade de dados atualmente não se trata apenas de uma preocupação, mas sim de uma série estruturada de medidas, utilizando-se de testes, monitoramento e observabilidade, que visam garantir a qualidade dos dados que estão sendo utilizados. Em resumo, falar em qualidade de dados atualmente é falar de procedimentos e ferramentas específicas, não apenas chamar a atenção para o fato de que os dados precisam ter qualidade.

Nos artigos anteriores já falamos sobre alguns cases e sobre ferramentas utilizadas para garantir a qualidade dos dados, porém neste artigo iremos explorar de forma mais conceitual a área de Data Quality. A qualidade de dados possui alguns paralelos com a área de segurança da informação e, assim como tal, engloba processos, tecnologia e pessoas no ambiente corporativo. Muitos dos problemas que envolvem a qualidade de dados envolvem erros humanos. Ambiguidades, falta de clareza, displicência e até mesmo falta de entendimento sobre os dados. Em muitos casos os erros são sutis, difíceis de serem percebidos, porém, em outros casos, eles podem ser catastróficos e conduzir a decisões de negócio completamente equivocadas. Pense em uma empresa multinacional que registra vendas em diversas moedas distintas. Imagine que, ao criar um pipeline de dados de forma desatenta, o profissional responsável esqueça de realizar a conversão das vendas para uma moeda única. Uma compra no valor de cinco reais pode ser interpretada como uma compra no valor de 5 dólares.

Para tentar detectar discrepâncias que indiquem problemas na qualidade de dados, podemos realizar a implementação de testes, que tentem identificar tanto padrões como a ausência deles. Estes testes se assemelham aos testes unitários e são executados a cada ingestão de dados. Entre os padrões (ou outliers) mais comumente buscados, podemos citar:

  • Quantidade de valores Null acima do esperado;
  • Volume de dados fora do esperado (podendo ser tanto acima como abaixo do esperado);
  • Valores fora do range, ou fora das opções esperadas;
  • Dados duplicados;
  • Verificação de schema (as colunas, ou chaves, correspondem ao esperado?);
  • Coerência entre os dados (ex: o lucro não pode ser maior do que o valor arrecadado).

Existem diversas ferramentas que oferecem soluções para a criação de testes de validação da qualidade de dados. Em um artigo anterior nós já falamos sobre as ferramentas Python mais comumente utilizadas, porém não citamos o dbt, que é uma biblioteca Python que implementa um framework de ETL/ELT com foco na utilização de SQL, mas que também aceita transformações de dados na própria linguagem Python. O dbt fornece uma função integrada ao pipeline onde podemos programar testes que serão executados juntamente com os pipelines, podendo também programar a resposta, sendo esta o envio de um alerta ou o circuit breaker (interrupção e rollback do pipeline de dados). Outra ferramenta que possui uma verificação dos dados a cada execução é o Kafka (e suas outras versões como o Kinesis da AWS). Esta ferramenta implementa uma verificação de schema do dado chamada schema registry, o que permite antecipar problemas de incompatibilidade de schema dos dados trafegando no Kafka (dados semi-estruturados) e dados em bases relacionais (dados estruturados).

Obviamente, a qualidade de dados não se resume à implementação de testes. Ela também está relacionada à organização dos dados, o que envolve a criação de metadados. Os metadados servem para que possamos ter um entendimento maior sobre os dados que estão sendo processados, possibilitando realizar a implementação de outras técnicas de governança de dados, que por sua vez também estão relacionadas com a qualidade dos dados. Uma destas técnicas é o data lineage, que visa manter a rastreabilidade da origem dos dados e todo o caminho realizado por eles, desde a fonte dos dados até a sua aplicação downstream. Temos também os Catálogos de Dados, que permitem realizar o data discovery e facilitam a validação da qualidade de dados.

Enfim, a conclusão deste artigo é que a qualidade de dados é um campo vasto e que ainda está sendo estruturado. Neste artigo, tentamos abordar os seus principais tópicos, mas ainda há muito para ser explorado. Por isso, deixo aqui claro que o meu objetivo é simplesmente apresentar o assunto e, caso você se sinta curioso ou instigado para saber mais, deixo aqui a minha recomendação para o livro que está na referência deste artigo e os meus votos de sucesso na sua jornada em busca de mais conhecimento sobre a qualidade de dados.

ReferênciasMoses, B., Gavish, L., & Vorwerck, M. (2024). Fundamentos da qualidade de dados: Guia prático para criar pipelines de dados confiáveis (C. Ravaglia, Trad.). São Paulo, Brasil: Alta Books. ISBN 978-8550821139.


Deixe um comentário

Assinar

Digite seu e-mail abaixo e fique por dentro das nossas novidades e atualizações!