SYSTEM Cited by 5 sources
Apache Flink¶
Apache Flink is the JVM-based open-source distributed stream-processing engine that became the de-facto default for stateful event-time stream processing in the 2010s-20s. The defining properties are:
- Native streaming-first runtime (events are first-class; batch is a bounded-stream special case), distinct from Spark Streaming's micro-batch model.
- Event-time semantics with watermarks — windows fire based on event timestamps, not processing-time, with built-in watermark handling for out-of-order events.
- Durable, asynchronous, incremental state checkpoints — operator state persisted to object storage (S3 / GCS / HDFS) so jobs can restart cleanly after failure.
- Exactly-once semantics across Kafka source → transformation → Kafka sink, via the two-phase-commit transactional writer contract.
- Rich state backends — RocksDB-backed local state for operators holding GB–TB of keyed state.
Typical role for this wiki¶
Flink appears whenever a company describes production stream processing with non-trivial state or event-time correctness — fraud detection, real-time feature engineering, CDC-derived materializations, clickstream aggregation, anomaly detection. The alternative that comes up most often in practice is Kafka Streams (library, not engine) for simpler single-cluster deployments, or systems/spark-streaming for teams already heavy on Spark.
Seen in¶
- sources/2026-01-06-lyft-feature-store-architecture-optimization-and-evolution
— Lyft's
Feature Store streaming lane is
Flink-first: customer Flink applications read from
Kafka (or sometimes
Kinesis), transform +
create metadata + format values, then sink payloads into a
dedicated central Flink ingest application (
spfeaturesingest) that owns (de)serialization anddsfeaturesWRITE API interaction. The two-tier Flink architecture (customer apps + central ingest app) is the mechanism that preserves uniform metadata across all streaming producers. -
sources/2026-03-03-zalando-why-we-ditched-flink-table-api-joins-cutting-state-by-75-with-datastream-unions — Zalando's Search & Browse team runs the Product Offer Enrichment pipeline on Flink 1.20 via AWS Managed Flink. The original 4-way Table-API join chain hit state amplification (RocksDB state 235–245 GB); hourly savepoints pinned CPU at 100 % for 12 min and caused crash-restart loops. Rewriting to DataStream API with a stream union +
KeyedProcessFunctionand a singleValueStateper SKU dropped state to 56 GB (−76 %), snapshot duration to 2.5 min, and AWS cost by ~13 %. The post notes that Flink 2.1's experimentalMultiJoinoperator (FLIP-516) implements the same idea natively, but managed-runtime version lag forced the DataStream rewrite. -
sources/2026-05-14-databricks-expanded-interoperability-with-unity-catalog-open-apis — External-engine writer to UC Managed Tables face. Flink named (alongside Spark and DuckDB) as one of three external engines that "can create and write to UC managed Delta tables with centralized governance and automatic optimizations" in the 2026-05-14 Beta. Integrates via Delta Kernel (specifically Delta Flink —
delta-io/delta/tree/master/flink); auth via UC Credential Vending (M2M OAuth + auto-refresh); commits via UC catalog commits which "prevent log corruption" across heterogeneous engine writes. Canonical instance of concepts/external-engine-write-to-managed-table from the Flink-streaming-ingest altitude. -
sources/2026-06-03-databricks-apache-spark-real-time-mode-for-gaming — Flink cited as the alternative rejected for gaming sessionization: adopting Flink means "an entire parallel ecosystem: a separate cluster, state backend, deployment model, monitoring stack, and codebase" alongside the Databricks Platform. The post argues Spark Real-Time Mode now eliminates the latency gap that previously forced teams to Flink for sub-second stateful processing. (Qualitative comparison — no head-to-head benchmarks.)
Related¶
- systems/kafka — the dominant event-source Flink consumes.
- systems/amazon-kinesis-data-streams — alternative event source.
- systems/kafka-streams — library-based alternative.
- systems/spark-streaming — micro-batch alternative.
- systems/flink-table-api — declarative SQL/Table API layer.
- systems/flink-datastream-api — imperative operator-graph API.
- systems/aws-managed-flink — AWS's managed runtime (KPU-provisioned; often pinned to older Flink major versions).
- systems/flink-multijoin-operator — Flink 2.1 experimental native multi-way join (FLIP-516).
- systems/rocksdb — default state backend for large keyed state.
- systems/zalando-product-offer-enrichment — canonical wiki instance of DataStream-API multi-way-join rewrite.
- concepts/feature-freshness — the streaming lane's reason to exist in a feature store.
- concepts/flink-stateful-join-state-amplification · concepts/flink-snapshot-savepoint · concepts/flink-keyed-stream-union · concepts/kpu-aws-managed-flink · concepts/multi-way-join-operator-flink · concepts/declarative-vs-imperative-stream-api.
- patterns/hybrid-batch-streaming-ingestion · patterns/stream-union-plus-keyed-process-function · patterns/single-valuestate-over-chained-joins · patterns/event-time-filter-for-state-write-reduction.
- systems/delta-kernel — protocol-abstraction library for Delta-Flink integration with UC.
- systems/uc-managed-tables — managed Delta tables Flink can externally write to (2026-05-14 Beta).
- systems/uc-credential-vending — auth substrate for external Flink writes.
- concepts/external-engine-write-to-managed-table — architectural shape Flink participates in.