Airbnb architecture visualization
Todas as arquiteturas
Análise técnica

Airbnb

Como o Airbnb virou uma stack Hadoop caseira num lakehouse moderno — e deu ao mundo Airflow e Superset.

Números que importam

7M+
Anúncios
400M+
Chegadas de hóspedes / ano
10,000+
DAGs no Airflow
em produção
1,500+
Usuários de dados
internos, via Superset

Stack técnica

Apache Airflow· orquestração
Apache Superset· BI
Apache Spark· processamento batch
Apache Druid· OLAP em tempo real
Presto· SQL interativo
Kafka· streaming
S3 + Iceberg· lakehouse
Minerva· plataforma de métricas
Dataportal· catálogo de dados

A arquitetura em um dashboard interativo

A ideia é essa: aprender lendo o diagrama. Cada caixa e cada seta conta uma parte da história — clique pra abrir.

Como ler este diagrama
Caixas = componentes

Cor indica o papel: cliente, streaming, storage, compute, ML, serving. Clique em qualquer caixa pra ver o que é, por que é usada e como funciona ali.

Setas = fluxo de dados
streaming· eventos ao vivobatch· job periódicosync· chamada diretaserve· resposta ao usuário
Clique em uma etapa para explorar
eventosorquestra
Serviços de pr…Clienteclique →
KafkaStreamingclique →
BronzeArmazenamentoclique →
SilverArmazenamentoclique →
GoldArmazenamentoclique →
AirflowComputaçãoclique →
MinervaServiçoclique →
SupersetServiçoclique →
DruidServiçoclique →
O lakehouse medallion do Airbnb, orquestrado por Airflow, exposto pra humanos através de métricas certificadas pelo Minerva no Superset e Druid.
Opcional
Ler o deep dive completo em texto
As mesmas ideias do diagrama, com mais contexto — recomendado depois de explorar as etapas.

O superpoder real do Airbnb: eles fizeram a stack de todo mundo também

O produto do Airbnb é compartilhamento de casas. A influência deles em data engineering é desproporcional — eles open-sourceram duas das ferramentas que moldam a maioria dos times de dados modernos:

  • Apache Airflow (originalmente interno do Airbnb, hoje o orquestrador default)
  • Apache Superset (a ferramenta interna de BI, hoje o BI open-source líder)

Mais o Dataportal (conceito de catálogo de dados, gerou o Amundsen e inspirou o DataHub) e o Knowledge Repo (writeups analíticos longos).

Se você já se perguntou por que "usa Airflow" é a resposta default pra perguntas de orquestração no Stack Overflow — é por isso. Entender a plataforma do Airbnb é entender as restrições de design que essas ferramentas foram feitas pra resolver.

Airflow: o orquestrador que devorou o mundo

O Airbnb construiu o Airflow em 2014 porque cron + shell scripts não expressavam os DAGs que o time de dados escrevia: "recompute features de pricing depois que o pipeline de eventos terminar, a menos que a tabela de trust upstream tenha falhado, aí manda alerta."

A ideia central do Airflow que pegou:

  • DAGs como código em Python — versionados, revisados, testados como qualquer outro software
  • Operators encapsulam trabalho (BashOperator, PythonOperator, SparkSubmitOperator, operator do dbt...)
  • Task instances são a unidade de retry, alerta e observabilidade

Um DAG mínimo mas com cara de produção:

from airflow import DAG
from airflow.decorators import task
from datetime import datetime

with DAG(
    "listing_features_daily",
    start_date=datetime(2026, 1, 1),
    schedule="0 4 * * *",  # 4h UTC diariamente
    catchup=False,
    default_args={"retries": 3, "retry_delay": timedelta(minutes=10)},
) as dag:

    @task
    def wait_for_bookings():
        # sensor na tabela bronze upstream
        ...

    @task
    def compute_features(**context):
        # job Spark que escreve em silver.listing_features
        ...

    @task
    def publish_metric():
        # registro da métrica no Minerva
        ...

    wait_for_bookings() >> compute_features() >> publish_metric()

