Mastering Kafka Streams and ksqlDB: Building Real-Time Data Systems by Example

Working with unbounded and fast-moving data streams has historically been difficult. But with Kafka Streams and ksqlDB, building stream processing applications is easy and fun. This practical guide shows data engineers how to use these tools to build highly scalable stream processing applications for moving, enriching, and transforming large amounts of data in real time.

Mitch Seymour, data services engineer at Mailchimp, explains important stream processing concepts against a backdrop of several interesting business problems. You’ll learn the strengths of both Kafka Streams and ksqlDB to help you choose the best tool for each unique stream processing project. Non-Java developers will find the ksqlDB path to be an especially gentle introduction to stream processing.

Learn the basics of Kafka and the pub/sub communication pattern
Build stateless and stateful stream processing applications using Kafka Streams and ksqlDB
Perform advanced stateful operations, including windowed joins and aggregations
Understand how stateful processing works under the hood
Learn about ksqlDB’s data integration features, powered by Kafka Connect
Work with different types of collections in ksqlDB and perform push and pull queries
Deploy your Kafka Streams and ksqlDB applications to production