Por que a linhagem de dados é importante e por que ela é tão desafiadora?
Mudança traz risco. Este é um dos princípios fundamentais do desenvolvimento de software que a maioria de nós aprende no início de nossas carreiras. No entanto, apesar dessas repetidas lições de vida, elas sempre parecem continuar surgindo. Nossa incapacidade de prever o impacto da mudança, mesmo que pequena, geralmente leva a resultados negativos. Este problema é exacerbado à medida que a complexidade dos sistemas de TI interconectados aumenta. É cada vez mais difícil prever como até mesmo pequenas modificações afetarão os sistemas upstream ou downstream da mudança. Linhagem de dados consegue isso, mas fazê-lo bem é extremamente difícil.

Por que a linhagem de dados é importante
Por que a linhagem de dados é importante?
No mundo antigo, os dados residiam em silos com relativamente poucos pontos de conexão entre eles. Mas hoje, os dados fluem em várias direções entre vários sistemas. Muitos desses sistemas compartilham dados com organizações externas, o que significa que as informações fluem para sistemas internos também. Como resultado, é mais fácil do que nunca ignorar a influência de uma única mudança em vários outros sistemas.
Por exemplo, digamos que sua empresa oferece um aplicativo móvel que permite que os clientes solicitem novas chamadas de serviço de forma rápida e fácil. No passado, seus clientes podiam especificar as variantes de produto que tinham. Sua equipe de design determinou que, como você já tem essas informações em seu banco de dados de CRM, não precisa mais coletar essas informações dos usuários de seu aplicativo móvel.
Sua tarefa era simplificar o aplicativo, então você removeu esse campo de entrada e o substituiu por uma consulta para extrair informações do produto do cliente do seu CRM. Em teoria, a ordem de serviço gerada deve incluir todas as informações que seu pessoal de serviço de campo precisa para fazer o trabalho.
Infelizmente, há um problema: alguns registros de produtos de clientes no seu sistema CRM contêm valores nulos. Seu aplicativo móvel estava procurando por essas informações, mas forneceu resultados inválidos para seu sistema de tickets. Seu pessoal de serviço de campo não sabe mais como se preparar para a próxima chamada de serviço.
Isso parece relativamente simples qualidade dos dados problema – um que poderia ter sido previsto se alguém tivesse revisado os dados do CRM mais detalhadamente. No entanto, se os valores nulos no banco de dados do CRM não fossem introduzidos até mais tarde, mesmo isso poderia não resolver o problema. Por exemplo, se você incorporar dados de clientes de uma empresa recém-adquirida em seu sistema de CRM, você pode não ter informações de produtos associadas a esses novos registros.
Às vezes, esses problemas são mais difíceis de prever e podem não ser imediatamente aparentes. Imagine o que acontece quando sua equipe de marketing decide redefinir seus critérios de segmentação de clientes. Um novo campo de dados é adicionado para especificar a categoria do cliente, que então preenche todos os valores do cliente, e o campo antigo não é recomendado.
Sem o conhecimento do departamento de marketing, no entanto, os principais executivos da empresa ainda estavam olhando para dados antigos. Os painéis que eles usam dependem de dados em campos obsoletos. Novos clientes estão sendo adicionados todos os dias, mas ninguém está inserindo nenhum valor no campo obsoleto. Como consequência, as equipes executivas estão olhando para dados distorcidos. De repente, a alta gerência está rastreando KPIs que são muito diferentes do resto da organização. Pior, ninguém sequer percebeu que havia um problema até semanas ou meses depois do fato.
Em seguida, imagine um cenário semelhante, mas em vez de preencher um painel executivo, o sistema de origem alimenta dados para um algoritmo de IA que direciona recomendações de clientes em seu site de e-commerce. Quando uma IA é treinada em dados falhos — ou se os dados mudam significativamente de alguma forma — isso pode afetar muito a eficácia da tecnologia. Nesse caso, isso distorce seu mecanismo de recomendação de clientes.
Enfrentando os desafios da linhagem de dados
Ferramentas de linhagem de dados fornecer uma abordagem sistemática para entender o impacto das mudanças, fornecendo um roteiro completo de potenciais impactos a montante e a jusante.
Isso é equivalente à redução de risco e controle de custos. Se pudermos prever como as mudanças podem afetar outros sistemas, podemos evitar os problemas que descrevemos anteriormente. Isso leva a menos esforço desperdiçado, tempo de comercialização mais rápido e custos mais baixos. Estamos todos familiarizados com o princípio de que quando os problemas são identificados no início do processo de desenvolvimento, eles são resolvidos mais rápido e mais barato. A linhagem de dados fornece um elo crítico perdido, e os problemas podem ser identificados antes mesmo de chegarem ao QA.
Também há benefícios em governança de dados e conformidade. Quando a União Europeia aprovou o Regulamento Geral de Proteção de Dados (GDPR) em 2016, impôs uma série de novos requisitos em sistemas que contêm informações pessoalmente identificáveis (PII). Se um cliente solicitar que você exclua seus dados, você é legalmente obrigado a atender a essa solicitação. Mas o que acontece a montante e a jusante dessa mudança? Isso quebrará alguma coisa? Ou algumas das PII do cliente permanecerão em outro lugar no seu sistema, mantendo você fora da conformidade com a lei?
A linhagem de dados aborda essas questões automatizando o processo de detecção de impactos upstream e downstream. Ela fornece uma auditabilidade clara que pode ajudar a determinar a fonte das alterações e como os dados atingiram seu estado atual.
A linhagem de dados em nível de coluna é particularmente difícil porque precisa analisar consultas SQL para identificar exatamente o que mudou e como, o que significa aproveitar logs de banco de dados, mas como há muitos fornecedores de banco de dados, cada um com seu próprio dialeto SQL exclusivo, analisar essas informações para vários bancos de dados pode ser particularmente desafiador. À medida que cada dialeto SQL evolui ao longo do tempo, ferramentas de linhagem de dados deve evoluir para acomodar essas mudanças.
A linhagem de dados em nível de coluna se tornará ainda mais importante à medida que os sistemas interconectados expandem ainda mais seu escopo e o fluxo de informações acelera. Hoje, é uma ferramenta muito útil que economiza tempo, esforço e dinheiro. Em breve, a linhagem de dados se tornará indispensável.
Conclusão
Obrigado por ler nosso artigo e esperamos que ele possa lhe dar uma melhor compreensão do porquê a linhagem de dados importa e por que é tão desafiadora. Se você quiser saber mais sobre a linhagem de dados, gostaríamos de aconselhá-lo a visitar Gudu SQLFlow para maiores informações.
Como uma das melhores ferramentas de linhagem de dados disponíveis no mercado hoje, o Gudu SQLFlow não só pode analisar arquivos de script SQL, obter linhagem de dados e executar exibição visual, mas também permitir que os usuários forneçam linhagem de dados no formato CSV e executem exibição visual. (Publicado por Ryan em 23 de julho de 2022)
Se você gosta de ler isso, explore nossos outros artigos abaixo: