24 de abril de 20263 min de leitura

Arquitetura Medallion: Mais do que Diagramas, um Guia de Decisões Estratégicas

Banner - Arquitetura Medallion: Mais do que Diagramas, um Guia de Decisões Estratégicas

A arquitetura Medallion — com suas tradicionais camadas Bronze, Silver e Gold — é onipresente em apresentações de design de dados. Três caixas, três setas e a sensação de que o trabalho está feito. No entanto, essa simplicidade esconde um nível de complexidade que, se ignorado, pode transformar um pipeline promissor em um pesadelo de manutenção em menos de dois anos.

Na prática, o que chamamos de Medallion é um framework, não uma regra imutável. A mesma nomenclatura pode servir tanto para uma ingestão simples de 10 tabelas de marketing quanto para um enterprise lakehouse com 2.000 tabelas. A diferença entre um sistema robusto e um projeto fracassado mora nas decisões tomadas dentro de cada camada e nas fronteiras entre elas. Para times de engenharia, a maturidade na escolha desses padrões é o que garante que o onboarding da tabela número 200 seja tão fluido quanto o da segunda.

O fluxo padrão Medallion

Abaixo, analisamos os pilares estratégicos que você deve considerar ao projetar seu ambiente. O objetivo não é seguir um manual, mas sim documentar explicitamente suas escolhas em seus design docs.

1. A Camada de Staging: Preciso dela?

Uma camada de Staging (stg_*) é uma área transiente que retém apenas os dados da execução corrente.

  • Opções: Sem staging; staging como tabela temporária sobrescrita a cada run; ou como zona de checkpoints (usando, por exemplo, Auto Loader).

Fluxo de Staging

2. O nível de "pureza" da Bronze

O dogma diz "Bronze = raw bytes". A realidade do ambiente corporativo é outra. Quanto maior o número de fontes e consumidores, mais faz sentido aplicar alguma limpeza desde o início. Se você optar por normalizar nulls ou aplicar strong typing aqui, apenas garanta que a responsabilidade da Silver seja reajustada.

Níveis de limpeza na Bronze

3. O Escopo da Silver

A Silver costuma ser a camada mais sobrecarregada. Se ela for a única camada consultada pelo negócio, ela acabará assumindo funções da Gold. Evite o antipadrão de ter uma tabela Silver para cada fonte; a Silver deve ser estruturada por entidades de negócio.

Responsabilidades da Silver

4. A Estrutura da Gold

Não trate a Gold como uma caixa única. Projetos maduros separam a Gold em zonas de reporting (desnormalizada, otimizada para alta performance) e zonas de histórico (SCD2, point-in-time).

5. Padronização de Carga e Metadados

Decidir entre FullLoad, DeltaLoad ou CDC impacta diretamente a lógica de merge e o gerenciamento de watermarks. O uso de um framework guiado por metadados é, muitas vezes, o divisor de águas entre um custo de manutenção linear ou exponencial. O ponto de equilíbrio para investir em automação costuma surgir após 30 a 50 tabelas.

Padrões de Carga

Qual o seu cenário?

  • Projetos Pequenos: Code-per-table, sem staging, Silver focada em entidades. Simples e direto.
  • Plataformas de Médio Porte: Staging transiente, Silver de entidades com DAG orchestration, Gold dividida.
  • Lakehouses em Escala: Auto Loader com checkpoints, framework 100% metadata-driven, contratos rígidos de schema.

Nada disso é "errado"; tudo é uma questão de calibração para o seu cenário. O segredo é documentar, ser explícito sobre os tradeoffs e estar pronto para revisitar essas definições à medida que o projeto evoluir.


Artigo originalmente publicado em Azure Updates - Latest from Azure Charts.

Gostou? Compartilhe:
Precisa de ajuda?Fale com nossos especialistas 👋
Avatar Walcew - Headset