Od ingestion přes transformaci po serving — každá vrstva má jasného ownera, SLA a monitoring. Žádné „data swamp".
Apache Kafka 4.0 s KRaft (ZooKeeper kompletně odstraněn), Kafka Connect pro CDC z databází, Debezium pro change data capture z PostgreSQL, SQL Server, MongoDB. Schema Registry s Avro/Protobuf pro kontrakt mezi producenty a konzumenty.
Apache Spark 4.0 pro batch (20–50 % performance gain díky Photon a nativnímu VARIANT typu). Apache Flink pro complex event processing a real-time aggregace. Spark Structured Streaming pro hybridní workloady.
Delta Lake jako primární table format — ACID transakce nad object storage, time travel, schema evolution. ADLS Gen2 / S3 jako storage layer. Oddělení compute a storage pro cost-efektivní škálování.
dbt Core pro SQL-first transformace s version control, testováním a dokumentací. Microbatch strategie (od dbt 1.9) pro efektivní inkrementální zpracování velkých datasetů. Analytics engineering jako disciplína.
Apache Airflow 2.x s TaskFlow API pro komplexní DAGy. Dagster jako alternativa pro data-asset-centric přístup. Orchestrace pokrývá scheduling, retry logiku, SLA monitoring a dependency management.
Datový katalog s column-level lineage. Self-service BI přes Power BI a Apache Superset. Semantic layer pro konzistentní metriky napříč reporty. Feature store pro ML pipeline.
Od zdrojového systému po analytický dashboard — real-time s exactly-once sémantikou a plným tracing.
Kafka 4.0 (vydán Q1 2025) přinesl nejzásadnější architektonickou změnu za dekádu: kompletní odstranění ZooKeeper. KRaft (Kafka Raft) je teď jediný způsob správy metadata. Pro provoz to znamená jednodušší deployment (žádný ZooKeeper cluster na údržbu), rychlejší partition recovery a lepší škálovatelnost — Kafka cluster s milionem partitions už není edge case.
Naše čísla: Migrace z Kafka 3.6 + ZooKeeper na Kafka 4.0 KRaft pro fintech klienta: operační overhead snížen o 40 %, partition recovery time z 45 s na 8 s, celkový cluster footprint -25 % (eliminace ZK nodů).
V enterprise prostředí je Kafka jen tak dobrý, jak dobrý je kontrakt mezi producenty a konzumenty. Confluent Schema Registry s Avro nebo Protobuf schématy je náš standard. Každá změna schématu prochází compatibility check (backward/forward/full) — žádný breaking change se nedostane do produkce bez explicitního review.
Pro kritické toky implementujeme data contracts: formalizovaný popis schématu, SLA, ownership a quality expectations. Data contract je verzovaný artefakt v Git — změna prochází stejným review procesem jako kód.
Volba mezi Flink a Spark Structured Streaming není dogmatická — závisí na use case:
| Kritérium | Apache Flink | Spark Structured Streaming |
|---|---|---|
| Latence | True real-time (ms) | Micro-batch (~100ms–1s) |
| Stavové výpočty | Nativní, RocksDB state backend | Omezené, watermark-based |
| Event-time processing | First-class, flexible watermarks | Podporováno, méně flexibilní |
| Batch + Stream unifikace | Dobrá (DataStream + Table API) | Výborná (stejné API) |
| Ekosystém & hiring | Menší, specializovaný | Obrovský, snadnější onboarding |
| Náš default | CEP, fraud detection, IoT | ETL streaming, analytics |
Lessons learned: Flink je výrazně lepší pro complex event processing (fraud detection s pattern matching přes časová okna). Spark Structured Streaming je pragmatická volba tam, kde tým už Spark zná a latence 200ms–1s stačí. V praxi nasazujeme oboje — Flink pro hot path, Spark pro warm path.
Data lakehouse spojuje to nejlepší z data lake (škálovatelnost, flexibilita schématu, nízké náklady) s tím nejlepším z data warehouse (ACID transakce, schema enforcement, výkon pro BI). Není to buzzword — je to architektonický vzor, který řeší reálný problém: „data lake se stal data swamp, data warehouse je příliš drahý."
Delta Lake je náš default table format. Proč ne Apache Iceberg? Obojí je produkčně zralé, ale Delta má výhodu v ekosystému — nativní podpora v Databricks, Spark, a nyní i v dalších enginech díky Delta Kernel (univerzální čtecí knihovna). Nicméně pro klienty s multi-engine požadavky (Spark + Trino + Presto) doporučujeme Apache Iceberg.
Standardní lakehouse pattern, který používáme na všech projektech:
Anti-pattern: „Všechno do jedné Gold tabulky." Viděli jsme lakehouse s 500+ sloupci v jedné tabulce — neudržovatelné, neperformantní, bez jasného ownership. Správný přístup: data mesh principy — domény vlastní své Gold modely, centrální platforma poskytuje infrastrukturu a governance.
SQL-first transformace s version control, testováním a dokumentací. dbt udělal z data transformací software engineering disciplínu.
dbt není execution engine — je to transformační framework nad vaším warehouse/lakehouse enginem. Přináší software engineering best practices do světa dat: version control (Git), code review, automatizované testy, dokumentace jako kód a dependency management.
Od verze dbt Core 1.9 je k dispozici microbatch strategie — inkrementální modely zpracovávají data v diskrétních časových oknech, každé s vlastním SQL query. Pro velké event-driven datasety to znamená dramatické snížení compute cost a processing time. V dbt Core 1.11 (konec 2025) přibyla Fusion engine pro rychlejší lokální development.
merge strategií, partition pruning hints.dbt_utils, dbt_expectations (Great Expectations-style testy), dbt_project_evaluator pro linting projektu.dbt build --select state:modified+). Typická úspora: 80 % build time.dbt docs generate produkuje interaktivní data catalog s lineage grafem.Data quality není volitelný krok — je integrální součást pipeline. Každý dbt model má:
unique, not_null, accepted_values, relationships (referenční integrita)dbt source freshness kontroluje, zda zdrojová data nejsou starší než definované SLA. Alert přes PagerDuty pokud SLA prošvihnuto.Reálný dopad: Pro e-commerce klienta: zavedení dbt + data quality framework snížilo počet data incidentů (chybné reporty) z ~12/měsíc na 1–2/měsíc. Mean time to detect klesla z 4 hodin na 15 minut (automatické testy v pipeline).
TaskFlow API pro čitelné DAGy v Pythonu. Dynamic task mapping pro paralelní zpracování. Kubernetes Executor pro izolaci workloadů. Connections a Variables v HashiCorp Vault — žádné secrets v kódu.
Software-defined assets místo task-centric DAGů. Materialization tracking, built-in lineage, type-checked IO. Ideální pro týmy, které chtějí data-asset-centric přístup a tight integration s dbt.
OpenTelemetry pro tracing celé pipeline (Kafka → Spark → dbt → serving). Grafana dashboardy pro pipeline health: latence, throughput, error rate, data freshness. Custom metriky per business doména.
Unity Catalog nebo Apache Atlas pro centrální data governance. Column-level lineage, access control (RBAC + ABAC), data classification (PII tagging). Compliance-ready pro GDPR, DORA a bankovní regulace.
Spark 4.0 (vydán Q1 2025) je major release, který přinesl ANSI mode jako default, nativní VARIANT data type pro semi-strukturovaná data a Spark Connect — client-server architektura pro vzdálený přístup ke clusteru. Pro naše workloady to znamená 20–50 % performance improvement na analytických queries díky lepší query optimalizaci a Photon engine.
from_json() a zrychluje queries nad semi-strukturovanými daty 2–5×.Spark na Kubernetes (Spark on K8s operator) — žádný standalone cluster. Výhody: resource sharing s ostatními workloady, auto-scaling, unified monitoring. Cost optimization: spot/preemptible instances pro executor pods (s graceful decommissioning), on-demand pro driver.
Sizing: Typický enterprise Spark workload: driver 4 cores / 16 GB, executory 8 cores / 32 GB, dynamic allocation 4–40 executorů. Pro batch processing 500 GB denně: cluster cost ~$200/den na Azure (spot instances), ~$600/den na on-demand. 3× úspora s proper scheduling a spot.