SlideShare a Scribd company logo
BASEL | BERN | BRUGG | BUCHAREST | COPENHAGEN | DÜSSELDORF | FRANKFURT A.M. | FREIBURG I.BR.
GENEVA | HAMBURG | LAUSANNE | MANNHEIM | MUNICH | STUTTGART | VIENNA | ZURICH
http://guidoschmutz@wordpress.com@gschmutz
Event Hub in Modern Data Architecture
Guido Schmutz
Data Analytics Summit 2020 – Santa Clara
BASEL | BERN | BRUGG | BUKAREST | DÜSSELDORF | FRANKFURT A.M. | FREIBURG I.BR. | GENF
HAMBURG | KOPENHAGEN | LAUSANNE | MANNHEIM | MÜNCHEN | STUTTGART | WIEN | ZÜRICH
Guido
Working at Trivadis for more than 23 years
Consultant, Trainer, Platform Architect for Java,
Oracle, SOA and Big Data / Fast Data
Oracle Groundbreaker Ambassador & Oracle ACE
Director
@gschmutz guidoschmutz.wordpress.com
184th
edition
Agenda
1. What exactly is an Event Hub?
2. Kafka – the most popular Event Hub
3. Event Hub - core building block of a modern data architecture
4. Event Hub – Kafka Alternatives? Cloud Services?
5. Summary
What exactly is an Event Hub?
Event Hub
Event Hub – as a starting point
Event Hub – Key Capabilities
1. topic semantics (publish/subscribe) –
message can be consumed by 0 – n
consumers
2. queue semantics – messages can be
consumed by exactly one consumer
3. horizontally scalable – throughput
increases with more resources
4. auto-scaling – up and down-scaling
upon load
5. highly available – no single point of
failure
6. Control/handle back-pressure
7. durable – messages may not be lost
8. schema-less – no knowledge on
message content and format
9. Efficient support of Stream and Batch
Consumers (offline and with large
Backlog)
10. (Unlimited) Retention of messages
(long term storage)
11. Guaranteed ordering of messages
12. Support re-consumption of events
13. Access control – control over who can
produce and consume which events
14. interoperable – support for different
clients
Kafka – the most popular
Event Hub
Kafka as an Event Hub
Kafka Cluster
Consumer 1 Consume 2r
Broker 1 Broker 2 Broker 3
Zookeeper
Ensemble
ZK 1 ZK 2ZK 3
Schema
Registry
Service 1
Management
Control Center
Kafka Manager
KAdmin
Producer 1 Producer 2
kafkacat
Data Retention:
• Never
• Time (TTL) or Size-based
• Log-Compacted based
1
10
12
3
5
6
7
14
8
9
11
12
10
Producer3Producer3
ConsumerConsumer 3
1. topic semantics
2. queue semantics
3. horizontally scalable
4. auto-scaling
5. highly available
6. back-pressure
7. durable
8. schema-less/opaque
9. Stream and Batch Consumers
10. (Unlimited) Retention
11. Guaranteed ordering
12. re-consumption of events
13. Access Control
14. Interoperable
• storage
Kafka as an Event Hub
• Horizontally scalable, guaranteed order of
messages
3
10
1. topic semantics
2. queue semantics
3. horizontally scalable
4. auto-scaling
5. highly available
6. back-pressure
7. durable
8. schema-less/opaque
9. Stream and Batch Consumers
10. (Unlimited) Retention
11. Guaranteed ordering
12. re-consumption of events
13. Access Control
14. Interoperable
• Consumer receives messages via polling • no single-point-of-failure, high availability
Kafka as an Event Hub
6
5
7
1. topic semantics
2. queue semantics
3. horizontally scalable
4. auto-scaling
5. highly available
6. back-pressure
7. durable
8. schema-less/opaque
9. Stream and Batch Consumers
10. (Unlimited) Retention
11. Guaranteed ordering
12. re-consumption of events
13. Access Control
14. Interoperable
Event Hub – Key Capabilities supported by Kafka
1. topic semantics (publish/subscribe) –
message can be consumed by 0 – n
consumers
2. queue semantics – messages can be
consumed by exactly one consumer
3. horizontally scalable – throughput
increases with more resources
4. auto-scaling – up and down-scaling
upon load
5. highly available – no single point of
failure
6. Control/handle back-pressure
7. durable – messages may not be lost
8. schema-less – no knowledge on
message content and format
9. Efficient support of Stream and Batch
Consumers (offline and with large
Backlog)
10. (Unlimited) Retention of messages
(long term storage)
11. Guaranteed ordering of messages
12. Support re-consumption of events
13. Access control – control over who can
produce and consume which events
14. interoperable – support for different
clients
Event Hub - core building
block of a modern data
architecture
Event Hub
Vehicle
Environ
mental
Streaming Data Sources
Shop
Floor
Event Hub – as a starting point
Event Hub
Stream Data
Integration
Stream Data
Integration
Vehicle
Environ
mental
Streaming Data Sources
Shop
Floor
Using Stream Data Integration
Stream Data Integration – Kafka Connect / StreamSets
• declarative style, simple data flows
• framework is part of Apache Kafka
• Many connectors available
• Single Message Transforms (SMT)
• GUI-based, drag-and drop Data Flow
Pipelines
• Both stream and batch processing (micro-
batching)
• custom sources, sinks, processors
Event Hub
Stream Data
Integration
Stream Data
Integration
Vehicle
Environ
mental
Streaming Data Sources
Shop
Floor
Gateway
Using Edge Computing and Stream Data Integration
• MQTT as a gateway
to Kafka
Event Hub
Stream
Analytics
Stream Data
Integration
Stream Data
Integration
Vehicle
Environ
mental
Streaming Data Sources
Shop
Floor
Gateway
Using Stream Analytics
• Stream-to-Stream Joins
• Stream-to-Table Joins
• Time Windowed State Management
• Event Pattern Detection
• Machine Learning Model Execution
(Inference)
[1]
Event Hub
Stream
Analytics
Stream Data
Integration
Stream Data
Integration
Vehicle
Environ
mental
Streaming Data Sources
Shop
Floor
Gateway
Using Stream Analytics
• Push results back to new topic so other
interested parties can use it too!
Stream Analytics - Kafka Streams
• Programmatic API, “just” a Java library
• Native streaming
• fault-tolerant local state
• Fixed, Sliding and Session Windowing
• Stream-Stream / Stream-Table Joins
• At-least-once and exactly-once
• Stream Processing with zero coding using
SQL-like language (now supporting push
and pull queries)
• built on top of Kafka Streams
• interactive (CLI) and headless (cmd file)
trucking_
driver
Kafka Broker
Java Application
Kafka Streams
ksqlDB
trucking_
driver
Kafka Broker
ksqlDB Engine
Kafka Streams
ksqlDB REST
Commands
ksqlDB CLI
push pull
Event Hub
Stream
Analytics
Stream Data
Integration
Stream Data
Integration
Vehicle
Environ
mental
Streaming Data Sources
Shop
Floor
Gateway
Using Stream Data Integration to callback to Data
Source (to Actuator)
Event Hub
Stream
Analytics
Streaming
Visualize
Stream Data
Integration
Stream Data
Integration
Vehicle
Environ
mental
Streaming Data Sources
Shop
Floor
Gateway
Using Streaming Visualization
• ksqlDB pull queries or Kafka Streams
Interactive Queries allow to query state of
stream processor
[2]
Event Hub
Stream
Analytics
Streaming
Visualize
Stream Data
Integration
Stream Data
Integration
Stream Data
Integration
Vehicle
Environ
mental
Streaming Data Sources
Shop
Floor
Gateway
Using Streaming Visualization
Event Hub
Stream
Analytics
Streaming
Visualize
Stream Data
Integration
Stream Data
Integration
Stream Data
Integration
Vehicle
Environ
mental
Streaming Data Sources
Shop
Floor
Gateway
Batch
Analytics
Using Event Hub as a “Data Lake”
Event Hub as a “Data Lake” - Kafka Storage
Local Storage Tiered Storage (with Confluent Enterprise)
Broker 1
Broker 2
Broker 3
Broker 1
Broker 2
Broker 3
Object
Storage
hothot & cold cold
Event Hub
Stream
Analytics
Streaming
Visualize
Stream Data
Integration
Stream Data
Integration
Stream Data
Integration
Vehicle
Environ
mental
Streaming Data Sources
Shop
Floor
Gateway
Batch Data
Integration
Data Lake /
DWH
Batch
Visualize
Batch
Analytics
Ingest Data into Data Lake
Event Hub
Stream
Analytics
Legacy
App
Streaming
Visualize
Stream Data
Integration
Stream Data
Integration
Stream Data
Integration
Vehicle
Environ
mental
Streaming Data Sources
Shop
Floor
Gateway
Batch Data
Integration
Data Lake /
DWH
Batch
Visualize
Batch
Analytics
Legacy System integration?
Event Hub
Stream
Analytics
Legacy
App
Streaming
Visualize
Stream Data
Integration
Stream Data
Integration
Stream Data
Integration
Vehicle
Environ
mental
Streaming Data Sources
Shop
Floor
Gateway
Batch Data
Integration
Data Lake /
DWH
Batch
Visualize
Batch
Analytics
(Batch-Time) Legacy Systems
Integration
Event Hub
Stream
Analytics
Legacy
App
Stream Data
IntegrationCDC
Streaming
Visualize
Stream Data
Integration
Stream Data
Integration
Stream Data
Integration
Vehicle
Environ
mental
Streaming Data Sources
Shop
Floor
Gateway
Batch Data
Integration
Data Lake /
DWH
Batch
Visualize
Batch
Analytics
(Right-Time) Legacy Systems
Integration
Event Hub
Stream
Analytics
Legacy
App
Stream Data
IntegrationCDC
Streaming
Visualize
Stream Data
Integration
Stream Data
Integration
Stream Data
Integration
Vehicle
Environ
mental
Streaming Data Sources
Shop
Floor
Gateway
Batch Data
Integration
Data Lake /
DWH
Batch
Visualize
Batch
Analytics
(Right-Time) Legacy Systems
Integration
• Stream-to-Table join
Kafka Log Compaction
Log Before
Compaction
Log After
Compaction
Tail Head
Event Hub
Stream
Analytics
Legacy
App
Machine
IIoT
Stream Data
Integration
Legacy Data Sources
CDC
Stream Data
Integration
CDC
Streaming
Visualize
Stream Data
Integration
Stream Data
Integration
Stream Data
Integration
Vehicle
Environ
mental
Streaming Data Sources
Shop
Floor
Gateway
Batch Data
Integration
Data Lake /
DWH
Batch
Visualize
Batch
Analytics
(Right-Time) Legacy Systems
Integration
Event Hub
Stream
Analytics
Legacy
App
Machine
IIoT
Stream Data
Integration
Legacy Data Sources
CDC
Stream Data
Integration
CDC
Streaming
Visualize
Stream Data
Integration
Stream Data
Integration
Stream Data
Integration
Vehicle
Environ
mental
Streaming Data Sources
Shop
Floor
Gateway
Batch Data
Integration
Stream Data
Integration
NoSQL
RDBMS
Data Lake /
DWH
Batch
Visualize
Batch
Analytics
Micro-Batch
Visualize
Persistent Storage Integration
Event Hub
Stream
Analytics
Legacy
App
Machine
IIoT
Stream Data
Integration
Legacy Data Sources
CDC
Stream Data
Integration
CDC
Streaming
Visualize
Stream Data
Integration
Micro
service
Stream Data
Integration
Stream Data
Integration
Vehicle
Environ
mental
Streaming Data Sources
Shop
Floor
Gateway
Batch Data
Integration
Stream Data
Integration
NoSQL
RDBMS
Data Lake /
DWH
Batch
Visualize
Batch
Analytics
Micro-Batch
Visualize
Event-Driven Apps
(aka. Microservices)
• Microservice participates as both a
consumer and producer of events
Event Hub
Stream
Analytics
Legacy
App
Machine
IIoT
Stream Data
Integration
Legacy Data Sources
CDC
Stream Data
Integration
CDC
Streaming
Visualize
Stream Data
Integration
Micro
service
Micro
service
Stream Data
Integration
Stream Data
Integration
Vehicle
Environ
mental
Streaming Data Sources
Shop
Floor
Gateway
Batch Data
Integration
Stream Data
Integration
NoSQL
RDBMS
Data Lake /
DWH
Batch
Visualize
Batch
Analytics
Micro-Batch
Visualize
Event-Driven, highly decoupled Apps
(aka. Microservices)
• 2nd microservice consumes events from 1st microservice
• Bootstrap new microservices from event history
• System-wide CQRS
[3]
Event Hub
Stream
Analytics
Legacy
App
Machine
IIoT
Stream Data
Integration
Legacy Data Sources
CDC
Stream Data
Integration
CDC
Streaming
Visualize
Stream Data
Integration
Micro
service
Micro
service
Stream Data
Integration
Stream Data
Integration
Vehicle
Environ
mental
Streaming Data Sources
Shop
Floor
Gateway
Batch Data
Integration
Stream Data
Integration
NoSQL
RDBMS
Data Lake /
DWH
Batch
Visualize
Batch
Analytics
Micro-Batch
Visualize
Bi-Directional Legacy Systems
Integration
• 2nd microservice consumes events from 1st microservice
• Bootstrap new microservices from event history
• System-wide CQRS
[4]AQ
Event Hub
Stream
Analytics
Legacy
App
Machine
IIoT
Stream Data
Integration
Legacy Data Sources
CDC
Stream Data
Integration
CDC
Streaming
Visualize
Stream Data
Integration
Micro
service
Micro
service
Serverless
FaaS
Stream Data
Integration
Stream Data
Integration
Vehicle
Environ
mental
Streaming Data Sources
Shop
Floor
Gateway
Batch Data
Integration
Stream Data
Integration
NoSQL
RDBMS
Data Lake /
DWH
Batch
Visualize
Batch
Analytics
Micro-Batch
Visualize
Serverless/Function as a Service (FaaS)
Event Hub
Stream
Analytics
Legacy
App
Machine
IIoT
Stream Data
Integration
Legacy Data Sources
CDC
Stream Data
Integration
CDC
Streaming
Visualize
Stream Data
Integration
Micro
service
Micro
service
Serverless
FaaS
Stream Data
Integration
Stream Data
Integration
Vehicle
Environ
mental
Streaming Data Sources
Shop
Floor
Gateway
Batch Data
Integration
Stream Data
Integration
NoSQL
RDBMS
Data Lake /
DWH
Batch
Visualize
Batch
Analytics
Micro-Batch
Visualize
Event Hub becomes the central nervous
system for your information!
Event Hub
Stream
Analytics
Legacy
App
Machine
IIoT
Stream Data
Integration
Legacy Data Sources
CDC
Stream Data
Integration
CDC
Streaming
Visualize
Stream Data
Integration
Micro
service
Micro
service
Serverless
FaaS
Stream Data
Integration
Stream Data
Integration
Vehicle
Environ
mental
Streaming Data Sources
Shop
Floor
Gateway
Batch Data
Integration
Stream Data
Integration
NoSQL
RDBMS
Data Lake /
DWH
Batch
Visualize
Batch
Analytics
Micro-Batch
Visualize
Event Hub becomes the central nervous
system for your information!
Log as a first-class citizen!
Turning the database
Inside out!
Event Hub – Kafka
Alternatives? Cloud Services?
• Cloud Services
• Cloud Services with Kafka API
• Kafka Cloud Services
Event Hub - Kafka Alternatives? Cloud Services?
• traditional Message Brokers (with a lot of
limitations regarding Event Hub capabilities)
• Apache Pulsar
• Solace
• Pravega (Dell
Streaming Platform)
• Oracle AQ (Kafka API coming) AQ
Summary
Ref Architecture
Service
Event
Stream
Bulk
Data
Flow
Bulk Source
Event Source
Location
DB
Extract
File
Weather
DB
IoT
Data
Mobile
Apps
Social
File Import / SQL Import
Consumer
BI Apps
Data Science
Workbench
Enterprise
App
Enterprise Data
Warehouse
SQL / Search
SQL
“Native” Raw
RDBMS
“SQL” / Search
Service
Event
Hub
Hadoop ClusterdHadoop ClusterBig Data Platform
SQL
Export
Storage
Storage
Raw
Refined/
UsageOpt
Microservice Cluster
Stream Processing Cluster
Stream
Processor
Model /
State
Edge Node
Rules
Event Hub
Storage
Governance
Data Catalog
Rules
Engine
Parallel
Processing
Query
Engine
Microservice Data
{ }
API
Event
Stream
Modern Data Platform
Event Stream
Event Stream
Reference
1. Stream Processing Concepts and Frameworks
2. Streaming Visualization
3. Building event-driven (Micro)Services with Apache Kafka
4. Solutions for bi-directional integration between Oracle RDBMS & Apache Kafka
Event Hub (i.e. Kafka) in Modern Data (Analytics) Architecture

