Data engineering ou engenharia de dados é a forma moderna como a Indicium, a Netflix, o Spotify e outras empresas estão trabalhando com dados.
É a engenharia de dados a grande responsável pela revolução que acontece na tomada de decisão de todos os negócios que a aplicam ao trabalharem com ciência de dados e BI. Isso porque ela automatiza todo o processo de extração, transporte e entrega do dado de alta qualidade, de acordo com as demandas específicas da empresa.
Neste artigo, você vai entender melhor esse conceito e como isso acontece na prática do dia a dia de quem é data engineer (engenheira ou engenheiro de dados), uma função-chave em toda equipe de dados campeã.
Aproveite esta leitura sobre o que é data engineering. E depois, compartilhe suas impressões conosco.
Data engineering e a função de data engineer
Muito se fala sobre ciência de dados e BI, e não é à toa. Ambos estão revolucionando a maneira como estão sendo tomadas as decisões nos negócios.
Mas há um aspecto muito importante sobre essas áreas que ainda não é tão comentado: a necessidade de receber dados bons e relevantes.
Uma análise feita com base em dados de baixa qualidade é tão boa quanto um chute, uma intuição, como queira chamar. E para garantir a entrada de dados de alta qualidade, entra em cena a engenharia de dados e sua principal função: de data engineer - engenheira ou o engenheiro de dados.⠀⠀⠀⠀⠀⠀⠀
O que é um dado de qualidade em data engineering?
Para a engenharia de dados, o dado de qualidade é aquele com potencial de dar informações para a empresa.
Falamos em potencial porque, quando coletado, esse dado está em estado bruto. É através do tratamento adequado que esse dado vai ser transformado em matéria-prima.
Um dado de alta qualidade possui algumas características, como:
- precisão - a mais importante, pois se as informações estiverem cheias de erros e material falso, o dado é lixo.
⠀⠀⠀⠀⠀⠀⠀⠀⠀ - completude - quando você está usando dados de consumidores, eles podem não estar totalmente completos e dado pela metade conta apenas metade da história.
⠀⠀⠀⠀⠀⠀⠀⠀⠀ - disponibilidade - de nada adianta dados bons se não estiverem disponíveis para todas as pessoas da organização fazerem seus trabalhos.
A função de data engineer na pipeline de dados
Depois de escolhido o dado de alta qualidade, é a vez da data pipeline, uma infraestrutura de programas feita por quem atua como data engineer para automatizar o processo de extração, carregamento e transformação de dados.
Em data engineering, a ordem entre as operações de carregamento e transformação de dados diferencia as arquiteturas da pipeline. Resumidamente, nessas operações ou se trabalha com ETL ou com o ELT.
Data engineering e o ELT
ELT e ETL possuem vantagens e desvantagens na engenharia de dados. Aqui na Indicium, usamos preferencialmente o ELT por vários bons motivos, como:
- por ser a modernização muito positiva do ETL;
- porque trouxe mais eficiência quando se coloca tudo na balança;
- porque essa arquitetura oferece democratização para o uso de dados;
- porque a parte da transformação fica nas mãos de quem domina as regras do negócio;
- porque tudo isso garante mais agilidade;
- e porque tempo é dinheiro!
O processo de ELT (extract/extrair, load/carregar, transform/transformar) ocorre conforme sua nomenclatura, ou seja, divide-se nestas etapas:
(1) de extração do dado de sua fonte, que varia conforme a natureza da empresa;
(2) de carregamento, quando o dado é transportado para onde possa ser acessado por todas as partes interessadas (data warehouse); e
(3) de transformação, quando finalmente o dado é tratado, adequado e armazenado também em um data warehouse.
Vamos detalhar cada uma delas a seguir.
1- Extração: como coletar dado de qualidade
Os dados podem vir de diversas fontes. É dever de quem é engenheira ou engenheiro de dados saber lidar com essa variedade, assim como com as limitações de cada fonte.
Veja na tabela abaixo alguns exemplos de fonte de dados e suas aplicações relacionadas.
Quando você é data engineer e trabalha com o banco de dados da empresa como fonte deve tomar cuidado para que sua extração não atrapalhe o funcionamento do banco para as demais pessoas que vão usá-lo.
Saiba que um site também pode ser uma fonte de dados e, nesse caso, a extração pode ser feita através de uma API. Um crawler seria uma solução engenhosa para isso, mas é preciso dar atenção às políticas do site para que ele não seja bloqueado, ou vice-versa.
E aqui, uma dica valiosa são as duas ferramentas de data engineering para a hora da extração que não podem faltar no toolkit de quem é data engineer na Indicium: Embulk e Singer Taps. Ambas facilitam a obtenção de dados brutos de fontes diversas.
2- Carregamento: onde armazenar os dados
Uma vez que os dados brutos foram coletados, está na hora de carregá-los em um local acessível e bem catalogado.
Na Indicium, esse processo ocorre primeiro carregando-se os dados em data lakes e, em seguida, em data warehouses.
Manter os dados brutos preservados e catalogados é essencial para garantir a integridade e o acesso no futuro.
3- Transformação: quando o dado vira informação
Agora que os dados se encontram no data warehouse, pode-se transformá-los em informações que se alinhem às necessidades da empresa.
Esses dados transformados vão continuar no data warehouse com suas labels de identificação, onde estarão prontos para uso por cientistas de dados ou analistas de dados.
E a dica de ouro aqui é: para a transformação de dados feita na Indicium, o dbt é a ferramenta certa.
Catalogação
O conceito da data pipeline envolve a ideia de tornar o dado acessível a todas as pessoas que precisarem dele. Esse processo chamado de democratização de dados é crucial para garantir que as análises da empresa sejam consistentes em todos os seus setores.
Por isso, além de garantir que o dado seja de qualidade, é importante catalogar os dados de maneira intuitiva e adequada à sua natureza. Dessa maneira, qualquer pessoa autorizada vai poder encontrar e usar dados, contribuindo com a governança da empresa.
Orquestração
O processo de data pipeline só funciona bem se cada etapa ocorrer na ordem certa e na frequência certa.
Para isso, é necessário entender a disponibilidade do dado em sua fonte, suas dependências e quando esses dados precisam ser utilizados. E é missão de quem é engenheira ou engenheiro de dados garantir essa harmonia por meio da orquestração da data pipeline.
A orquestração na data engineering garante que os dados sejam extraídos, carregados e transformados na ordem e frequência adequadas.
E uma dica de ferramenta é: aqui na Indicium, usamos o Airflow para isso.
Data engineering: resumindo
- Data engineering ou engenharia de dados é a forma moderna como a Indicium, a Netflix, o Spotify e outras empresas estão trabalhando com dados.
- Data scientist e data analytics precisam ter acesso rápido e prático a dados de qualidade para fazer suas magias. E quem garante isso? Data engineer.
- O trabalho da engenheira ou do engenheiro de dados gira em torno da criação e manutenção de data pipelines, uma infraestrutura para coletar o dado, transformá-lo e guardá-lo no lugar onde ele será requisitado.
- Na Indicium, usamos o ELT em nossos data pipelines.
- A etapa de extração de dados (E do ELT) consiste em coletar os dados de suas diversas fontes de maneira apropriada e no momento certo.
- A etapa do carregamento (L do ELT) consiste em concentrar os dados em um local onde ele seja facilmente acessado por todas as pessoas autorizadas.
- A parte da transformação literalmente transforma o dado em informação útil para a empresa.
- Todo esse processo exige harmonia e agilidade, o que é garantido pela orquestração.
- A catalogação de qualidade garante que o dado seja facilmente acessado.
Se você quiser aprender ainda mais conceitos, ferramentas e processos da engenharia de dados (data engineering), siga a Indicium: acesse nossos canais pelo rodapé desta página.
E assine a nossa newsletter quinzenal informando seu nome e email, e clicando no botão Assinar logo abaixo.
Até mais!
João Janini
Team Lead Data Engineer - Layer Owner AWS
Bianca Santos
Redatora