To help fellow engineers wrap their head around Apache Kafka and event streaming, I wrote a 4-part series on the Confluent blog on Kafka’s core fundamentals. In the series, we explore Kafka’s storage and processing layers and how they interrelate, featuring Kafka Streams and ksqlDB.

Streams vs. Tables in Chess

In the first part, I begin with an overview of events, streams, tables, and the stream-table duality to set the stage. The subsequent parts take a closer look at Kafka’s storage layer, which is the distributed “filesystem” for streams and tables, where we learn about topics and partitions. Then, I move to the processing layer on top and dive into parallel processing of streams and tables, elastic scalability, fault tolerance, and much more. The series is related to my original article, Of Streams and Tables in Kafka and Stream Processing, Part 1, but is both broader and deeper.

  1. Streams and Tables in Apache Kafka: A Primer
  2. Streams and Tables in Apache Kafka: Topics, Partitions, and Storage Fundamentals
  3. Streams and Tables in Apache Kafka: Processing Fundamentals with Kafka Streams and ksqlDB
  4. Streams and Tables in Apache Kafka: Elasticity, Fault Tolerance, and other Advanced Concepts

I hope you enjoy the walkthrough!

Interested in more? You can subscribe to this blog and follow me on Twitter.