More Related Content

PDF
Building Event Driven (Micro)services with Apache Kafka
PDF
Building event-driven (Micro)Services with Apache Kafka
PDF
Building Event-Driven (Micro) Services with Apache Kafka
PDF
Building Event Driven (Micro)services with Apache Kafka
PPTX
Using Apache Cassandra and Apache Kafka to Scale Next Gen Applications
PDF
Ingesting and Processing IoT Data - using MQTT, Kafka Connect and KSQL
PDF
Building Event-Driven (Micro)Services with Apache Kafka
PDF
Building event-driven (Micro)Services with Apache Kafka
Building Event Driven (Micro)services with Apache Kafka
Building event-driven (Micro)Services with Apache Kafka
Building Event-Driven (Micro) Services with Apache Kafka
Building Event Driven (Micro)services with Apache Kafka
Using Apache Cassandra and Apache Kafka to Scale Next Gen Applications
Ingesting and Processing IoT Data - using MQTT, Kafka Connect and KSQL
Building Event-Driven (Micro)Services with Apache Kafka
Building event-driven (Micro)Services with Apache Kafka

What's hot (20)

PDF
Microservices with Kafka Ecosystem
PDF
Kafka Connect & Kafka Streams/KSQL - the ecosystem around Kafka
PDF
Introduction to Stream Processing
PDF
Streaming Visualization
PDF
Ingesting streaming data into Graph Database
PDF
Kafka as an Event Store - is it Good Enough?
PDF
Streaming Visualization
PDF
Streaming Visualization
PDF
Internet of Things (IoT) - in the cloud or rather on-premises?
PDF
Introduction to Stream Processing
PDF
Introduction to Stream Processing
PDF
Building event-driven (Micro)Services with Apache Kafka Ecosystem
PDF
Event Hub (i.e. Kafka) in Modern Data Architecture
PDF
Streaming Visualization
PDF
Battle Tested Event-Driven Patterns for your Microservices Architecture - Dev...
PDF
Architecting Microservices Applications with Instant Analytics
PDF
Kafka Connect & Kafka Streams/KSQL - powerful ecosystem around Kafka core
PDF
Battle Tested Event-Driven Patterns for your Microservices Architecture
PDF
Kafka as an event store - is it good enough?
PDF
Kafka as an Event Store (Guido Schmutz, Trivadis) Kafka Summit NYC 2019
Microservices with Kafka Ecosystem
Kafka Connect & Kafka Streams/KSQL - the ecosystem around Kafka
Introduction to Stream Processing
Streaming Visualization
Ingesting streaming data into Graph Database
Kafka as an Event Store - is it Good Enough?
Streaming Visualization
Streaming Visualization
Internet of Things (IoT) - in the cloud or rather on-premises?
Introduction to Stream Processing
Introduction to Stream Processing
Building event-driven (Micro)Services with Apache Kafka Ecosystem
Event Hub (i.e. Kafka) in Modern Data Architecture
Streaming Visualization
Battle Tested Event-Driven Patterns for your Microservices Architecture - Dev...
Architecting Microservices Applications with Instant Analytics
Kafka Connect & Kafka Streams/KSQL - powerful ecosystem around Kafka core
Battle Tested Event-Driven Patterns for your Microservices Architecture
Kafka as an event store - is it good enough?
Kafka as an Event Store (Guido Schmutz, Trivadis) Kafka Summit NYC 2019
Ad

