This document discusses Kafka Streams and stream processing concepts. It defines stream processing as computation over an unbounded, ever-growing data stream. Some key concepts discussed include event time vs processing time, local vs external state, and different types of time windows. Common stream processing patterns like filtering, joins, and maintaining local state are also covered. The document contrasts Kafka and Kafka Streams, and discusses the stream-table duality and how systems that allow transitioning between these views are more powerful.
Related topics: