Interoperabilidade Snowflake & Databricks [Pt1]
Como ler dados armazenados em Delta Tables via Snowflake
Interoperabilidade Snowflake & Databricks [Pt1]
Como ler dados armazenados em Delta Tables via Snowflake

No ecossistema de dados moderno, a especialização tornou-se a norma. Empresas frequentemente adotam uma arquitetura de múltiplas plataformas, selecionando as melhores ferramentas para cada tarefa específica. Embora essa abordagem “best-of-breed” maximize o potencial de cada domínio, ela cria um problema que todos nós que trabalhamos com dados conhecemos bem: os silos de dados👹
Uma das formas tradicionais de resolver isso é através de cópias de dados, que acabam gerando mais complexidade e custos. Com o tempo, novas tecnologias vem surgindo e, por sorte nossa, elas já nascem com a interoperabilidade em mente. E, dentro dessa seara, quero falar pra vocês sobre como podemos integrar o Snowflake e o Databricks, usando uma estratégia de Open Datalake.
Mas…espere! Antes disso quero apresentar alguns conceitos que serão úteis na nossa jornada. A parte prática inicia na PARTE 2 desse artigo (já disponível. Calma, jovem@).
Table Formats
Neste contexto, grandes players de mercado começaram a buscar alternativas para lidar com essas limitações e, assim, nasceu o conceito de "table formats" que nada mais é, de forma MUITO SIMPLISTA, uma camada de metadados (_delta_log / Iceberg manifests), manipulados via APIs, que dão características transacionais ao nosso Datalake tradicional.
Nesse cenário, temos três principais players (open source) :
Iceberg: desenvolvido nos idos de 2018, pela Netflix, para resolver limitações relacionadas ao Apache Hive; como ACID, por exemplo. Em 2019 o projeto foi doado para a fundação Apache e vem ganhado tração na comunidade de dados, com multiplos contribuidores, como: Snowflake, Apple, AWS e outros
Delta Lake: Desenvolvido pela Databricks, em 2019, para suportar sua estratégia de "Lakehouse"e, como principais contribuidores: Majoritariamente DBX e, de forma diminuta, Microsoft, Uber e outros.
Hudi: Criado pela Uber, para enfrentar problemas parecidos aos da Netflix, mas bem mais focado em operações de streaming e Updates; Fun Fact: HUDI significa: "Hadoop Upsert Delete and Incrementals")
Uma menção ao table format FDN (Flocon De Neige) que é o formato de armazenamento original da Snowflake, presente no produto desde sua primeira versão.
Atualmente, a comunidade de dados elegeu um formato vencedor e Iceberg, para ser adotado; Podemos ver isso em movimentos como:
- Amazon Anuncia suporte a Iceberg no S3
- Dbx adquire Tabular, empresa dos fundadores do formato Iceberg
Catalogos de Dados
O catalogo de dados de primeira geração, Hive Meta Store, tinha muitas limitações e convenções que não eram práticas, por exemplo:
- Tabelas eram armazenadas em um diretório específico e as partições em sub-diretórios e o schema armazenado em um DB relacional; o tal do Hive Metastore
- Sem Atomicidade: Se um processamento falhasse, os dados muitas vezes estavam corrompidos.
- Desempenho sofrivél, já que o HMS sabia que existiam pastas, mas nada sobre os arquivos que ali estavam armazenados (Lembra do LIST do Spark? 😖)
- Governança Inexistente: quem pode acessar o que dentro de cada objeto? impossivel de definir
Atualmente temos catálogos mais modernos e com diversas funcionalidades que nos permitem criar estruturas de Lakehouse. Em uma estrutura interoperável, o catálogo acaba sendo a porta de entrada segura e governada para seus dados.
- Glue Catalog: Solução da AWS para catalogação de dados, em diferentes formados, no ambiente cloud
- Unity Catalog: Desenvolvido pela Databricks, tem uma versão opensource (onde carecem de muitas das funcionalidades da versão paga)
- Horizon Catalog: Catálogo nativo da Snowflake, que contempla diferentes camadas de governança e segurança.
- Apache Polaris: Catálogo Iceberg Opensource, desenvolvido pela Snowflake e doado para Apache (Incubado)
Interoperabilidade
Tudo isso pode se resumir a algo chamado Interoperabilidade!O cenário de dados está cada vez mais focado em fazer com que diferentes engines de processamento (Snowflake, Spark, Trino, Athena, BQuery etc.) possam processar os mesmos dados de forma transparente e interoperável.
Na parte 2 e na parte 3 desse artigo, vamos focar agora na interoperabilidade entre as duas principais plataformas de dados do mercado: Snowflake e Databricks. Exploraremos o Databricks Uniform e o Snowflake Delta Direct, respectivamente.
메타데이터
- post_id
- 88fe4ecf0124
- slug
- interoperabilidade-snowflake-databricks-pt1-88fe4ecf0124
- url
- https://medium.com/@dhiegopiroto/interoperabilidade-snowflake-databricks-pt1-88fe4ecf0124
- canonical_url
- https://medium.com/@dhiegopiroto/interoperabilidade-snowflake-databricks-pt1-88fe4ecf0124
- author_url
- https://medium.com/@dhiegopiroto
- status
- ok
- fetched_at
- 2026-07-31 04:43:43