Similar to Event Hub (i.e. Kafka) in Modern Data (Analytics) Architecture (20)

PDF
Event Broker (Kafka) in a Modern Data Architecture
PDF
Now You See Me, Now You Compute: Building Event-Driven Architectures with Apa...
PDF
Connect K of SMACK:pykafka, kafka-python or?
PPTX
Big Data Analytics_basic introduction of Kafka.pptx
PDF
dotScale 2017 Keynote: The Rise of Real Time by Neha Narkhede
PDF
Concepts and Patterns for Streaming Services with Kafka
PDF
Events Everywhere: Enabling Digital Transformation in the Public Sector
PDF
Apache Kafka as Event Streaming Platform for Microservice Architectures
PPTX
Confluent-Ably-AWS-ID-2023 - GSlide.pptx
PDF
The Rise Of Event Streaming – Why Apache Kafka Changes Everything
PDF
Apache kafka event_streaming___kai_waehner
PDF
Building end to end streaming application on Spark
PDF
EDA Meets Data Engineering – What's the Big Deal?
PDF
Kafka Vienna Meetup 020719
PDF
Apache Kafka® and Analytics in a Connected IoT World
PPTX
Building streaming data applications using Kafka*[Connect + Core + Streams] b...
PDF
Building Streaming Data Applications Using Apache Kafka
PDF
Meetup: Streaming Data Pipeline Development
PDF
Day in the life event-driven workshop
PDF
Sergii Bielskyi "Using Kafka and Azure Event hub together for streaming Big d...
Event Broker (Kafka) in a Modern Data Architecture
Now You See Me, Now You Compute: Building Event-Driven Architectures with Apa...
Connect K of SMACK:pykafka, kafka-python or?
Big Data Analytics_basic introduction of Kafka.pptx
dotScale 2017 Keynote: The Rise of Real Time by Neha Narkhede
Concepts and Patterns for Streaming Services with Kafka
Events Everywhere: Enabling Digital Transformation in the Public Sector
Apache Kafka as Event Streaming Platform for Microservice Architectures
Confluent-Ably-AWS-ID-2023 - GSlide.pptx
The Rise Of Event Streaming – Why Apache Kafka Changes Everything
Apache kafka event_streaming___kai_waehner
Building end to end streaming application on Spark
EDA Meets Data Engineering – What's the Big Deal?
Kafka Vienna Meetup 020719
Apache Kafka® and Analytics in a Connected IoT World
Building streaming data applications using Kafka*[Connect + Core + Streams] b...
Building Streaming Data Applications Using Apache Kafka
Meetup: Streaming Data Pipeline Development
Day in the life event-driven workshop
Sergii Bielskyi "Using Kafka and Azure Event hub together for streaming Big d...
Ad