10.000+ DAGs como esse rodam todo dia no Airbnb. É menos "orquestrador" e mais "sistema operacional da plataforma de dados".

Minerva: a camada de métricas que ninguém comenta (mas todo mundo precisa)

A ferramenta interna mais subestimada do Airbnb é o Minerva — a plataforma de métricas. O problema que resolve: cinco dashboards diferentes mostrando "bookings" com cinco números diferentes.

O Minerva impõe uma fonte única de verdade para métricas:

  • Toda métrica é definida uma vez, em YAML, com suas dimensões, agregação e granularidade
  • A plataforma gera as tabelas subjacentes no lakehouse
  • Superset, Druid, notebooks e serviços todos consultam tabelas certificadas pelo Minerva
  • Quer uma métrica nova? Abre um PR; owners aprovam, a plataforma materializa

É o padrão pro qual dbt Semantic Layer, Cube.dev e Looker LookML apontam. O Airbnb construiu internamente em 2019 porque BI sem camada semântica vira caos na escala deles.

Superset: dar SQL a 1.500 pessoas sem quebrar o warehouse

O Superset existe porque o Airbnb queria que analistas, PMs e até execs respondessem as próprias perguntas sem abrir ticket pro time de dados. É uma ferramenta de BI enxuta: conecta em Presto/Druid/Snowflake, escreve SQL, salva um chart, monta um dashboard.

Duas decisões de design importam pra escala:

  • Cache de query + controle de acesso row-level — dá pra botar o Superset na frente de um warehouse de produção sem morrer de queries repetidas.
  • SQL Lab — um notebook de SQL de primeira classe. Analistas não vão pra outra ferramenta pra explorar antes de fazer um chart.

O Superset hoje sustenta dashboards no Airbnb, Netflix, Twitter, Dropbox, Wikipedia e milhares de times menores. É como "BI self-service" fica quando é construído por engenheiros de dados, não vendido por eles.

O padrão de lakehouse que o Airbnb ajudou a popularizar

A arquitetura medallion do Airbnb (bronze → silver → gold) hoje é o padrão de referência da indústria:

  • Bronze: eventos brutos aterrissados como vieram do Kafka. Schema-on-read.
  • Silver: limpo, deduplicado, com join em tabelas de dimensão. Schema imposto.
  • Gold: agregados de negócio. É o que dashboards e modelos consomem.

Mesmo padrão que a Databricks hoje vende como "medallion architecture". O Airbnb já fazia em 2018 porque o layout Hive flat antigo não sobrevivia a schema drift e eventos duplicados. Os nomes são novos; o padrão é mais antigo.

O que você pode de fato roubar desse design

  • Métricas moram numa camada semântica, não num dashboard. Se o mesmo "revenue" está definido em sete charts do Superset, você não tem sete charts — tem sete definições de revenue. dbt semantic layer, Cube ou um Minerva-lite caseiro — escolha uma, mas centralize.
  • Airflow primeiro, depois questione o Airflow. Pra maioria dos times, Airflow é o default certo. Só quando você sente dor real (DAGs dinâmicos, scheduling sub-segundo, sensibilidade de custo por task) Dagster/Prefect/Temporal viram escolhas óbvias.
  • O catálogo não é opcional. O Airbnb construiu o Dataportal porque 1.500 usuários não conseguem perguntar "qual tabela tem o dado real de bookings?" 1.500 vezes. Entregue um catálogo no dia um, mesmo que seja uma planilha.
  • Medallion é piso, não teto. Bronze/silver/gold é como "qualidade de dados suficiente" se parece. Pule isso e toda tabela downstream vai ter que reimplementar dedup + join.

Fontes e leituras curadas

As fontes públicas por trás desta análise, com nosso comentário sobre por que valem seu tempo.

Aprenda o que faz isso funcionar

As aulas do DataForge que cobrem as peças dessa arquitetura.

Última atualização:
← Ver todas as arquiteturas