Kafka vs Airflow — streaming vs orchestrace

Srovnání Apache Kafka a Apache Airflow: kdy potřebujete event streaming a kdy batch orchestraci. Architektonické vzory, use cases a kombinace obou.

Stručná odpověď

Kdy použít Kafku a kdy Airflow?

Kafka je distribuovaná streaming platforma pro real-time eventy — používejte ji, když potřebujete zpracovávat data v řádu milisekund (IoT, transakce, clickstream). Airflow je batch orchestrator pro plánované workflow — používejte ho, když pipeline běží v intervalech (hodinově, denně) a obsahuje úkoly jako dbt run, export reportů nebo ML trénink. Nejsou to konkurenti — v moderní architektuře typicky používáte oba: Kafka zachytává streamy, Airflow je periodicky agreguje a orchestruje navazující transformace.

Co je Apache Kafka

Apache Kafka je distribuovaná streaming platforma vyvinutá původně v LinkedIn. Funguje jako distribuovaný commit log: producenti publikují eventy do topiců, konzumenti je čtou nezávisle a Kafka data drží v retenci (dny až navždy).

Typická role: páteř real-time data infrastruktury. Pokud máte e-commerce, IoT, finanční transakce nebo CDC z databází, Kafka je obvyklá volba.

Co je Apache Airflow

Apache Airflow je open-source orchestrator workflow z Airbnb. Pipeline definujete jako DAG (directed acyclic graph) v Pythonu — Airflow řeší plánování, retry, závislosti, SLA a monitoring.

Typická role: spouštění ETL/ELT pipeline (Fivetran → dbt → Power BI refresh), denních reportů, ML trénovacích jobů. Detaily v Airflow vs Dagster.

Fundamentální rozdíl

Kafka a Airflow řeší jiné problémy. Není to "buď, nebo" — je to "kdy co":

  • Kafka přenáší data v reálném čase. Trvale běží a posílá eventy mezi systémy. Nemá pojem "úkol skončil" — stream je nekonečný.
  • Airflow spouští úkoly podle harmonogramu nebo triggeru. DAG má start a konec. Hodí se na transformace a workflow s diskrétními kroky.

Zjednodušeně: Kafka = vodovodní potrubí, Airflow = výrobní linka. Vodovod stále teče, linka se spouští podle plánu.

Srovnání

Hlavní rozdíly v jedné tabulce:

Typ
Apache Kafka
Event streaming platform
Apache Airflow
Workflow orchestrator
Latence
Apache Kafka
Milisekundy (real-time)
Apache Airflow
Minuty–hodiny (batch)
Model
Apache Kafka
Pub/sub, log-based
Apache Airflow
DAG, scheduled
Stav
Apache Kafka
Trvale běžící
Apache Airflow
Spouští úkoly podle schedule/trigger
Use case
Apache Kafka
IoT, transakce, clickstream, CDC
Apache Airflow
ETL, dbt, ML pipelines, reporty
Throughput
Apache Kafka
Miliony eventů/s
Apache Airflow
Tisíce úkolů/den
Persistence
Apache Kafka
Distribuovaný commit log
Apache Airflow
Metastore (Postgres), executor
Provoz
Apache Kafka
Náročnější (Zookeeper/KRaft, brokers)
Apache Airflow
Snadnější (Postgres + scheduler)
Managed
Apache Kafka
Confluent Cloud, AWS MSK, Aiven
Apache Airflow
AWS MWAA, Astronomer, GCP Composer

Kdy zvolit Kafku

  • Real-time eventy (clickstream, IoT senzory, finanční transakce).
  • Decoupling mikroslužeb — producent a konzument se neznají.
  • CDC — propagace změn z OLTP do datového skladu v sekundách.
  • Streaming analytika (Kafka Streams, ksqlDB, Flink, Spark Structured Streaming).
  • Event sourcing a CQRS architektura.

Kdy zvolit Airflow

  • Plánované ETL/ELT pipeline (denní, hodinové).
  • Orchestrace dbt transformací ve warehouse.
  • ML pipelines — extract, feature engineering, train, deploy.
  • Pravidelné exporty reportů, refresh BI dashboardů.
  • Workflow s komplexními závislostmi a retry logikou.

Kombinace obou v moderní architektuře

V praxi vidíme tuto kombinaci téměř ve všech zralých data platformách:

  1. Kafka přijímá eventy z aplikací, mikroslužeb a CDC connectorů.
  2. Kafka Connect (nebo Spark/Flink) píše raw eventy do lakehouse (S3, ADLS, GCS).
  3. Airflow každou hodinu/den spustí dbt model, který agreguje raw eventy do fact tabulek.
  4. Airflow následně spustí refresh Power BI / Tableau a alerty datové kvality.

Kafka řeší "pump", Airflow řeší "process and serve". Nezaměňujte je.

Alternativy a moderní trendy

  • Kafka alternativy: AWS Kinesis, GCP Pub/Sub, Redpanda (Kafka-kompatibilní bez Zookeeper).
  • Airflow alternativy: Dagster (asset-centric), Prefect (Pythonic), Mage, Argo Workflows.
  • Streaming + orchestrace v jednom: Flink + StreamPark, Materialize (streaming SQL), Estuary Flow.
  • Managed: Confluent Cloud (Kafka), Astronomer / AWS MWAA / GCP Composer (Airflow).

Často kladené otázky

Můžu nahradit Airflow Kafkou?

Ne. Kafka neumí plánovat úkoly ani řešit retry/závislosti workflow. Můžete ale Kafkou eliminovat batch ETL — pokud data tečou v reálném čase, nemusíte je hodinově exportovat.

Můžu nahradit Kafku Airflowem?

Pro malé objemy a batch use cases ano (Airflow stáhne data hodinově). Pro real-time, vysoký throughput nebo CDC ne — Airflow není designovaný pro persistent streaming.

Co je Kafka Connect a kdy se hodí?

Kafka Connect je framework pro source/sink konektory — automaticky čte z DB nebo zapisuje do S3/Snowflake. Hodí se na CDC z Postgres/MySQL/MSSQL do warehouse.

Jaký je rozdíl mezi Kafkou a RabbitMQ?

RabbitMQ je tradiční message broker (push, smaže po doručení). Kafka je log-based (pull, drží historii). Kafka škáluje na miliony eventů/s, RabbitMQ je vhodný pro task queues a nižší objemy.

Potřebuji Zookeeper pro Kafku?

Od Kafka 3.x je Zookeeper volitelný — produkční nasazení používají KRaft (Kafka Raft). Pro nová nasazení doporučujeme rovnou KRaft.

Jak drahá je Kafka v cloudu?

AWS MSK od ~150 USD/měsíc za malý 3-broker cluster. Confluent Cloud od ~50 USD/měsíc (basic) až tisíce při vysokém throughputu. Redpanda Cloud bývá levnější.

Potřebujete pomoct s implementací?

Domluvte si nezávaznou 30minutovou konzultaci s našimi specialisty.

Kontaktujte nás