More from Guido Schmutz (19)

PDF
30 Minutes to the Analytics Platform with Infrastructure as Code
PDF
Big Data, Data Lake, Fast Data - Dataserialiation-Formats
PDF
ksqlDB - Stream Processing simplified!
PDF
Kafka as your Data Lake - is it Feasible?
PDF
Solutions for bi-directional integration between Oracle RDBMS & Apache Kafka
PDF
Location Analytics - Real-Time Geofencing using Apache Kafka
PDF
Solutions for bi-directional integration between Oracle RDBMS and Apache Kafka
PDF
What is Apache Kafka? Why is it so popular? Should I use it?
PDF
Solutions for bi-directional integration between Oracle RDBMS & Apache Kafka
PDF
Location Analytics Real-Time Geofencing using Kafka
PDF
Streaming Visualisation
PDF
Solutions for bi-directional Integration between Oracle RDMBS & Apache Kafka
PDF
Fundamentals Big Data and AI Architecture
PDF
Location Analytics - Real-Time Geofencing using Kafka
PDF
Location Analytics - Real Time Geofencing using Apache Kafka
PDF
Stream Processing – Concepts and Frameworks
PDF
Solutions for bi-directional Integration between Oracle RDMBS & Apache Kafka
PDF
Introduction to Stream Processing
PDF
Spark (Structured) Streaming vs. Kafka Streams
30 Minutes to the Analytics Platform with Infrastructure as Code
Big Data, Data Lake, Fast Data - Dataserialiation-Formats
ksqlDB - Stream Processing simplified!
Kafka as your Data Lake - is it Feasible?
Solutions for bi-directional integration between Oracle RDBMS & Apache Kafka
Location Analytics - Real-Time Geofencing using Apache Kafka
Solutions for bi-directional integration between Oracle RDBMS and Apache Kafka
What is Apache Kafka? Why is it so popular? Should I use it?
Solutions for bi-directional integration between Oracle RDBMS & Apache Kafka
Location Analytics Real-Time Geofencing using Kafka
Streaming Visualisation
Solutions for bi-directional Integration between Oracle RDMBS & Apache Kafka
Fundamentals Big Data and AI Architecture
Location Analytics - Real-Time Geofencing using Kafka
Location Analytics - Real Time Geofencing using Apache Kafka
Stream Processing – Concepts and Frameworks
Solutions for bi-directional Integration between Oracle RDMBS & Apache Kafka
Introduction to Stream Processing
Spark (Structured) Streaming vs. Kafka Streams

