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:
| Kritérium | Apache Kafka | Apache Airflow |
|---|---|---|
| Typ | Event streaming platform | Workflow orchestrator |
| Latence | Milisekundy (real-time) | Minuty–hodiny (batch) |
| Model | Pub/sub, log-based | DAG, scheduled |
| Stav | Trvale běžící | Spouští úkoly podle schedule/trigger |
| Use case | IoT, transakce, clickstream, CDC | ETL, dbt, ML pipelines, reporty |
| Throughput | Miliony eventů/s | Tisíce úkolů/den |
| Persistence | Distribuovaný commit log | Metastore (Postgres), executor |
| Provoz | Náročnější (Zookeeper/KRaft, brokers) | Snadnější (Postgres + scheduler) |
| Managed | Confluent Cloud, AWS MSK, Aiven | AWS MWAA, Astronomer, GCP Composer |
- Apache Kafka
- Event streaming platform
- Apache Airflow
- Workflow orchestrator
- Apache Kafka
- Milisekundy (real-time)
- Apache Airflow
- Minuty–hodiny (batch)
- Apache Kafka
- Pub/sub, log-based
- Apache Airflow
- DAG, scheduled
- Apache Kafka
- Trvale běžící
- Apache Airflow
- Spouští úkoly podle schedule/trigger
- Apache Kafka
- IoT, transakce, clickstream, CDC
- Apache Airflow
- ETL, dbt, ML pipelines, reporty
- Apache Kafka
- Miliony eventů/s
- Apache Airflow
- Tisíce úkolů/den
- Apache Kafka
- Distribuovaný commit log
- Apache Airflow
- Metastore (Postgres), executor
- Apache Kafka
- Náročnější (Zookeeper/KRaft, brokers)
- Apache Airflow
- Snadnější (Postgres + scheduler)
- 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:
- Kafka přijímá eventy z aplikací, mikroslužeb a CDC connectorů.
- Kafka Connect (nebo Spark/Flink) píše raw eventy do lakehouse (S3, ADLS, GCS).
- Airflow každou hodinu/den spustí dbt model, který agreguje raw eventy do fact tabulek.
- 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ší.