Antes de tudo, quando falamos de engenharia de dados diversas coisas podem surgir na nossa mente, mas caso você não tenha ideia do que é e muito menos o que esses engenheiros sem CREA fazem, confira nosso post : Engenharia de dados: O que é e para que serve.
Primeiro começaremos lembrando da principal função que uma pessoa engenheira de dados tem: Assegurar limpeza, confiabilidade e disponibilidade dos bancos de dados e dos dados contidos neles.
Normalmente, as pessoas engenheiras de dados são as primeiras a serem contratadas, pois antes de serem analisados por Analistas de Dados ou explorados por Cientistas de Dados os dados precisam ter um fluxo definido e serem disponibilizados.
Ao longo do desenvolvimento do negócio a colaboração entre Cientistas, Analistas e Engenheiros só aumenta. Um precisa entender o outro para agirem em prol do time, mais ou menos desse jeito aqui…
O engenheiro de dados:
Exatamente como um time deve ser em qualquer esporte, com os jogadores se entendendo, um time tech de dados devem se entender entre si para agregar maior valor ao negócio.
Mas e quanto aos custos?
Acredito que todos até agora viram a importância da Engenharia no processo de dados, mas alguns devem estar se perguntando: esse post não era sobre custos? Ter um profissional dessa área não é mais uma contratação de uma pessoa no meu time?
É muito importante entender essa contratação como um investimento. Essa função exerce tarefas específicas de uma pessoa mais centrada no entendimento do dado em si, o formato de recebimento, tratamento e disponibilização.
O famoso processo de ETL/ELT
E
Primeiramente, o “E” nesse termo se refere ao processo de Extração e ele trata dessa primeira etapa desse desenvolvimento. Existem dois formatos de recebimento de dados na fase de extração: Batch e o Streaming.
O Batch é o recebimento em lotes (quando você faz o download daquela foto antiga no seu drive ou de um app no seu celular). Em segundo lugar, o Streaming, que é o recebimento “ao vivo e a cores” onde você vai recebendo os dados em tempo real (ouvindo música ou assistindo filmes e séries online).
A definição da melhor ferramenta e a melhor forma para a coleta é definida pelas pessoas da engenharia dada as restrições de dados a necessidade de velocidade que se precisa daqueles dados.
T
Em segundo lugar temos o “T” se refere à etapa de transformação dos dados e limpeza dos mesmos. Essa limpeza dos dados é a segunda fase do processo, ela serve para deixá-los “bonitinhos e cheirosos” para serem guardados/disponibilizados, existem diversas ferramentas que podem integrar essa fase que irão variar, novamente, de acordo com a velocidade que se necessita do dado, com o provedor de serviços já utilizados (principalmente em Arquiteturas de Nuvem), etc. Sempre procurando formular o código de forma otimizada quanto a processamento e custo.
L
A última etapa, mas não menos importante, a “L” se refere ao Carregamento/Armazenamento (do inglês Loading).
Nesse sentido, quando eu devo guardar um dado em um Data Lake ou em um data Warehouse? Essa pergunta foi respondida no nosso blogpost Data Lake vs Data Warehouse. Esse entendimento e a escolha pode ser feito pela Engenharia, que inclusive vai avaliar as regras do acesso aos dados e definindo qual o tipo de armazenamento gerará o menor custo.
Note que, quando consideramos Arquiteturas em Nuvem, existem tipos de armazenamento para cada tipo específico de dados: Estruturados, Não estruturados, SQL, NoSQL, Transacional e Analítico. Saber dessa informação vale, literalmente, ouro.
Pipeline de tratamento de dados é a forma como pode ser chamado o processo acima. As duas últimas etapas, T e L, podem ocasionalmente trocar de posições se transformando num processo de ELT. Nesse processo o o carregamento de dados surge antes da transformação.
Conclusão:
Por fim, a ultima coisa é automatizar tudo isso. Dessa forma, só é possível graças a habilidade operacional das pessoas envolvidas nesse processo. Mas isso é assunto para um outro blogpost, quem sabe…
Competências das pessoas que compõem a engenharia de dados
Por exemplo, o engenheiro de dados entende a maneira que os dados deve ser armazenados e cuidados, por isso consegue otimizar e reduzir o custos desses processos. Logo, podemos dizer que investir em um especialista reduz e muito os custos de inserção, armazenamento e de busca.
Pense, ter uma pessoa focada em todo esse processo e que garante confiabilidade dos dados faz com que analistas e cientistas foquem somente em sua função principal.
Deseja saber mais? Acesse nosso podcast ou ainda fale com um de nossos especialistas!
Leia também:
• O que é Engenharia de Dados e para que serve
• Data Warehouse: quando sua empresa precisa usar