Entenda o que é ETL e sua finalidade na transformação de dados
ETL é o processo de extrair, transformar e carregar dados para diversas finalidades em Data Science. Entenda mais sobre como funciona esse ciclo.
Dados são insumos brutos que não fazem tanto sentido quando estão isolados. Quando processados e relacionados, viram informação e, depois, conhecimento e sabedoria. Para buscar dados e transformá-los em algo valioso que responda a uma pergunta concreta do negócio, é necessário, sobretudo, lidar com dois grandes problemas: a coleta e o armazenamento.
Imagine que você esteja lidando com Big Data, por exemplo, e precisa gerar informação. Para isso, a coleta é um desafio, pois esses dados são gerados em formatos distintos, em tamanhos distintos e sem nenhuma estrutura organizada. Depois, o armazenamento é um desafio, pois é preciso colocar os dados em uma disposição que permita a inserção em alguma tecnologia similar a algum tipo de base de dados.
Para gerenciar essas complexidades, temos a ideia de ETL. Trata-se de um conceito fundamental no mundo de Data Science, em Engenharia de Dados e em Data Analytics. Assim, é mais do que importante conhecer esse conceito e entender como ele funciona, não acha?
Neste artigo, falaremos sobre o ETL e sobre como ele ajuda na transformação de dados para o uso em plataformas e em tecnologias especiais. Confira!
O que é ETL?
O significado de ETL passa pelas suas etapas: a sigla representa Extract, Transform e Load (extrair, transformar e carregar, em português). Consiste, portanto, em uma metodologia para carregamento e ingestão de dados em uma estrutura como um Data Warehouse. Assim, esses dados poderão ser analisados posteriormente a fim de servir a uma finalidade específica no negócio.
A ideia de fazer importação de arquivos e bases de dados é algo muito comum no mundo da tecnologia. Contudo, o desafio aqui é lidar com dados que surgem sem estrutura e organização, ou seja, brutos. Nesse sentido, é preciso passar os dados por um processo anterior ao armazenamento, quase como uma espécie de triagem que direciona-os já prontos para atender a um certo esquema.
Quais são as três principais etapas da transformação de dados?
Ok, vamos então às etapas do ETL.
Extração
Tudo começa com a extração. Essa etapa envolve a comunicação inicial com sistemas internos da empresa, como os chamados OLTP (online transaction processing). Podem ser aplicações transacionais que registram as operações, por exemplo. Então, os dados iniciais são ajustados, unificados e aguardam a próxima fase na staging area, um espaço de espera.
Transformação
Em seguida, temos a transformação. Nesse momento, os dados são processados e limpos para evitar quaisquer inconsistências neles. Elementos faltantes, dados em diferentes escalas, bem como quaisquer outros tipos de ruídos são tratados. É importante destacar que essa fase também enfatiza agrupamento dos dados de acordo com características similares e a definição de um certo tipo de esquema (sistema para organizar os dados).
Carregamento
Então, temos a última etapa, o carregamento. Nesse momento, os dados são carregados em uma estrutura, como o warehouse, para que sirvam ao propósito de análise. Nesse instante, pode ser necessário realizar alguns pequenos ajustes na estruturação também, em alguns casos, como uma correção do que não foi feito antes.
A finalidade de processos ETL
Por que então o ETL submete os dados a esse processo? Veremos alguns motivos a seguir.
Construir uma data warehouse
O objetivo pode ser a construção de um data warehouse, por exemplo. Assim, o ETL funciona como um pipeline para processar os dados e prepará-los para o sistema de fatos-e-dimensões de um warehouse.
Ou seja, os dados são formatados para atender aos padrões do DW e para ser analisados posteriormente em uma análise descritiva de Business Intelligence, por exemplo.
Migrar dados entre sistemas
Da mesma forma, pode ser necessário um processo ETL para estabelecer migração entre diferentes sistemas. Por exemplo, para a migração de dados entre sistemas legados e aplicações modernas, esse processo é útil.
Se for preciso trazer dados esquematizados em um tipo de banco de dados para outro que utiliza outro esquema de armazenagem, é preciso submeter os dados a essa etapa preparatória intermediária, que torna a operação de migração mais eficiente e com menos erros.
Garantir confiabilidade dos dados
Outra preocupação crucial de quem utiliza ETL é a confiabilidade dos dados, ou a noção de data quality. Isso inclui a busca por fugir de ruídos e de dados que não ajudam em nada nas análises.
Ou seja, o ETL ajuda de cara a eliminar alguns dados que não serão úteis, de modo que eles não interfiram, inclusive, nos dados limpos e não atrapalhem as análises. Assim, permite tornar a visão mais estreita e eficiente, com foco apenas no necessário, reduzindo perda de tempo com variáveis que não importam.
Permitir acesso a dados self-service
Geralmente, os dados em ferramentas analíticas são gerenciados por profissionais com a devida expertise. Ou seja, somente analistas e cientistas têm acesso, sendo que fica a cargo dessas pessoas a tradução das informações para pessoas do negócio.
Com o self-service, é diferente: qualquer pessoa pode ter acesso a dashboards e construir relatórios de forma simplificada. Não é necessário ter conhecimento técnico ou infraestrutural para gerenciar formas de entender os dados.
O esquema coletar-transformar-carregar ajuda nesse quesito, pois permite que todo o processo de ELT seja feito de forma automatizada em ferramentas analíticas self-service. É o que chamamos de facilitação do data preparation. Inclusive, é possível realizar esses processos com menus simples e recursos de arrastar-e-soltar.
Com essa facilidade, qualquer pessoa consegue coletar dados de determinadas fontes e obter valor deles para análises aprofundadas de acordo com seu segmento.
Ou seja, profissionais do marketing são capazes de acessar dados de campanhas e de info sobre visitas aos sites para, sem a ajuda de experts, gerar relatórios completos com dashboards intuitivos e fáceis de compreender sobre as conversões, as impressões e outros dados.
O time de vendas consegue também entender os números de registros de vendas e buscar algumas tendências com os devidos filtros. O setor de RH, o setor de logística e tantos outros também.
O ELT também contribui com a preparação de dados para a estruturação de uma solução de Business Intelligence ou de visualização. Nesse caso, o processo de ELT (coletar-transformar-carregar) é até escondido da pessoa usuária, mas a ajuda com um esquema definido e com os dados já prontos para as perguntas do negócio.
Desse modo, profissionais são capazes de monitorar indicadores importantes, tomar decisões mais efetivas, identificar chances de sucesso, detectar possibilidades de risco, traçar novas tendências, otimizar os seus números, comunicar informações para líderes, etc.
Gerenciamento de metadados
Outra finalidade importante é o gerenciamento de metadados. Basicamente, eles são os dados que explicam os dados, ou seja, são referências para auxiliar na compreensão dos dados que existem nas bases internas. Um exemplo disso é um dado que identifica a origem de uma certa informação salva nas bases.
Se você tem um registro em uma base, um outro dado que mostra o momento em que aquele dado foi gerado é um metadado. A partir dele, é possível ter um controle acerca do quão novos ou antigos são os dados analisados, o que gera uma percepção mais profunda nas avaliações.
Como o ETL é um processo que preza pela qualidade dos dados antes que eles sejam importados para uma solução, é possível administrar melhor esses dados e eliminar falhas. É até uma forma de gerenciar os dados com mais segurança.
Um dos pontos positivos é a detecção da linhagem dos dados, isto é, a origem deles. Assim, a empresa consegue uma administração mais eficaz do ciclo de vida e um rastreamento do fluxo dessas informações nos pipelines. Da mesma forma, se mede o impacto do uso de cada dado e sua real importância para a companhia.
O processo de ETL feito na prática
Chegamos até aqui. Você já entendeu as etapas do ETL e suas funcionalidades, com a relação próxima com a noção de data warehouse. Mas, e na prática?
No dia a dia, quem cuida dessas questões relacionadas com ingestão e preparação de dados é a pessoa engenheira de dados. Ela se encarrega de buscar os insumos de várias fontes para passá-los para as etapas posteriores de análise, como a modelagem.
Para isso, profissionais da Engenharia de Dados utilizam algumas soluções e ferramentas específicas. Uma delas é o Data Stage, da gigante IBM, que permite integração de dados de uma forma simplificada, bem como análise e governança.
Outra ferramenta que vale mencionar é o Power Center, da Informatica. Fornece suporte a computação paralela e a integração de dados, de modo a ajudar quando há necessidade de computação robusta. Temos também como opção relevante o Oracle Data Integrator e o Pentaho Data Integrator.
Como vimos, o processo de ETL é essencial para que os dados sejam importados em uma ferramenta de armazenamento, como um Data Warehouse. A partir disso, os dados poderão ser analisados e se tornarão gráficos e relatórios com insights para suportar as decisões de negócio. Da mesma forma, o ETL é fundamental para tratar os dados antes de modelagens com machine learning.
….
Quer continuar seu aprendizado sobre temas relacionados à Data Science? Então leia também nosso artigo sobre deploy de modelos em Machine Learning.