top of page

Coffee and Tips Newsletter

Inscreva-se na nossa newsletter semanal

Nos vemos em breve!

Open Table Formats: A Revolução no Armazenamento de Dados Analíticos

  • Foto do escritor: JP
    JP
  • há 7 dias
  • 5 min de leitura

Introdução

Armazenar grandes volumes de dados em data lakes sempre foi uma solução eficiente e econômica. Mas à medida que os dados se tornam mais estratégicos, cresce também a necessidade de governança, versionamento, consistência e flexibilidade. Foi exatamente a partir dessas necessidades que surgiram os Open Table Formats. Eles representam um avanço importante na forma como lidamos com dados armazenados em arquivos, permitindo operar com esses dados como se estivéssemos trabalhando com um banco de dados transacional, mas sem perder a escalabilidade e o custo-benefício dos data lakes.

Neste artigo, vamos explorar o que são os Open Table Formats, por que eles são importantes, os principais formatos disponíveis no mercado e como cada um pode ser usado em diferentes cenários.



O problema do data lake tradicional

Quem já precisou lidar com arquivos Parquet ou ORC no S3, por exemplo, sabe como algumas operações simples podem se tornar um grande desafio. Atualizar ou excluir registros, mudar o esquema de uma tabela ou auditar dados históricos são tarefas que exigem reprocessamentos complexos, scripts manuais e uma série de cuidados para evitar inconsistências.

Esse modelo funciona bem enquanto os dados são apenas lidos. Mas, quando precisamos manipulá-los com mais controle, tudo muda. É justamente nessa lacuna que os Open Table Formats se destacam.


O que são Open Table Formats?



Open Table Formats
Open Table Formats


Open Table Formats (OTFs) são especificações abertas criadas para organizar e gerenciar dados tabulares armazenados em formatos como Parquet, ORC ou Avro dentro de data lakes. Eles funcionam como uma camada de metadados e controle que transforma arquivos brutos em tabelas gerenciadas com estrutura, histórico e regras de consistência, oferecendo uma experiência similar à de um banco de dados relacional, porém mantendo a flexibilidade e o baixo custo dos data lakes.


Na prática, os OTFs permitem que você trate seus dados como tabelas transacionais, onde é possível:


  • Executar inserções, atualizações, deleções e merges de forma confiável;

  • Realizar consultas temporais (por exemplo, acessar os dados como estavam ontem, o famoso Time Travel);

  • Evoluir o esquema da tabela com segurança, sem quebrar pipelines existentes;

  • Garantir transações ACID em ambientes distribuídos;

  • Ter interoperabilidade entre diferentes motores de leitura e escrita, como Spark, Trino, Flink, Hive, Presto, Dremio, entre outros.


Por que eles surgiram?

Originalmente, os data lakes foram pensados para armazenar grandes volumes de dados de forma bruta, priorizando escalabilidade e economia. No entanto, com o tempo, começaram a surgir novas demandas:

  • A necessidade de governança e rastreabilidade sobre os dados;

  • Aumento da complexidade dos pipelines e das integrações;

  • A exigência de consistência transacional, principalmente em ambientes corporativos;

  • A busca por versionamento e auditoria de alterações nos dados.

Os OTFs surgiram para preencher essa lacuna entre a flexibilidade do data lake e a estrutura dos data warehouses.


Como funcionam tecnicamente?

Cada Open Table Format possui sua própria implementação, mas todos seguem uma lógica semelhante:

  • Arquivos de dados são armazenados no data lake em formatos colunares (Parquet, ORC ou Avro).

  • Uma camada de metadados armazena informações como esquema da tabela, histórico de transações, snapshots e partições.

  • Um log de transações registra todas as mudanças feitas na tabela — similar ao WAL (write-ahead log) de bancos de dados.

  • É possível utilizar catálogos de metadados, como Hive Metastore, AWS Glue ou um catálogo próprio (ex: REST em Iceberg), para registrar e consultar essas tabelas.


Exemplo prático

Sem um Open Table Format, você pode até armazenar milhões de linhas em arquivos Parquet no S3, mas:

  • Você não saberá quais arquivos foram modificados por uma operação.

  • Não há como aplicar DELETE FROM tabela WHERE id = 123.

  • Não é possível voltar para a versão anterior da tabela sem restaurar manualmente.

