Skip to content
Latchkey

Avro vs Parquet: armazenamento por linha ou colunar?

Avro é um formato orientado a linha otimizado para escritas e streaming; Parquet é um formato colunar otimizado para leituras analíticas e compressão.

Avro armazena registros linha a linha, o que é eficiente para ingestão em streaming, escritas de registro completo e evolução de schema. Parquet armazena dados por coluna, permitindo compressão forte e scans rápidos de colunas selecionadas, o que é ideal para analytics e queries em data lake. Eles são complementares no ecossistema de dados: Avro para landing e streaming, Parquet para armazenamento analítico.

AvroParquet
LayoutOrientado a linhaColunar
Otimizado paraEscritas, streamingLeituras analíticas
CompressãoBoaExcelente (por coluna)
Evolução de schemaForteSuportada
Melhor paraIngestão, KafkaData lakes, queries

Caso de uso e padrão de acesso

Escolha Avro quando você escreve ou faz streaming de registros inteiros com frequência e precisa de evolução de schema fácil, como tópicos Kafka e landing zones. Escolha Parquet quando você roda queries analíticas que leem poucas colunas de grandes datasets, onde o layout colunar e a compressão reduzem drasticamente o I/O. Muitos pipelines ingerem como Avro e depois convertem para Parquet para analytics.

No CI e em jobs de dados

Valide schemas e rode testes de conversão/ETL em dados de amostra. Ambos rodam em pipelines de dados em managed runners, onde runners mais rápidos encurtam os jobs de conversão e validação.

O veredito

Ingestão em streaming e escritas frequentes de registro completo com evolução de schema: Avro. Queries analíticas que escaneiam colunas sobre grandes datasets: Parquet. O padrão lakehouse comum usa Avro para ingestão e Parquet para a camada de armazenamento analítico.

Guias relacionados