1 ETL (extract, transform, load) é uma abordagem em que os dados são extraídos das fontes, transformados em um ambiente intermediário (normalização, limpeza, padronização) e carregados no destino final, geralmente em um data warehouse.
Já o ELT (extract, load, transform) é uma abordagem em que os dados são extraídos, carregados diretamente no destino (por exemplo, data lake ou data warehouse moderno) e transformados posteriormente, usando-se o poder computacional do destino.
Uma vantagem em se utilizar ETL é que esta abordagem permite controle rigoroso acerca da qualidade e consistência dos dados antes do carregamento, sendo adequada para cenários em que o destino tem capacidade limitada de processamento. Já em relação ao ELT, um benefício é o aproveitamento da capacidade de processamento do banco de dados moderno ou do data lake, o que reduz a necessidade de servidores intermediários, sendo mais rápido para grandes volumes de dados. Uma desvantagem do ETL é que essa abordagem pode demandar maior tempo de processamento e infraestrutura adicional para a transformação dos dados.
Outra desvantagem do ELT é que essa abordagem, também, pode exigir maior capacidade computacional do destino e planejamento adequado de recursos para transformações pesadas. No que se refere aos cenários de aplicação típicos, a abordagem ETL é aplicada em data warehouses corporativos com dados estruturados provenientes de ERPs, CRMs e sistemas legados; em contrapartida, o ELT é aplicado em big data e ambientes em nuvem com data lakes, nos quais os dados semiestruturados e não estruturados são carregados para análise posterior. Acrescenta-se que, no ETL, as transformações prévias tendem a reduzir o volume final armazenado, por meio de filtragem, consolidação e deduplicação, enquanto no ELT ocorre o carregamento inicial dos dados brutos, o que pode demandar maior espaço de armazenamento no destino. Ambas as abordagens podem ser implementadas em batch, near real-time ou streaming, dependendo dos requisitos de latência, volume e arquitetura adotada.
2 A técnica transferência de arquivos envolve o envio de arquivos de texto, CSV, XML ou JSON entre sistemas para ingestão em um banco de dados ou data lake. Algumas de suas particularidades incluem o fato de ser simples de implementar e adequada para sistemas legados. Entre os riscos, estão a possibilidade de inconsistências na hipótese de os arquivos serem corrompidos ou não padronizados; e a dependência de processos manuais. Boas práticas incluem automatizar a transferência via scripts ou pipelines, validar integridade e garantir versionamento dos arquivos.
A técnica integração via base de dados é realizada, utilizando-se de conexões diretas entre bancos de dados, views, procedures ou ferramentas de replicação. Algumas de suas particularidades incluem o fato de que permite atualização em tempo real ou quase real, mantém integridade referencial e evita redundância. Entre os riscos, estão a maior complexidade de configuração e a dependência de compatibilidade entre SGBDs e protocolos de conexão. Boas práticas incluem monitorar performance, aplicar regras de consistência e segurança e utilizar logs para auditoria. Na transferência de arquivos, podem ser utilizados ambientes de Object Storage (ex.: data lake em nuvem) como zona de pouso (landing zone), favorecendo escalabilidade, reprocessamento e versionamento. Boas práticas adicionais incluem uso de checksums ou hash para verificação de integridade, criptografia em trânsito e em repouso e validação de origem da fonte emissora. Na integração via base de dados, além de conexões diretas, pode-se empregar técnicas de replicação e Change Data Capture (CDC), que capturam alterações diretamente dos logs transacionais, reduzindo impacto nos sistemas de origem e permitindo integração quase em tempo real. Em bancos relacionais, a integridade é garantida pelas propriedades ACID, caracterizando uma particularidade relevante dessa técnica. Também pode ser considerada a integração via APIs como forma indireta de acesso aos dados, o que proporciona desacoplamento, controle de acesso e padronização das requisições.
3 Para uma organização que recebe dados de múltiplas fontes heterogêneas, como sistemas financeiros, operacionais e externos (APIs ou planilhas), reunidos em um data warehouse, um fluxo de integração eficiente pode ser o seguinte:
• extração (extract) – dados estruturados do ERP e CRM serão extraídos via ETL, aproveitando-se a capacidade do data warehouse moderno; dados não estruturados (logs, arquivos JSON, imagens) serão enviados para um data lake;
• transformação (transform) – para dados estruturados, normalização, limpeza e agregações serão aplicadas no data warehouse; para dados semiestruturados, padronização e enriquecimento serão aplicados em pipelines no data lake;
• carregamento (load): dados limpos e transformados serão carregados no data warehouse para relatórios e análises corporativas; dados não estruturados serão mantidos no data lake para exploração futura e(ou) treinamento de aprendizagem de máquina; e
• governança e monitoramento: o DBA implementará controle de integridade, auditoria e monitoramento de performance, o que garante confiabilidade e escalabilidade. Devem ser realizados backups periódicos, logs e versionamento de dados para garantir recuperação em caso de falhas.
A justificativa da escolha desse fluxo de integração reside no fato de que o ELT é utilizado para dados volumosos, aproveitando processamento no destino. Já o ETL é usado para dados críticos e sensíveis, o que garante consistência antes do carregamento. Além disso, combinar data lake e data warehouse permite flexibilidade analítica e suporte a múltiplos tipos de dados, sem comprometer performance ou governança.
O candidato pode propor outros fluxos de integração, desde que sejam adequados ao contexto da organização, considerem performance, confiabilidade e escalabilidade e que estejam acompanhados de justificativa técnica válida. Outros fluxos arquiteturais podem ser aceitos, desde que tecnicamente justificados, como arquiteturas baseadas em streaming (event driven), Lambda ou Kappa, combinando processamento em lote e em tempo real. A escolha das técnicas de ingestão pode variar conforme o tipo de fonte (APIs, arquivos, bases relacionais, eventos), volume e requisitos de latência. Decisões como uso de processamento incremental, paralelismo, separação em camadas (staging e curada), monitoramento, controle de falhas e observabilidade também caracterizam atendimento aos critérios de performance, confiabilidade e escalabilidade. O uso de processamento paralelo e distribuído, ingestão incremental, separação em camadas e governança centralizada caracteriza atendimento aos critérios de performance, confiabilidade e escalabilidade. Ambientes NoSQL e data lakes podem ser adotados para dados não estruturados e semiestruturados, mantendo integração posterior com ambientes analíticos estruturados.
QUESITOS AVALIADOS
Quesito 2.1 – Distinção entre ETL e ELT
Conceito 0 – Não respondeu ao quesito ou apresentou resposta totalmente equivocada.
Conceito 1 – Abordou as diferenças entre ETL e ELT de maneira bastante superficial e sem incluir qualquer um dos aspectos requisitados (cenários de aplicação, vantagens e desvantagens e impactos sobre desempenho e armazenamento).
Conceito 2 – Abordou as diferenças entre ETL e ELT, porém com a inclusão de apenas um dos três aspectos requisitados (cenários de aplicação, vantagens e desvantagens ou impactos sobre desempenho e armazenamento).
Conceito 3 – Abordou as diferenças entre ETL e ELT, mas abordou apenas dois dos três aspectos requisitados.
Conceito 4 – Abordou as diferenças entre ETL e ELT de forma bem fundamentada, abordando todos os aspectos requisitados.
Quesito 2.2 – Transferência de arquivos e integração via base de dados
Conceito 0 – Não respondeu ao quesito ou apresentou resposta totalmente equivocada.
Conceito 1 – Analisou de maneira parcialmente correta apenas uma das duas técnicas e não destacou nenhum dos aspectos requisitados (particularidades, riscos e boas práticas).
Conceito 2 – Analisou de maneira parcialmente correta apenas uma das técnicas e apresentou os aspectos requisitados (particularidades, riscos e boas práticas) de forma pouco fundamentada OU analisou de maneira parcialmente correta as duas técnicas, mas não abordou os aspectos requisitados de nenhuma delas.
Conceito 3 – Analisou de maneira parcialmente correta as duas técnicas, mas sem abordar os aspectos requisitados, OU analisou corretamente apenas uma das técnicas, porém abordou os aspectos requisitados de forma pouco fundamentada.
Conceito 4 – Analisou corretamente as duas técnicas, porém abordou os aspectos requisitados (particularidades, riscos e boas práticas) de forma bem fundamentada para apenas umas das técnicas OU abordou os aspectos requisitados de forma pouco fundamentada para ambas as técnicas.
Conceito 5 – Analisou corretamente as duas técnicas e abordou de forma bem fundamentada os aspectos requisitados (particularidades, riscos e boas práticas) das duas técnicas.
Quesito 2.3 – Fluxo de integração
Conceito 0 – Não respondeu ao quesito ou apresentou resposta totalmente equivocada.
Conceito 1 – Propôs corretamente um fluxo de integração de dados para uma organização que recebe informações de múltiplas fontes heterogêneas, não justificou a escolha da técnica de ingestão para cada tipo de dado e nem considerou performance, confiabilidade e escalabilidade.
Conceito 2 – Propôs corretamente um fluxo de integração de dados para uma organização que recebe informações de múltiplas fontes heterogêneas, justificou a escolha da técnica de ingestão para cada tipo de dado, mas não considerou performance, confiabilidade e escalabilidade.
Conceito 3 – Propôs corretamente um fluxo de integração de dados para uma organização que recebe informações de múltiplas fontes heterogêneas, justificando a escolha da técnica de ingestão para cada tipo de dado e considerando performance, confiabilidade e escalabilidade.