Benefícios diretos

  • Performance: por armazenar informações como estatísticas e partições nos metadados, as engines conseguem pular arquivos desnecessários na hora de ler os dados (query skipping).

  • Governança: é possível rastrear quem alterou os dados, quando e como.

  • Escalabilidade: como os arquivos continuam armazenados de forma distribuída, os formatos mantêm a escalabilidade horizontal dos data lakes.

  • Independência de fornecedor: como são formatos abertos, você pode ler e escrever neles usando diferentes ferramentas, sem ficar preso a uma plataforma específica.



Os principais formatos do mercado


Apache Iceberg

Criado pela Netflix, o Iceberg é mantido pela Apache Foundation e se tornou uma das soluções mais robustas para ambientes analíticos. Ele foi projetado para lidar com grandes volumes de dados e múltiplos motores de processamento.

Entre seus recursos, estão:

  • Evolução completa de esquema (inclusive reordenação e renomeação de colunas);

  • Versionamento com snapshots;

  • Particionamento oculto (sem expor a lógica de partições ao usuário);

  • Compatibilidade com Hive Metastore, Glue e Catálogos REST.


Exemplo de uso:


Como consultar uma versão antiga de uma tabela.

SELECT * FROM iceberg.transacoes.snapshot_id = 1054;

Iceberg é uma excelente escolha para quem precisa de controle de versões, múltiplos consumidores de dados e uma estrutura escalável.


Delta Lake

Desenvolvido pela Databricks, o Delta Lake se integra perfeitamente com o Spark e é amplamente adotado em ambientes que utilizam o ecossistema da empresa. Sua principal vantagem é a simplicidade de uso para quem já trabalha com Spark.

Destaques:

  • Delta Log com histórico de transações;

  • Suporte a UPDATE, DELETE, MERGE com sintaxe SQL;

  • Time travel com VERSION AS OF e TIMESTAMP AS OF;

  • Comandos para otimização de arquivos (OPTIMIZE, ZORDER).


Exemplo de uso:


Como consultar uma versão antiga de uma tabela.

SELECT * FROM vendas TIMESTAMP AS OF '2024-10-15';

Delta Lake é ideal para pipelines batch e interativos com Spark, além de oferecer bons recursos de governança em ambientes Databricks.


Apache Hudi

Criado pelo Uber, o Apache Hudi foi pensado desde o início para ingestão contínua de dados. Seu foco está em cenários onde as tabelas mudam frequentemente e o tempo de atualização precisa ser baixo.

Recursos notáveis:

  • Dois modos de escrita: Copy-on-Write (COW) e Merge-on-Read (MOR);

  • Suporte a ingestão em tempo real e Change Data Capture (CDC);

  • Compatibilidade com Spark, Flink, Hive e Presto;

  • Ferramentas para integração com Kafka, bancos relacionais e mais.


Exemplo de uso:


df.write.format("hudi") \
.option("hoodie.datasource.write.operation", "upsert") \
.mode("append") \
.save("s3://data-lake/transacoes")

Para casos de uso onde os dados mudam constantemente como logs, eventos ou sincronização incremental, o Hudi se encaixa perfeitamente.



Quando adotar um Open Table Format?


Você deve considerar adotar um OTF quando:


  • Precisa manipular dados (atualizações, exclusões, merges) com segurança;

  • Deseja versionar o histórico de uma tabela e ter acesso ao que mudou;

  • Tem pipelines com múltiplos consumidores (Spark, Trino, Flink) e quer garantir consistência;

  • Está migrando para uma arquitetura de data lakehouse e precisa unir governança com escalabilidade;


Comparativo direto


Open Table Formats

Conclusão


Open Table Formats representam um passo importante na maturidade dos data lakes. Eles trazem previsibilidade, controle e flexibilidade para um ambiente que antes era marcado pela fragilidade e pelo esforço manual.

Escolher entre Iceberg, Delta Lake ou Hudi vai depender do seu ecossistema, das necessidades de ingestão e da maturidade do seu time. Mas o mais importante é entender que essas tecnologias ajudam a transformar dados em ativos confiáveis e auditáveis, prontos para suportar decisões estratégicas com mais segurança.


Referências



Quer Aprender Mais? Inscreva-se na nossa Newsletter semanal!


Não perca nossas dicas exclusivas de Tech e Data!



Receba semanalmente:

  • Tutoriais práticos e diretos sobre Engenharia de Software e Dados

  • Insights de tecnologia e notícias da semana


 
 
 
bottom of page