StreamNative Logo
VideoOct 8, 202622 mins

Lessons Learned: Vectorizing Apache Flink

Unlock Instant Access

Complete the form to start watching.

Session Overview

Can columnar execution and native vectorization supercharge stream processing?

In this talk, we dive into the lessons learned from building Iron Vector—an Apache Flink accelerator built with Rust, Apache Arrow, and Apache DataFusion.

What You'll Learn

  • Why columnar data layouts matter for streaming throughput (SIMD, cache locality, and data skipping)
  • How query plans map from Flink SQL to DataFusion via Substrait
  • How zero-copy off-heap memory transfers work across JNI boundaries
  • Challenges when adapting a batch query engine to unbounded streaming workloads
  • Emerging open-source alternatives, including StreamFusion and Streamlink

Chapters

  • 00:00 — Introduction & the case for columnar streaming
  • 00:44 — Benchmarking Iron Vector: 2x throughput
  • 01:16 — Why columnar data layouts matter
  • 02:32 — Native query engines & Apache DataFusion
  • 04:36 — Logical vs. physical execution plans
  • 06:33 — Mapping Flink SQL plans with Substrait
  • 10:05 — Generated physical plans in DataFusion
  • 11:38 — Runtime integration & zero-copy memory transfers
  • 15:42 — Handling network shuffles across JVM boundaries
  • 16:39 — Adapting batch engines to unbounded streams
  • 19:50 — Streaming gotchas: timestamps & progress tracking
  • 20:31 — What’s next: Streamlink, StreamFusion & open source
  • 21:36 — Q&A wrap-up

About Speaker

Yaroslav Tkachenko

Yaroslav Tkachenko Yaroslav Tkachenko is a Software Engineer, Consultant, and Advisor specializing in data streaming & data-intensive applications. Currently, Yaroslav is a Founder at Irontools, consulting companies that need to design, build and evolve efficient data streaming systems. Previously, Yaroslav was a tech lead at Shopify, Activision, and several startups.