Extração
Esta página ainda está sendo construída. Se quiser contribuir com o guia, acesse o nosso repositório.
A etapa de extração de dados envolve buscar os dados brutos diretamente de suas fontes, podendo agregá-los em uma área intermediária para a etapa de transformação. Ela pode ser realizada de diversas formas diferentes, mas nós lidamos primariamente com web scraping e arquivos estruturados compartilhados dentro da organização.
Note que, quando falamos de área intermediária, se refere a qualquer lugar onde o dado é armazenado temporariamente para que possa ser transformado. Alguns exemplos são: em memória, banco de dados (local ou remoto) e sistema de arquivos.
A extração pode ser categorizada como:
Notificação
A extração visando a notificação é a mais simples forma de extração de dados. Ela apenas verifica se houve uma atualização dos dados brutos na fonte e envia uma alerta para um sistema de notificações. Também é possível configurar algumas fontes para que elas enviem essa notificação de forma automática.
Esse tipo de extração é interessante por consumir bem menos recursos, já que geralmente não é necessário interagir com a área intermediária nela.
Exemplos
- Conexão via webhook à fonte para receber alertas automaticamente
- Assinatura em uma newsletter que anuncie quando houverem atualizações dos dados
- Leitura periódica à fonte de dados para verificar se houveram alterações (geralmente via crawler)
Gradual
A extração gradual é aquela que visa obter apenas os dados que sofreram alterações em um determinado período. Fica subentendido que foi executada uma extração completa para construir a base de dados em um primeiro momento, e as extrações graduais apenas vão atualizando os dados conforme necessário.
Essa forma de extrair dados tem que interagir com a área intermediária, acrescentando os dados coletados nela. Ela é mais eficiente do que executar extrações completas quando houver atualização de dados, não precisando sobrescrever dados já coletados que não sofreram alterações.
Exemplos
- Consulta de novos relatórios do SICONFI a cada bimestre/quadrimestre
Completa
A extração completa coleta todos os dados, independente de terem sido alterados ou não, a fim de carregá-los na área intermediária. Essa operação costuma ser mais custosa conforme o volume de dados aumenta.
Exemplos
- Coleta do arquivo CSV das emendas parlamentares individuais e de bancada do Tesouro Nacional, onde os dados são acrescentados ao final do arquivo periodicamente