Recently uploaded (20)

PPTX
AI Strategy room jwfjksfksfjsjsjsjsjfsjfsj
PPTX
1_Introduction to advance data techniques.pptx
PDF
Galatica Smart Energy Infrastructure Startup Pitch Deck
PDF
168300704-gasification-ppt.pdfhghhhsjsjhsuxush
PPTX
01_intro xxxxxxxxxxfffffffffffaaaaaaaaaaafg
PPTX
Supervised vs unsupervised machine learning algorithms
PPTX
oil_refinery_comprehensive_20250804084928 (1).pptx
PPTX
Introduction to Firewall Analytics - Interfirewall and Transfirewall.pptx
PPTX
Database Infoormation System (DBIS).pptx
PPTX
Qualitative Qantitative and Mixed Methods.pptx
PPTX
Introduction-to-Cloud-ComputingFinal.pptx
PDF
Fluorescence-microscope_Botany_detailed content
PPTX
Data_Analytics_and_PowerBI_Presentation.pptx
PPTX
Introduction to machine learning and Linear Models
PPT
Miokarditis (Inflamasi pada Otot Jantung)
PDF
Lecture1 pattern recognition............
PPTX
iec ppt-1 pptx icmr ppt on rehabilitation.pptx
PPTX
mbdjdhjjodule 5-1 rhfhhfjtjjhafbrhfnfbbfnb
PPTX
climate analysis of Dhaka ,Banglades.pptx
PPTX
advance b rammar.pptxfdgdfgdfsgdfgsdgfdfgdfgsdfgdfgdfg
AI Strategy room jwfjksfksfjsjsjsjsjfsjfsj
1_Introduction to advance data techniques.pptx
Galatica Smart Energy Infrastructure Startup Pitch Deck
168300704-gasification-ppt.pdfhghhhsjsjhsuxush
01_intro xxxxxxxxxxfffffffffffaaaaaaaaaaafg
Supervised vs unsupervised machine learning algorithms
oil_refinery_comprehensive_20250804084928 (1).pptx
Introduction to Firewall Analytics - Interfirewall and Transfirewall.pptx
Database Infoormation System (DBIS).pptx
Qualitative Qantitative and Mixed Methods.pptx
Introduction-to-Cloud-ComputingFinal.pptx
Fluorescence-microscope_Botany_detailed content
Data_Analytics_and_PowerBI_Presentation.pptx
Introduction to machine learning and Linear Models
Miokarditis (Inflamasi pada Otot Jantung)
Lecture1 pattern recognition............
iec ppt-1 pptx icmr ppt on rehabilitation.pptx
mbdjdhjjodule 5-1 rhfhhfjtjjhafbrhfnfbbfnb
climate analysis of Dhaka ,Banglades.pptx
advance b rammar.pptxfdgdfgdfsgdfgsdgfdfgdfgsdfgdfgdfg

