O que significa ETL?
O ETL na verdade faz parte do que a gente chama de “Jornada de dados”.
Hoje em dia, um conceito que está muito em alta, é o conceito de “data drive”. O que é o “data drive”?
O “data drive” é a jornada do dado dentro de uma empresa, dentro de uma instituição, dentro de um processo de análise de dados.
A ideia é conceber a captação desse dado na sua origem, trabalhar esse dado de alguma forma na qual possamos melhorar a qualidade dele e depois apresentar para colocar em uma camada de apresentação para este dado ser consumido.
E o que significa cada letra de ETL?
Significa: Extract, Transform and Load.
Ou em português: Extrair, Transformar e Carregar.
A idéia do ETL é justamente fazer o processo de captação de dado, de alguma fonte de dado (seja ela qual for), fazer um processo de transformação onde melhora a qualidade dele e agregue outras informações, e a partir daí colocar o dado em uma camada, onde ele irá ser consumido por algum tipo de recurso. Seja esse recurso um outro sistema, seja um meio de visualização desse dado em específico ou até mesmo de diversas formas diferentes através da mesma origem do dado.
Onde é muito usado?
O ETL hoje, apesar de ser um conceito que está muito relacionado ao que nós conhecemos como business intelligence, o ETL não pertence mais somente a esta área de BI, Ele está dentro do processo de integração e disponibilização do dado para poder ser consumido.
O ETL pode ser usado em interligação de sistemas diferentes, por exemplo: Eu tenho um sistema que está com uma base Oracle e eu tenho um outro sistema que está em uma base SQL server. Eu posso colocar uma camada de ETL no meio, onde eu consiga ler o dado em uma base SQL server e carregar esse dado dentro de uma base Oracle, ou um programa específico (que faz exatamente esse trabalho de ETL).
Mas eu não preciso de uma ferramenta específica para isso, eu posso usar o data import e export do SQL Server.
Utilizar o data import e export do SQL Server, é um meio de ETL.
Ele não é uma ferramenta voltada para ETL, mas você estará fazendo o ETL de alguma forma. Pois você estará extraindo o dado de um lugar e colocando esse dado em outro lugar.
Existem programas que foram desenvolvidos especificamente para fazer esse papel. Alguns bastante conhecidos como: Power Center, Pentaho data integration, Microsoft SSIS, etc.
É um robô que faz isso?
Como fazemos o processo de ETL? Nós construímos um script onde iremos dizer (dependendo do tipo de linguagem que estaremos usando), o que o ETL vai fazer, de onde ele vai buscar informação, qual o dado que ele irá transformar e qual o destino que irá ser colocado. E a partir da montagem desse script, poderemos fazer o “schedule da carga”, poderemos programar a carga para acontecer em um determinado horário ou vinculado com algum tipo de “gatilho”.
E o que é esse “gatilho”? É o momento que acaba tal processo, e a partir disso começa a carga, e então começa o processo de ETL, assim carregando a informação para o outro lado.
Então sim, podemos fazer uma programação de forma automática, que não dependa só de pessoas para disparar aquele processo. Ou podemos construir um script que dependa cem por cento da execução manual, se for o caso.
Qual o futuro do ETL?
Hoje nós vivemos um momento muito específico, não é algo novo, mas é algo que se consolidou e que se mostra ter uma pendência daqui para frente: Levar os dados para a nuvem.
Nos dias de hoje temos todo o conceito de processamento e de sistemas em cloud, que é o processamento de levar todos os servidores, toda a parte de sistema para uma camada na nuvem, para não depender mais de data centers, pois tem problemas de disponibilidade e de arquiteturas. E as empresas que trabalham com cloud, começaram a se preparar e criar uma arquitetura para receber um grande volume de dados. Porque a necessidade das empresas era fazer o carregamento histórico de todos os dados que elas tinham, para a nuvem. A ideia dentro dessa arquitetura é receber todos os dados dos sistemas transacionais.
O que são sistemas transacionais?
São sistemas que existem em supermercados. O processo de passar um produto no caixa, o sistema é chamado de PDV, esta unidade de venda é um sistema transacional. Significa que este sistema irá executar uma tarefa baseada na captação da informação que é passada naquele PDV, e irá guardar essas informações em um banco de dados relacional (SQL Server, Oracle, etc), e posteriormente poder se ter um processo de ETL que, pega essa informação da base de dados transacional que pode estar na nuvem (ou não) e irá carregar essa informação para um repositório que chamamos de “Data Lake”.
Qual o conceito de “Data Lake”?
É um repositório de dados na nuvem, em que podemos levar qualquer tipo de informação ou qualquer tipo de formato (imagem, arquivo em binário, código de barras, etc), e quando juntado tudo isso, irá ser classificada a informação, e assim modelar de acordo com a necessidade que teremos de análise, para poder consumir aquele dado em uma camada que chamamos de “Data Visualization”. Então teremos uma ferramenta de visualização do dado que irá informar qual produto foi vendido em grande escala em tal unidade. Ou seja, olhando o dado e olhando o passado, teremos um preparo para incentivar a comercialização daquele produto, ou daquela categoria de produto, vinculado com o evento que ainda vai acontecer.
O futuro do ETL é levar o dado para a nuvem dentro de uma camada chamada “Data Lake” e a partir disso classificar o dado para o processo de estudo e análise (de predição, regressão, estatística), para chegar a algum tipo de conclusão ou algum tipo de identificação de comportamento se for o caso de um um cliente, por exemplo, que estiver vinculado com uma venda de um produto.
Para saber mais, acesse ao nosso Podcast:
