CEVIU Logo
Voltar
Otimizando recursos com Data Assets no Apache Airflow 3.0: Halodoc reduz uso de CPU e memória em mais de 30%

Halodoc Otimiza Apache Airflow 3.0 com Data Assets e Reduz Consumo de Recursos em Mais de 30%

Aprofundamento CEVIU

Aprofundamento

A Halodoc enfrentava um gargalo comum em plataformas de dados com Apache Airflow. A orquestração de suas 160 DAGs, especialmente em janelas de pico, sofria com sensores de polling que prendiam workers e operações síncronas de ingestão no Redshift via psycopg. Isso causava sobrecarga do scheduler, autoescalonamento excessivo do Amazon MWAA e erros de bloqueio de tabela, indicando uma infraestrutura que operava perto do limite.

A solução veio com a migração para o Airflow 3.x, aproveitando os Data Assets e operadores deferíveis (deferrable operators). Data Assets permitem que jobs downstream sejam acionados diretamente por eventos de atualização de dados upstream, eliminando a necessidade de sensores de polling que consomem recursos. Já os operadores deferíveis, como o RedshiftDataOperator, liberam o slot do worker enquanto a operação externa (como uma query longa no Redshift) é executada, retomando-a apenas quando finalizada. Essa estratégia resolve o problema de workers ociosos que apenas esperam por I/O.

O que mudou

A abordagem da Halodoc mostra a materialização de funcionalidades que o CEVIU já explorava. Em 12 de março de 2026, nossa cobertura sobre "Dimensionando com Airflow 3.2" detalhava como o suporte assíncrono nativo do PythonOperator e os operadores deferíveis revolucionariam a gestão de recursos. A Halodoc, ao migrar para o Airflow 3.x, validou essa promessa, usando Data Assets para gerenciar dependências e o RedshiftDataOperator para deferir as cargas mais pesadas. Isso mostra a evolução de uma capacidade teórica para uma implementação prática com ganhos concretos.

Além disso, o caminho da Halodoc de Airflow 2.10 para 3.2.1 destaca a evolução da própria plataforma. A equipe encontrou um bug de N+1 queries na versão 3.0.6, que sobrecarregava o banco de metadados do Airflow. A atualização para 3.2.1, conforme mencionado no artigo-fonte, resolveu essa questão, demonstrando a rápida correção e melhoria contínua dentro da mesma major version do Airflow, que se torna cada vez mais estável e eficiente para orquestração em escala.

Por que isso importa

Essa otimização é um marco importante para qualquer equipe de dados que lida com orquestração em escala. Reduzir o consumo de CPU de workers em 70% e a memória em 37% (em suas 160 DAGs) não é só economia de custo. Significa mais estabilidade, menos erros de bloqueio de tabela no Redshift e uma plataforma de dados mais responsiva. A capacidade de lidar com picos de carga sem autoescalonamento excessivo do MWAA ou filas de tarefas é crucial para a entrega de dados em tempo hábil e a confiabilidade de análises de negócios.

Para a Halodoc, que já investe pesado no ecossistema Airflow, como mostrado em nossa cobertura de 1 de junho de 2026 sobre seu framework de data profiling, essa melhoria valida a aposta na plataforma. A migração para funcionalidades mais modernas do Airflow 3.x permite que a engenharia de dados se concentre em valor de negócio, em vez de apagar incêndios de infraestrutura.

Linha do tempo

  1. Zalando corta 75% do estado do Flink abandonando Table API

  2. Cobertura CEVIU sobre dimensionamento do Airflow 3.2 e operadores assíncronos

  3. Halodoc constrói framework de data profiling nativo no Airflow

  4. Arcesium migra para DuckDB e corta custos de consulta pela metade

  5. Grab Impulsiona Data Lake com Apache Iceberg: Ganhos em Velocidade e Custos

  6. Zalando migra processamento de eventos de anúncio para Apache Flink

  7. Halodoc Otimiza Apache Airflow 3.0 com Data Assets e Reduz Consumo de Recursos em Mais de 30%

Perguntas frequentes

O que são Data Assets no Apache Airflow?

Data Assets são uma funcionalidade do Apache Airflow que permite que a orquestração de DAGs seja impulsionada pela disponibilidade de dados, em vez de horários fixos ou sensores de polling. Quando um job upstream produz um Data Asset, ele sinaliza que os dados estão prontos, desencadeando automaticamente os jobs downstream que dependem dele. Isso elimina a necessidade de checagens constantes e reduz a sobrecarga nos workers.

Como operadores deferíveis (deferrable operators) otimizam o Airflow?

Operadores deferíveis otimizam o Airflow ao liberar o slot do worker enquanto aguardam a conclusão de uma operação externa de longa duração, como uma query em um banco de dados ou uma chamada de API. Em vez de prender o worker em estado de espera, eles o liberam para executar outras tarefas e só o 'reclamam' de volta quando a operação externa é finalizada. Isso melhora drasticamente a utilização de recursos, especialmente em cargas de trabalho intensivas em I/O.

Qual a relação entre o Apache Airflow e o Amazon MWAA?

O Amazon MWAA (Managed Workflows for Apache Airflow) é um serviço gerenciado da AWS que simplifica a execução do Apache Airflow na nuvem. Ele cuida da infraestrutura, do dimensionamento e da manutenção do Airflow, permitindo que as equipes se concentrem na criação e gerenciamento de seus DAGs. A Halodoc utiliza o MWAA para operar seu Airflow, o que significa que as otimizações implementadas impactam diretamente os recursos gerenciados pela AWS.

O que era o bug N+1 no Airflow 3.0.6?

O bug N+1 no Airflow 3.0.6 era um problema de desempenho em que o Airflow fazia um número excessivo de viagens de ida e volta ao banco de dados de metadados para serializar e agendar DAGs. Isso gerava uma alta carga de CPU na instância do banco de dados, prejudicando o desempenho do scheduler e do processador de DAGs, especialmente em ambientes com muitas DAGs. O problema foi corrigido na versão 3.2.1.

Fontes

Avalie este artigo:
Compartilhar:
Categoria
CEVIU Dados
Publicado
03 de agosto de 2026
Editoria
CEVIU Dados

Quer receber mais sobre CEVIU Dados?

Conteúdo curado diariamente, direto no seu e-mail.

Conteúdo curado diariamenteDiversas categoriasCancele quando quiser