Event Hub (i.e. Kafka) in Modern Data (Analytics) Architecture

  • 1. BASEL | BERN | BRUGG | BUCHAREST | COPENHAGEN | DÜSSELDORF | FRANKFURT A.M. | FREIBURG I.BR. GENEVA | HAMBURG | LAUSANNE | MANNHEIM | MUNICH | STUTTGART | VIENNA | ZURICH http://[email protected]@gschmutz Event Hub in Modern Data Architecture Guido Schmutz Data Analytics Summit 2020 – Santa Clara
  • 2. BASEL | BERN | BRUGG | BUKAREST | DÜSSELDORF | FRANKFURT A.M. | FREIBURG I.BR. | GENF HAMBURG | KOPENHAGEN | LAUSANNE | MANNHEIM | MÜNCHEN | STUTTGART | WIEN | ZÜRICH Guido Working at Trivadis for more than 23 years Consultant, Trainer, Platform Architect for Java, Oracle, SOA and Big Data / Fast Data Oracle Groundbreaker Ambassador & Oracle ACE Director @gschmutz guidoschmutz.wordpress.com 184th edition
  • 3. Agenda 1. What exactly is an Event Hub? 2. Kafka – the most popular Event Hub 3. Event Hub - core building block of a modern data architecture 4. Event Hub – Kafka Alternatives? Cloud Services? 5. Summary
  • 4. What exactly is an Event Hub?
  • 5. Event Hub Event Hub – as a starting point
  • 6. Event Hub – Key Capabilities 1. topic semantics (publish/subscribe) – message can be consumed by 0 – n consumers 2. queue semantics – messages can be consumed by exactly one consumer 3. horizontally scalable – throughput increases with more resources 4. auto-scaling – up and down-scaling upon load 5. highly available – no single point of failure 6. Control/handle back-pressure 7. durable – messages may not be lost 8. schema-less – no knowledge on message content and format 9. Efficient support of Stream and Batch Consumers (offline and with large Backlog) 10. (Unlimited) Retention of messages (long term storage) 11. Guaranteed ordering of messages 12. Support re-consumption of events 13. Access control – control over who can produce and consume which events 14. interoperable – support for different clients
  • 7. Kafka – the most popular Event Hub
  • 8. Kafka as an Event Hub Kafka Cluster Consumer 1 Consume 2r Broker 1 Broker 2 Broker 3 Zookeeper Ensemble ZK 1 ZK 2ZK 3 Schema Registry Service 1 Management Control Center Kafka Manager KAdmin Producer 1 Producer 2 kafkacat Data Retention: • Never • Time (TTL) or Size-based • Log-Compacted based 1 10 12 3 5 6 7 14 8 9 11 12 10 Producer3Producer3 ConsumerConsumer 3 1. topic semantics 2. queue semantics 3. horizontally scalable 4. auto-scaling 5. highly available 6. back-pressure 7. durable 8. schema-less/opaque 9. Stream and Batch Consumers 10. (Unlimited) Retention 11. Guaranteed ordering 12. re-consumption of events 13. Access Control 14. Interoperable
  • 9. • storage Kafka as an Event Hub • Horizontally scalable, guaranteed order of messages 3 10 1. topic semantics 2. queue semantics 3. horizontally scalable 4. auto-scaling 5. highly available 6. back-pressure 7. durable 8. schema-less/opaque 9. Stream and Batch Consumers 10. (Unlimited) Retention 11. Guaranteed ordering 12. re-consumption of events 13. Access Control 14. Interoperable
  • 10. • Consumer receives messages via polling • no single-point-of-failure, high availability Kafka as an Event Hub 6 5 7 1. topic semantics 2. queue semantics 3. horizontally scalable 4. auto-scaling 5. highly available 6. back-pressure 7. durable 8. schema-less/opaque 9. Stream and Batch Consumers 10. (Unlimited) Retention 11. Guaranteed ordering 12. re-consumption of events 13. Access Control 14. Interoperable
  • 11. Event Hub – Key Capabilities supported by Kafka 1. topic semantics (publish/subscribe) – message can be consumed by 0 – n consumers 2. queue semantics – messages can be consumed by exactly one consumer 3. horizontally scalable – throughput increases with more resources 4. auto-scaling – up and down-scaling upon load 5. highly available – no single point of failure 6. Control/handle back-pressure 7. durable – messages may not be lost 8. schema-less – no knowledge on message content and format 9. Efficient support of Stream and Batch Consumers (offline and with large Backlog) 10. (Unlimited) Retention of messages (long term storage) 11. Guaranteed ordering of messages 12. Support re-consumption of events 13. Access control – control over who can produce and consume which events 14. interoperable – support for different clients
  • 12. Event Hub - core building block of a modern data architecture
  • 13. Event Hub Vehicle Environ mental Streaming Data Sources Shop Floor Event Hub – as a starting point
  • 14. Event Hub Stream Data Integration Stream Data Integration Vehicle Environ mental Streaming Data Sources Shop Floor Using Stream Data Integration
  • 15. Stream Data Integration – Kafka Connect / StreamSets • declarative style, simple data flows • framework is part of Apache Kafka • Many connectors available • Single Message Transforms (SMT) • GUI-based, drag-and drop Data Flow Pipelines • Both stream and batch processing (micro- batching) • custom sources, sinks, processors
  • 16. Event Hub Stream Data Integration Stream Data Integration Vehicle Environ mental Streaming Data Sources Shop Floor Gateway Using Edge Computing and Stream Data Integration • MQTT as a gateway to Kafka
  • 17. Event Hub Stream Analytics Stream Data Integration Stream Data Integration Vehicle Environ mental Streaming Data Sources Shop Floor Gateway Using Stream Analytics • Stream-to-Stream Joins • Stream-to-Table Joins • Time Windowed State Management • Event Pattern Detection • Machine Learning Model Execution (Inference) [1]
  • 18. Event Hub Stream Analytics Stream Data Integration Stream Data Integration Vehicle Environ mental Streaming Data Sources Shop Floor Gateway Using Stream Analytics • Push results back to new topic so other interested parties can use it too!
  • 19. Stream Analytics - Kafka Streams • Programmatic API, “just” a Java library • Native streaming • fault-tolerant local state • Fixed, Sliding and Session Windowing • Stream-Stream / Stream-Table Joins • At-least-once and exactly-once • Stream Processing with zero coding using SQL-like language (now supporting push and pull queries) • built on top of Kafka Streams • interactive (CLI) and headless (cmd file) trucking_ driver Kafka Broker Java Application Kafka Streams ksqlDB trucking_ driver Kafka Broker ksqlDB Engine Kafka Streams ksqlDB REST Commands ksqlDB CLI push pull
  • 20. Event Hub Stream Analytics Stream Data Integration Stream Data Integration Vehicle Environ mental Streaming Data Sources Shop Floor Gateway Using Stream Data Integration to callback to Data Source (to Actuator)
  • 21. Event Hub Stream Analytics Streaming Visualize Stream Data Integration Stream Data Integration Vehicle Environ mental Streaming Data Sources Shop Floor Gateway Using Streaming Visualization • ksqlDB pull queries or Kafka Streams Interactive Queries allow to query state of stream processor [2]
  • 22. Event Hub Stream Analytics Streaming Visualize Stream Data Integration Stream Data Integration Stream Data Integration Vehicle Environ mental Streaming Data Sources Shop Floor Gateway Using Streaming Visualization
  • 23. Event Hub Stream Analytics Streaming Visualize Stream Data Integration Stream Data Integration Stream Data Integration Vehicle Environ mental Streaming Data Sources Shop Floor Gateway Batch Analytics Using Event Hub as a “Data Lake”
  • 24. Event Hub as a “Data Lake” - Kafka Storage Local Storage Tiered Storage (with Confluent Enterprise) Broker 1 Broker 2 Broker 3 Broker 1 Broker 2 Broker 3 Object Storage hothot & cold cold
  • 25. Event Hub Stream Analytics Streaming Visualize Stream Data Integration Stream Data Integration Stream Data Integration Vehicle Environ mental Streaming Data Sources Shop Floor Gateway Batch Data Integration Data Lake / DWH Batch Visualize Batch Analytics Ingest Data into Data Lake
  • 26. Event Hub Stream Analytics Legacy App Streaming Visualize Stream Data Integration Stream Data Integration Stream Data Integration Vehicle Environ mental Streaming Data Sources Shop Floor Gateway Batch Data Integration Data Lake / DWH Batch Visualize Batch Analytics Legacy System integration?
  • 27. Event Hub Stream Analytics Legacy App Streaming Visualize Stream Data Integration Stream Data Integration Stream Data Integration Vehicle Environ mental Streaming Data Sources Shop Floor Gateway Batch Data Integration Data Lake / DWH Batch Visualize Batch Analytics (Batch-Time) Legacy Systems Integration
  • 28. Event Hub Stream Analytics Legacy App Stream Data IntegrationCDC Streaming Visualize Stream Data Integration Stream Data Integration Stream Data Integration Vehicle Environ mental Streaming Data Sources Shop Floor Gateway Batch Data Integration Data Lake / DWH Batch Visualize Batch Analytics (Right-Time) Legacy Systems Integration
  • 29. Event Hub Stream Analytics Legacy App Stream Data IntegrationCDC Streaming Visualize Stream Data Integration Stream Data Integration Stream Data Integration Vehicle Environ mental Streaming Data Sources Shop Floor Gateway Batch Data Integration Data Lake / DWH Batch Visualize Batch Analytics (Right-Time) Legacy Systems Integration • Stream-to-Table join
  • 30. Kafka Log Compaction Log Before Compaction Log After Compaction Tail Head
  • 31. Event Hub Stream Analytics Legacy App Machine IIoT Stream Data Integration Legacy Data Sources CDC Stream Data Integration CDC Streaming Visualize Stream Data Integration Stream Data Integration Stream Data Integration Vehicle Environ mental Streaming Data Sources Shop Floor Gateway Batch Data Integration Data Lake / DWH Batch Visualize Batch Analytics (Right-Time) Legacy Systems Integration
  • 32. Event Hub Stream Analytics Legacy App Machine IIoT Stream Data Integration Legacy Data Sources CDC Stream Data Integration CDC Streaming Visualize Stream Data Integration Stream Data Integration Stream Data Integration Vehicle Environ mental Streaming Data Sources Shop Floor Gateway Batch Data Integration Stream Data Integration NoSQL RDBMS Data Lake / DWH Batch Visualize Batch Analytics Micro-Batch Visualize Persistent Storage Integration
  • 33. Event Hub Stream Analytics Legacy App Machine IIoT Stream Data Integration Legacy Data Sources CDC Stream Data Integration CDC Streaming Visualize Stream Data Integration Micro service Stream Data Integration Stream Data Integration Vehicle Environ mental Streaming Data Sources Shop Floor Gateway Batch Data Integration Stream Data Integration NoSQL RDBMS Data Lake / DWH Batch Visualize Batch Analytics Micro-Batch Visualize Event-Driven Apps (aka. Microservices) • Microservice participates as both a consumer and producer of events
  • 34. Event Hub Stream Analytics Legacy App Machine IIoT Stream Data Integration Legacy Data Sources CDC Stream Data Integration CDC Streaming Visualize Stream Data Integration Micro service Micro service Stream Data Integration Stream Data Integration Vehicle Environ mental Streaming Data Sources Shop Floor Gateway Batch Data Integration Stream Data Integration NoSQL RDBMS Data Lake / DWH Batch Visualize Batch Analytics Micro-Batch Visualize Event-Driven, highly decoupled Apps (aka. Microservices) • 2nd microservice consumes events from 1st microservice • Bootstrap new microservices from event history • System-wide CQRS [3]
  • 35. Event Hub Stream Analytics Legacy App Machine IIoT Stream Data Integration Legacy Data Sources CDC Stream Data Integration CDC Streaming Visualize Stream Data Integration Micro service Micro service Stream Data Integration Stream Data Integration Vehicle Environ mental Streaming Data Sources Shop Floor Gateway Batch Data Integration Stream Data Integration NoSQL RDBMS Data Lake / DWH Batch Visualize Batch Analytics Micro-Batch Visualize Bi-Directional Legacy Systems Integration • 2nd microservice consumes events from 1st microservice • Bootstrap new microservices from event history • System-wide CQRS [4]AQ
  • 36. Event Hub Stream Analytics Legacy App Machine IIoT Stream Data Integration Legacy Data Sources CDC Stream Data Integration CDC Streaming Visualize Stream Data Integration Micro service Micro service Serverless FaaS Stream Data Integration Stream Data Integration Vehicle Environ mental Streaming Data Sources Shop Floor Gateway Batch Data Integration Stream Data Integration NoSQL RDBMS Data Lake / DWH Batch Visualize Batch Analytics Micro-Batch Visualize Serverless/Function as a Service (FaaS)
  • 37. Event Hub Stream Analytics Legacy App Machine IIoT Stream Data Integration Legacy Data Sources CDC Stream Data Integration CDC Streaming Visualize Stream Data Integration Micro service Micro service Serverless FaaS Stream Data Integration Stream Data Integration Vehicle Environ mental Streaming Data Sources Shop Floor Gateway Batch Data Integration Stream Data Integration NoSQL RDBMS Data Lake / DWH Batch Visualize Batch Analytics Micro-Batch Visualize Event Hub becomes the central nervous system for your information!
  • 38. Event Hub Stream Analytics Legacy App Machine IIoT Stream Data Integration Legacy Data Sources CDC Stream Data Integration CDC Streaming Visualize Stream Data Integration Micro service Micro service Serverless FaaS Stream Data Integration Stream Data Integration Vehicle Environ mental Streaming Data Sources Shop Floor Gateway Batch Data Integration Stream Data Integration NoSQL RDBMS Data Lake / DWH Batch Visualize Batch Analytics Micro-Batch Visualize Event Hub becomes the central nervous system for your information! Log as a first-class citizen! Turning the database Inside out!
  • 39. Event Hub – Kafka Alternatives? Cloud Services?
  • 40. • Cloud Services • Cloud Services with Kafka API • Kafka Cloud Services Event Hub - Kafka Alternatives? Cloud Services? • traditional Message Brokers (with a lot of limitations regarding Event Hub capabilities) • Apache Pulsar • Solace • Pravega (Dell Streaming Platform) • Oracle AQ (Kafka API coming) AQ
  • 42. Ref Architecture Service Event Stream Bulk Data Flow Bulk Source Event Source Location DB Extract File Weather DB IoT Data Mobile Apps Social File Import / SQL Import Consumer BI Apps Data Science Workbench Enterprise App Enterprise Data Warehouse SQL / Search SQL “Native” Raw RDBMS “SQL” / Search Service Event Hub Hadoop ClusterdHadoop ClusterBig Data Platform SQL Export Storage Storage Raw Refined/ UsageOpt Microservice Cluster Stream Processing Cluster Stream Processor Model / State Edge Node Rules Event Hub Storage Governance Data Catalog Rules Engine Parallel Processing Query Engine Microservice Data { } API Event Stream Modern Data Platform Event Stream Event Stream
  • 43. Reference 1. Stream Processing Concepts and Frameworks 2. Streaming Visualization 3. Building event-driven (Micro)Services with Apache Kafka 4. Solutions for bi-directional integration between Oracle RDBMS & Apache Kafka