CEVIU Logo
Voltar

Apache Arrow Flight: a infraestrutura de alta performance para mover dados em escala

Aprofundamento CEVIU

Aprofundamento

O Apache Arrow Flight não é só mais um protocolo de transporte: é a camada de rede colunar que faltava na stack de dados moderna. Ele opera em cima do formato em memória do Arrow, mas com uma arquitetura RPC rigorosa baseada em gRPC e HTTP/2, o que elimina serializações desnecessárias e permite transferências zero-copy entre processos, máquinas e até clusters. Diferentemente de APIs REST genéricas ou drivers JDBC/ODBC tradicionais, o Flight lida nativamente com Arrow RecordBatches, fluxos contínuos de dados estruturados em colunas, sem conversão para linhas ou formatos intermediários como JSON ou Parquet no trânsito. Isso explica os ganhos reais de desempenho: até 6000 MB/s em leitura, 20–30x mais rápido que ODBC em ambientes como Dremio, e centenas de vezes mais eficiente que PyMySQL em consultas analíticas no Apache Doris 2.1.

Uma peça-chave dessa evolução é o Arrow Flight SQL, lançado como padrão estável na versão 24.0.0 (abril/2026). Ele não tenta replicar JDBC, mas substitui sua lógica linha-a-linha por operações em massa sobre batches colunares, com suporte nativo a comandos SQL, metadados de esquema e execução paralela de consultas. Já há drivers JDBC oficiais para Flight SQL, além de integrações ativas em Spark, DuckDB, InfluxDB e Snowflake, mostrando que o ecossistema está migrando da interoperabilidade *via conversão* para a interoperabilidade *via formato compartilhado em memória*.

O que mudou

A cobertura anterior de 20 de maio destacou o Arrow como formato universal em memória, mas ainda focada em trocas *dentro do processo* (ex.: Pandas → Spark). Agora, com o Flight, essa universalidade se estende para o *espaço de rede*: não basta ter o mesmo formato na memória, é preciso movê-lo eficientemente entre serviços. O salto técnico real está na padronização do transporte, antes, cada ferramenta implementava seu próprio canal (HTTP, sockets, custom RPC); agora, Flight fornece uma API unificada para listagem de datasets, execução de consultas e streaming de resultados, tudo com garantias de tipo e esquema via Arrow Schema. Isso torna viável construir serviços de dados como 'APIs de DataFrame' ou gateways de acesso federado sem custo de cópia ou desserialização.

Por que isso importa

Para engenheiros de dados, isso muda a forma como projetam pipelines distribuídos: não há mais necessidade de escolher entre 'performance' (usando formatos binários proprietários) e 'interoperabilidade' (usando JSON ou CSV). Com Flight, você obtém as duas coisas ao mesmo tempo, e com baixa latência. Para equipes de analytics, significa que dashboards podem consumir dados diretamente de bancos colunares (como Doris ou Dremio) sem intermediários, reduzindo o tempo entre query e visualização. E para plataformas de ML, como a do Pinterest descrita em 22 de maio, o Flight permite sincronizar rapidamente features de sequência do usuário entre sistemas de lote e tempo real, mantendo consistência de esquema sem pipelines de transformação adicionais.

Linha do tempo

  1. Lançamento do Quack, protocolo HTTP para DuckDB com suporte a múltiplos escritores

  2. Consolidação do Apache Arrow como formato universal em memória para intercâmbio entre ferramentas

  3. Netflix migra pipeline de Cassandra para Iceberg usando conversão direta em Spark DataFrames

  4. Apache Arrow Flight consolidado como infraestrutura de alta performance para movimentação de dados colunares em escala

Perguntas frequentes

Arrow Flight substitui o ODBC ou JDBC?

Não substitui, mas oferece uma alternativa otimizada para cargas analíticas. JDBC e ODBC foram feitos para aplicações transacionais e dados linha-a-linha. Flight SQL foi projetado para bancos colunares e pipelines de análise, com transferência em lotes, menor overhead e melhor uso de largura de banda. Drivers JDBC para Flight já existem, mas são pontes, não substituições.

Preciso mudar meu banco de dados para usar Arrow Flight?

Não. O Flight é um protocolo de comunicação, não um banco. Projetos como Apache Doris 2.1, Dremio e InfluxDB já têm suporte nativo. Se seu sistema não tem, você pode adicionar um servidor Flight como camada intermediária, como fez a Halodoc com seu framework de profiling no Airflow, mas agora para transporte de dados.

Qual a diferença entre Arrow Flight e Quack (protocolo do DuckDB)?

Quack é um protocolo HTTP baseado em REST para múltiplos escritores DuckDB, focado em simplicidade e compatibilidade web. Flight é um protocolo RPC gRPC com forte tipagem, streaming bidirecional e suporte a execução de consultas SQL nativas. São complementares: Quack facilita integração leve; Flight entrega performance extrema em ambientes de dados pesados.

É possível usar Arrow Flight sem migrar toda a stack para Arrow?

Sim. Você pode começar com um único ponto de integração, por exemplo, conectar seu Pandas diretamente a um servidor Flight que lê dados do S3 ou de um Iceberg table. A Netflix já faz algo semelhante com sua camada de conversão para Spark DataFrames, mas agora com Flight, essa conversão pode ser feita em memória, sem gravação intermediária.

Avalie este artigo:
Compartilhar:
Categoria
CEVIU Dados
Publicado
08 de junho de 2026
Fonte
CEVIU Dados

Quer receber mais sobre CEVIU Dados?

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

Conteúdo curado diariamenteDiversas categoriasCancele quando quiser
Apache Arrow Flight: a infraestrutura de alta performance para mover dados em escala — CEVIU News