No artigo anterior definimos o que é Linhagem de Dados. Agora trazemos para você algumas técnicas e exemplos.

Boa leitura.

Linhagem Baseada em Padrões

Essa técnica realiza a linhagem sem lidar com o código usado para gerar ou transformar os dados.

Envolve a avaliação de metadados para tabelas, colunas e relatórios de negócios. Usando esses metadados, um Arquiteto de Dados investiga a linhagem procurando padrões.

Por exemplo, se dois conjuntos de dados contiverem uma coluna com um nome semelhante e muitos valores de dados, é muito provável que sejam os mesmos dados em dois estágios de seu ciclo de vida. Essas duas colunas são então vinculadas em um gráfico de linhagem de dados.

A principal vantagem da linhagem baseada em padrões é que ela apenas monitora dados, não algoritmos de processamento de dados e, portanto, é independente de tecnologia. A técnica pode ser usada da mesma maneira em qualquer tecnologia de banco de dados, seja Oracle, MySQL PostgreSQL ou SQL Server.

A desvantagem é que esse método nem sempre é preciso. Em alguns casos, pode perder conexões entre conjuntos de dados, especialmente se a lógica de processamento de dados estiver oculta no código de programação e não estiver aparente em metadados legíveis por humanos.

Linhagem por Marcação (Tagging)

Essa técnica é baseada na suposição de que um mecanismo de transformação marca os dados de alguma forma.

Para descobrir a linhagem, o Arquiteto de Dados rastreia a tag do início ao fim. Esse método só é eficaz se você tiver uma ferramenta de transformação consistente que controle toda a movimentação de dados e estiver ciente da estrutura de marcação usada pela ferramenta.

A linhagem via marcação de dados não pode ser aplicada a nenhum dado gerado ou transformado sem a ferramenta. Nesse sentido, é adequado apenas para realizar a linhagem de dados em sistemas de dados fechados.

Linhagem Autônoma

Algumas organizações têm um ambiente de dados que fornece armazenamento, lógica de processamento e gerenciamento de dados mestre (MDM) para controle central sobre metadados. Em muitos casos, esses ambientes contêm um Data Lake que armazena todos os dados em todos os estágios de seu ciclo de vida.

Esse tipo de sistema autônomo pode fornecer linhagem inerentemente, sem a necessidade de ferramentas externas. No entanto, como acontece com a abordagem de marcação de dados, a linhagem não tem conhecimento de qualquer coisa que aconteça fora desse ambiente controlado.

Linhagem por Análise

Esta é a forma mais avançada de linhagem, que se baseia na lógica de leitura automática usada para processar dados. Essa técnica faz engenharia reversa da lógica de transformação de dados para realizar um rastreamento abrangente de ponta a ponta.

Essa solução é complexa de implantar porque precisa entender todas as linguagens de programação e ferramentas usadas para transformar e mover os dados. Isso pode incluir lógica de processos ETL (Extrair-Transformar-Carregar), soluções baseadas em Linguagem SQL, soluções JAVA, formatos de dados legados, soluções baseadas em XML e assim por diante.

Linhagem de Dados Para Ingestão, Processamento e Consulta

Ao construir um sistema de vinculação de dados, é preciso acompanhar cada processo no sistema que transforma ou processa os dados. Os dados precisam ser mapeados em cada estágio da transformação de dados. É preciso acompanhar tabelas, views, colunas e relatórios em bancos de dados e jobs ETL.

Para facilitar isso, podemos coletar metadados de cada etapa e armazenamos em um repositório de metadados que pode ser usado para análise de linhagem.

Veja como a linhagem é realizada em diferentes estágios do pipeline de dados:

Ingestão de Dados — permite rastrear o fluxo de dados em processos de ingestão de dados e verificando erros na transferência de dados ou mapeamento entre os sistemas de origem e destino.

Processamento de Dados — permite rastrear operações específicas realizadas nos dados e seus resultados. Por exemplo, o sistema de dados lê um arquivo de texto, aplica um filtro, conta valores de uma coluna específica e grava em outra tabela. Cada etapa de processamento de dados é analisada separadamente para identificar erros ou violações de segurança/conformidade.

Histórico de Consultas — permite rastrear consultas de usuários ou relatórios automatizados gerados a partir de sistemas como bancos de dados e Data Warehouses. Os usuários podem realizar operações como filtros, junções e assim por diante, criando efetivamente novos conjuntos de dados. Isso torna essencial realizar a linhagem de dados em consultas e relatórios importantes, para validar os dados do processo. A linhagem de dados também podem ajudar os usuários a otimizar suas consultas.

Data Lakes — permite rastrear o acesso do usuário a diferentes tipos de objetos ou campos de dados diferentes e identificar problemas de segurança ou governança. Esses problemas podem ser complexos em grandes Data Lakes devido à enorme quantidade de dados não estruturados.

Se quiser aprender mais sobre Linhagem de Dados o tema é abordado na Formação Arquiteto de Dados e Formação Engenheiro de Dados.

Equipe DSA

Formação Arquiteto de Dados

Formação Engenheiro de Dados

Data Lineage

What is Data Lineage and How to Get Started?