curso
O que é linhagem de dados?
Você já leu uma estatística e pensou: "Não sei se acredito nisso"?
Essa falta de confiança pode ser irritante quando a estatística é trivial, mas devastadora quando envolve dados comerciais críticos, como o número de novos clientes conquistados este ano.
A confiança nos dados é fundamental para que você tome decisões informadas e orientadas por dados. A solução para aumentar a confiança em seus dados é uma linhagem de dados bem documentada, que programa a jornada dos dados desde a origem até o uso final.
Se você quiser saber mais sobre gerenciamento de dados, consulte este artigo sobre estrutura de dados.
Como a linhagem de dados resolve o desafio da confiança
Quando seu amigo lhe disser uma estatística em que você não confia, você pode pedir para saber a fonte da estatística para verificar sua precisão. O rastreamento das informações até sua fonte é fundamental para estabelecer a confiança. Esse mesmo princípio se aplica aos dados.
Transparência por meio da visibilidade
A linhagem de dados é um histórico completo de seus dados, desde a origem, passando por cada transformação, até o ponto final. Esse registro fornece uma imagem clara da jornada dos dados.
Uma linhagem de dados oferece total transparência ao documentar cada etapa do pipeline de dados, desde a coleta inicial até a análise final. Essa visibilidade é fundamental para criar confiança, permitindo que as partes interessadas vejam exatamente como seus dados foram processados e transformados.
Você pode pensar nisso como se estivesse mostrando seu trabalho na aula de matemática. Na sala de aula, mostrar o seu trabalho permite que o professor veja cada etapa do seu processo de solução de problemas e prova que você não enganou o seu colega. Uma linhagem de dados é como mostrar seu trabalho para o pipeline.
Depuração mais rápida e qualidade aprimorada
Mostrar seu trabalho na lição de casa de matemática também ajuda o professor (e você) a entender onde você cometeu um erro, caso tenha chegado à resposta errada. Isso pode ajudar você a corrigir o erro e melhorar sua compreensão do assunto no futuro.
Da mesma forma, mostrar seu trabalho em uma linhagem de dados pode ajudar você a encontrar erros em um pipeline. Quando ocorrem erros nos dados, rastrear os erros até sua origem costuma ser uma tarefa difícil. Uma linhagem de dados abrangente simplifica esse processo, permitindo que você siga o caminho dos dados para descobrir onde as coisas deram errado. Com esse processo de depuração mais rápido, você terá uma melhor qualidade de dados, o que promove a confiança.
Você pode saber mais sobre como garantir a qualidade dos dados neste curso Introdução à qualidade dos dados.
Demonstrar a procedência dos dados
A proveniência dos dados é um registro de metadados da linhagem dos dados. Muitos setores têm normas que exigem a comprovação da procedência dos dados, especialmente aqueles que lidam com informações confidenciais, como saúde e finanças.
A comprovação da procedência dos dados envolve a demonstração da origem dos dados e de como eles foram tratados. A linhagem de dados fornece uma trilha de auditoria que atende a esses requisitos, mostrando todo o ciclo de vida dos dados. Além de promover a confiança, uma trilha de auditoria pode demonstrar a adesão dos seus dados às leis de privacidade de dados, políticas de governança e outros regulamentos.
A linhagem de dados programa o fluxo de dados
Uma linhagem de dados completa registra o caminho que os dados percorrem em cada etapa. Aqui está um exemplo de como os dados podem fluir de sua fonte para uma visualização.
Fonte de dados: Qual é o contexto?
A linhagem de dados começa na fonte, que pode incluir bancos de dados, APIs, sensores, pesquisas ou outros pontos de coleta de dados. Entender a origem dos dados é o primeiro e mais importante passo para que você possa programar sua jornada.
A fonte dos dados fornece o contexto e o histórico dos dados. Ele também pode dar uma dica sobre quaisquer vieses e limitações na coleta de dados.
Para demonstrar a importância da fonte de dados, considere estes conjuntos de dados hipotéticos e suas fontes.
Conjunto de dados |
Fonte |
Possíveis vieses/limitações |
Necessidades de hidratação |
Empresa que vende água engarrafada |
Pode superestimar as necessidades de hidratação para promover a venda de produtos. |
Dados de pressão arterial em pacientes com diferentes dietas |
Hospital de pesquisa de renome mundial |
Menor probabilidade de ter um viés significativo, mas potencial para viés de financiamento ou viés de seleção em amostras de pacientes. |
Dados de uso da Internet em áreas rurais de países em desenvolvimento |
ONG pequena com recursos limitados |
Pode não ter recursos para uma coleta de dados abrangente, o que pode levar a um viés de amostragem ou a uma cobertura geográfica limitada. |
Consumo de energia e impacto ambiental da energia renovável |
Grande empresa de petróleo |
Pode minimizar os benefícios da energia renovável ou exagerar os desafios para proteger os interesses comerciais existentes. |
Prevalência de doenças cardiovasculares |
Centros de Controle e Prevenção de Doenças (CDC) |
Fonte respeitável, mas com potencial para limitações nas metodologias de coleta de dados ou subnotificação em determinados dados demográficos. |
Segurança e eficiência de uma nova linha de carros elétricos |
Fabricante de automóveis que produz os veículos elétricos |
Pode exagerar a segurança e a eficiência para promover as vendas, potencial falta de transparência nas metodologias de teste. |
Eficácia de um novo medicamento |
Organização independente de controle |
É menos provável que você tenha um viés significativo, mas há possibilidade de viés de financiamento ou conflitos de interesse se houver vínculos com empresas farmacêuticas. |
Índices de satisfação do cliente com um novo smartphone |
Empresa de fabricação de smartphones |
Pode inflar os índices de satisfação para promover as vendas, com a possibilidade de um projeto de pesquisa tendencioso ou amostragem seletiva. |
Transformações: Como os dados foram alterados?
Quando uma amiga minha dos Estados Unidos visitou a Austrália, ela disse aos habitantes locais que, no momento, fazia mais de 100° em sua cidade natal. Eles ficaram mais chocados do que ela esperava, até que todos perceberam que os EUA usam Fahrenheit e a Austrália usa Celsius. Eles acharam que ela estava falando de 100 °C, que é 212 °F! Mas ela quis dizer 100 °F, que é cerca de 37 °C.
Felizmente, esse mal-entendido foi rapidamente resolvido pessoalmente, mas imagine um cenário semelhante em um conjunto de dados. Imagine um conjunto de dados que contenha a temperatura transformada de Fahrenheit para Celsius, mas o rótulo da unidade não foi alterado, portanto, ainda dizia Fahrenheit. Isso pode gerar resultados muito estranhos para você!
Isso demonstra por que documentar as transformações de dados é uma parte importante de uma linhagem de dados. Se um usuário final dos dados, como um analista de dados, vir resultados em suas análises que não fazem sentido (como uma cidade que apresenta temperaturas de ar ferventes com frequência), ele poderá facilmente olhar para trás na linhagem de dados, ver a transformação que não foi rotulada e corrigir o problema.
À medida que os dados se movem de sua origem para seu destino final, eles geralmente passam por várias transformações, incluindo processos de limpeza, filtragem e agregação que moldam os dados para o uso pretendido. No entanto, cada uma dessas transformações também altera a maneira como os dados são interpretados e precisam ser documentados.
Uma linhagem de dados clara documenta essas transformações, garantindo que cada alteração seja registrada e possa ser rastreada, aumentando a transparência. Isso aumenta a confiança em seus dados e facilita a depuração.
Destino: Para onde foram os dados?
O estágio final do seu fluxo de dados é onde os dados são armazenados e usados. Isso pode ser feito em data warehouses, ferramentas de relatórios ou outras plataformas analíticas. A linhagem de dados programa os dados até esses pontos de extremidade, fornecendo uma imagem completa de sua jornada e garantindo que as partes interessadas possam confiar nos dados que estão vendo.
Documentar o destino dos seus dados também é importante para fins de segurança, pois fornece um registro de quem tem acesso a quais dados.
Desafios da implementação da linhagem de dados
A configuração da linhagem de dados pode parecer simples - basta você programar de onde vêm os dados e o que foi feito com eles. No entanto, vários desafios podem complicar esse processo. Vamos considerar algumas delas.
Pipelines de dados complexos
Um dos principais desafios na criação de uma linhagem de dados é o tamanho e a complexidade de muitos pipelines de dados modernos. Os ambientes de dados modernos geralmente envolvem fluxos de dados complexos que abrangem vários sistemas e plataformas. Para acompanhar esses caminhos detalhados, você precisa de ferramentas robustas e de um planejamento cuidadoso.
Um pipeline simples com uma fonte de entrada e transformações limitadas pode ser relativamente simples de criar uma linhagem de dados para você. Mas se você tiver um pipeline complexo com várias entradas, muitas transformações e talvez vários destinos, manter o controle de tudo isso em uma linhagem de dados se torna mais complicado. Mas isso também se torna mais necessário.
Documentação manual
A linhagem de dados pode ser documentada manual ou automaticamente. A documentação manual da linhagem de dados pode consumir muito tempo e ser propensa a erros. Rastrear manualmente as movimentações e transformações de dados, especialmente em uma operação de grande porte, não só é ineficiente como também aumenta o risco de imprecisões, minando a confiança que a linhagem de dados pretende criar.
Para pipelines muito pequenos e totalmente controlados por uma pessoa, a linhagem de dados manual pode ser suficiente. Mas, à medida que as coisas ficam mais complicadas, a documentação da linhagem de dados deve ser mais automatizada. Na próxima seção, veremos alguns recursos para ajudar você a fazer isso.
Integração com sistemas existentes
Se a linhagem de dados não foi incorporada inicialmente em um pipeline de dados, integrá-la retroativamente pode consumir muito tempo e recursos. A adaptação da infraestrutura atual para dar suporte ao rastreamento abrangente da linhagem de dados geralmente requer mudanças significativas, o que pode ser uma barreira para algumas organizações. Esse é um dos motivos pelos quais é importante integrar as soluções de linhagem de dados desde o início.
Como você constrói uma linhagem de dados?
Se não estiver planejando documentar manualmente a linhagem de dados, você precisará de alguns componentes-chave para criar uma: coletar metadados sobre seus conjuntos de dados e ter um catálogo para esses metadados.
Coleta e gerenciamento de metadados
Os metadados são essencialmente dados sobre dados. Ele se refere a informações como a origem, a estrutura, as transformações e o uso de seus dados. O gerenciamento eficaz de metadados envolve a coleta de metadados de várias fontes, o acompanhamento das transformações de dados e a documentação dos movimentos de dados. Essa coleta e esse gerenciamento geralmente são automatizados, garantindo que cada alteração seja registrada e rastreável. Isso proporciona uma visão abrangente da linhagem de dados que você possui.
Catálogos de dados
Os catálogos de dados são repositórios abrangentes que armazenam metadados sobre os ativos de dados de uma organização, incluindo suas origens, transformações e destinos. Eles geralmente automatizam a descoberta, a descrição e a organização de ativos de dados, facilitando o gerenciamento da linhagem de dados, promovendo a confiança e garantindo a conformidade com as políticas de governança de dados.
Ferramentas de linhagem de dados
Há muitas ferramentas prontas para uso disponíveis para ajudar você a rastrear a linhagem dos seus dados. Aqui está uma pequena lista de ferramentas populares.
Nome da ferramenta |
Tipo |
Principais recursos |
Pago |
Gerenciamento centralizado de metadados, visualização de fluxo de dados, suporte a uma ampla variedade de fontes de dados |
|
Pago |
Visualizações detalhadas da movimentação e transformação de dados, garantindo a qualidade e a conformidade dos dados |
|
Pago |
Visualização avançada de linhagem, diagramas interativos, integração de governança de dados |
|
Pago |
Ferramentas de integração e integridade de dados, programa detalhado de transformações de dados |
|
Código aberto |
Gerenciamento de metadados, captura a linhagem de dados, projetado para sistemas Hadoop |
|
Código aberto |
Automatiza fluxos de dados, recursos integrados de rastreamento de linhagem, monitora movimentos de dados |
|
Código aberto |
Serviço de metadados para coletar e visualizar a linhagem de dados, integrando-se a vários sistemas |
|
Código aberto |
Algoritmos de machine learning para detecção e documentação automáticas de fluxo de dados |
Recursos de linhagem de dados incorporados em outras ferramentas
Além das ferramentas listadas acima, muitas ferramentas de ETL/ELT, ferramentas de visualização de dados e plataformas de governança de dados incluem recursos de linhagem. Essas ferramentas automatizam a documentação dos processos de extração, transformação e carregamento de dados e ajudam a visualizar os fluxos de dados entre os sistemas.
Por exemplo, você sabia que pode ver a linhagem de seus dados no PowerBI? Confira as ferramentas que você usa atualmente em seus pipelines de dados e veja quanto da sua linhagem de dados já está sendo programada!
Criação de soluções personalizadas de linhagem de dados
Às vezes, uma solução pronta para uso não é prática, e você prefere uma solução mais personalizada. Se esse for o seu caso, aqui estão algumas opções que você pode explorar para configurar uma linhagem de dados para o seu pipeline.
Documentação manual
Primeiro, tente documentar manualmente os fluxos e as transformações de dados no seu sistema, criando registros detalhados das origens, dos processos e dos destinos dos dados. Esse método pode ser suficiente para conjuntos de dados menores ou ambientes de dados mais simples gerenciados por uma única pessoa ou uma pequena equipe.
No entanto, se o seu cenário de dados for maior ou mais complexo, talvez você queira apenas documentar manualmente uma visão de alto nível do seu pipeline para seu próprio uso, de modo que possa identificar onde adicionar o rastreamento de linhagem automatizado. A documentação manual permite um alto grau de personalização, mas pode ser trabalhosa para sistemas grandes.
Scripts personalizados
Você pode desenvolver scripts personalizados usando linguagens de programação como Python para capturar e registrar transformações e movimentos de dados. Esses scripts podem ser integrados aos pipelines de processamento de dados para automatizar partes do processo de documentação. Essa abordagem é útil para organizações com requisitos específicos que não são totalmente atendidos pelas ferramentas existentes ou para aquelas com complexidade moderada de dados.
Acionadores de banco de dados
A implementação de acionadores de banco de dados para registrar automaticamente alterações e movimentos de dados nos bancos de dados é outra técnica que você pode implementar. Esses acionadores podem registrar qualquer operação de inserção, atualização ou exclusão executada em um banco de dados, fornecendo um registro da evolução dos dados ao longo do tempo. Essa técnica é ideal para organizações com cenários de dados grandes e complexos, em que o rastreamento em tempo real das alterações de dados é crucial.
Controle de versão para dados
Você pode estar familiarizado com o controle de versão como uma forma de rastrear a linhagem das versões do código. Práticas semelhantes de controle de versão também podem ser usadas para dados. Ao manter o controle das versões dos conjuntos de dados e documentar as alterações entre essas versões, você pode acompanhar a linhagem dos dados ao longo do tempo. Ferramentas como o Git podem ser adaptadas para o controle de versão de dados. Esse método é particularmente benéfico para as organizações que precisam manter a integridade dos dados históricos e controlar as alterações durante longos períodos.
Ferramentas de visualização personalizadas
Você pode criar visualizações personalizadas para mapear a linhagem de dados usando bibliotecas de visualização de rede como a networkx em Python. Com essas bibliotecas, você pode gerar diagramas que representam fluxos e transformações de dados, facilitando a compreensão e o rastreamento da linhagem de dados. Essa abordagem é adequada para organizações que exigem visualizações altamente personalizadas e que têm o conhecimento técnico para desenvolver essas soluções personalizadas.
Repositórios de metadados
Se você estiver rastreando muitos metadados, faz sentido configurar um repositório de metadados centralizado para armazenar todos os metadados relacionados aos seus ativos de dados. Esse repositório pode ser construído usando bancos de dados relacionais ou soluções NoSQL e deve ser projetado para se integrar facilmente aos sistemas de processamento de dados para manter os metadados atualizados.
Essa abordagem é ideal para organizações com ativos de dados extensos e diversificados que precisam de uma solução escalável e flexível para o gerenciamento de metadados. Para começar, consulte o OpenMetadata para conhecer algumas ferramentas de código aberto.
Linhagem de dados vs. Documentação do código
Escrevo muito sobre a importância da documentação no código, e por um bom motivo. A documentação é uma parte essencial da boa prática de codificação. A linhagem de dados é importante por muitos dos mesmos motivos que a documentação do código. Em muitos aspectos, você pode pensar em linhagem de dados da mesma forma que pensa em documentação - é uma trilha de evidências que documenta cada passo que seus dados deram.
No entanto, diferentemente da documentação de código, as linhagens de dados geralmente dependem de metadados e automação para sua criação. Embora a documentação seja muitas vezes manual (ou feita por IA atualmente), a linhagem de dados costuma ser muito complexa e volumosa para ser feita manualmente.
A documentação também é vista com frequência na forma de comentários dentro do código, juntamente com um arquivo README. A linhagem de dados geralmente é visualizada por meio de diagramas e relatórios automatizados para que você entenda o fluxo de dados em seu sistema.
Linhagem de dados vs. Governança de dados
A linhagem de dados e a governança de dados são conceitos intimamente relacionados ao gerenciamento de dados. A linhagem de dados rastreia a jornada dos dados por meio de transformações e sistemas, fornecendo um registro histórico que garante transparência e rastreabilidade. Enquanto isso, a governança de dados abrange políticas e padrões mais amplos de qualidade, segurança e conformidade de dados. As linhagens de dados podem apoiar a aplicação de políticas de governança de dados.
As organizações podem aprimorar os esforços de governança aproveitando as ferramentas e técnicas de linhagem de dados, garantindo a integridade dos dados e a conformidade com os requisitos regulamentares. Juntos, a linhagem de dados e a governança criam uma abordagem abrangente para gerenciar e proteger os dados.
Você pode saber mais sobre governança de dados neste curso sobre Conceitos de governança de dados. Você também pode dar uma olhada mais avançada em Como os líderes de dados podem fazer da governança de dados uma prioridade.
Conclusão
À medida que os cenários de dados se tornam mais complexos, as linhagens de dados estão se tornando cada vez mais vitais. Eles criam confiança ao fornecer transparência, permitir depuração mais rápida e demonstrar a procedência dos dados.
Com os avanços na automação e na visualização, a importância das ferramentas de linhagem de dados continuará a crescer, apoiando práticas robustas de governança e gerenciamento de dados.
Se você quiser saber mais, experimente este curso sobre como entender a engenharia de dados. Também recomendo que você confira o Responsible AI Data Management e Making Data Governance Fun.
Aprenda engenharia de dados com estes cursos!
programa
Engenheiro de dados
programa
Engenheiro de dados associado
blog
O que é ciência de dados? Definição, exemplos, ferramentas e mais
blog
O que é alfabetização em dados? Um guia para líderes de dados e análise
blog
Um roteiro de ciência de dados para 2024
Mark Graus
15 min
blog
O que significa cultura de dados? Guia abrangente para uma organização mais orientada por dados
blog