Professional Documents
Culture Documents
confluent.io/cloud
© 2014-2020 Confluent, Inc. Not t o be reproduced in any form without prior written consent.
Learning Objectives
After this module you will be able to:
• List a t least 3 advantages of stream processing over batch
processing
• Compare and contrast Kafka Streams and ksqlDB
• Describe the main characteristics of a stream
• Explain dualism between stream and table
• Elaborate on a stream processing job
© 2014-2020 Confluent, Inc. Not t o be reproduced in any form without prior written consent.
Module Map
• Motivation and Use Cases for Real-Time Streaming …
• High Level Comparison of Kafka Streams and ksqlDB
• Introduce Stream Processing Concepts
© 2014-2020 Confluent, Inc. Not t o be reproduced in any form without prior written consent.
Motivation (1)
The Shift t o Event-driven Systems has Already Begun…
© 2014-2020 Confluent, Inc. Not t o be reproduced in any form without prior written consent.
Motivation (2)
© 2014-2020 Confluent, Inc. Not t o be reproduced in any form without prior written consent.
Motivation (3)
© 2014-2020 Confluent, Inc. Not t o be reproduced in any form without prior written consent.
Use Case: Automotive Internet o f Things
© 2014-2020 Confluent, Inc. Not t o be reproduced in any form without prior written consent.
Use Case: Online Gaming
Real-Time Gaming
• In-game location data
• Analyze player behavior
• Analyze server performance
• Process data a t scale
© 2014-2020 Confluent, Inc. Not t o be reproduced in any form without prior written consent.
Real-time Data Pipeline
© 2014-2020 Confluent, Inc. Not t o be reproduced in any form without prior written consent.
Module Map
© 2014-2020 Confluent, Inc. Not t o be reproduced in any form without prior written consent.
Real-Time Processing with Kafka Streams and ksqlDB
© 2014-2020 Confluent, Inc. Not t o be reproduced in any form without prior written consent.
ksqlDB vs. KStreams
Start with ksqlDB when… Start with Kafka Streams when …
• You don’t use Java/Scala • You already use Java/Scala
• You are new t o streaming or Kafka • You need tight control over performance
• You prefer a UI or REST API • You prefer the deployment flexibility of
• You can achieve stream processing and using a Java Library
state querying use case with KSQL • You need custom logic t h a t can’t be
syntax described with KSQLsyntax
You can start with ksqlDB and expand functionality later with User Defined
Functions (UDFs) in Java or Scala!
© 2014-2020 Confluent, Inc. Not t o be reproduced in any form without prior written consent.
Module Map
• Motivation and Use Cases for Real-Time Streaming
• High Level Comparison of Kafka Streams and ksqlDB
• Introduce Stream Processing Concepts …
© 2014-2020 Confluent, Inc. Not t o be reproduced in any form without prior written consent.
The Stream
© 2014-2020 Confluent, Inc. Not t o be reproduced in any form without prior written consent.
Streaming Pipeline
© 2014-2020 Confluent, Inc. Not t o be reproduced in any form without prior written consent.
Stream - Table Duality
© 2014-2020 Confluent, Inc. Not t o be reproduced in any form without prior written consent.
The Table
© 2014-2020 Confluent, Inc. Not t o be reproduced in any form without prior written consent.
Log Compaction
© 2014-2020 Confluent, Inc. Not t o be reproduced in any form without prior written consent.
Stream Processing Job
© 2014-2020 Confluent, Inc. Not t o be reproduced in any form without prior written consent.
Multi Job Data Flow
© 2014-2020 Confluent, Inc. Not t o be reproduced in any form without prior written consent.
Review
Question: Using a stream as the backing structure for a
system like Kafka has many advantages. Yet a stream-
based data store is not meant t o be queryable. W h a t can
you do t o satisfy the needs of business t o query the data
and still use a log based system such as Kafka?
© 2014-2020 Confluent, Inc. Not t o be reproduced in any form without prior written consent.
Continue your Apache Kafka Education!
25
Stay in touch!
Online Talks
cnfl.io/online-talks