SlideShare a Scribd company logo
Change Data Streaming Patterns forChange Data Streaming Patterns for
Microservices With DebeziumMicroservices With Debezium
 
 
Gunnar MorlingGunnar Morling  
@gunnarmorling@gunnarmorling
Gunnar MorlingGunnar Morling
Open source software engineer at Red Hat
Debezium
Hibernate
Spec Lead for Bean Validation 2.0
Other projects: ModiTect, MapStruct 
 
gunnar@hibernate.org 
@gunnarmorling 
http://in.relation.to/gunnar-morling/
#Debezium @gunnarmorling
Change Data CaptureChange Data Capture
What is it about?What is it about?
Get an event stream with all data and schema changes in your DB
#Debezium @gunnarmorling
Apache Kafka
DB 1
?
CDC Use CasesCDC Use Cases
Data ReplicationData Replication
Replicate data to other DB
Feed analytics system or DWH
Feed data to other teams
#Debezium @gunnarmorling
Apache Kafka
DB 1
DB 2
CDC Use CasesCDC Use Cases
OthersOthers
Auditing/Historization
Update or invalidate caches
Enable full-text search via Elasticsearch, Solr etc.
Update CQRS read models
UI live updates
Enable streaming queries
#Debezium @gunnarmorling
Change Data CaptureChange Data Capture
With DebeziumWith Debezium
DebeziumDebezium
Change Data Capture PlatformChange Data Capture Platform
Retrieves change events from TX logs from different DBs
Common event format as far as possible
Comprehensive type support (PostGIS etc.)
Snapshotting, Filtering etc.
Fully open-source, very active community
Latest version: 0.9 (based on Kafka 2.0)
Production deployments at multiple companies (e.g. 
WePay, Trivago, BlaBlaCar etc.)
#Debezium @gunnarmorling
Debezium ConnectorsDebezium Connectors
MySQL
Postgres
MongoDB
SQL Server
Oracle (Tech Preview, based on XStream)
Possible future additions
Cassandra?
MariaDB?
@gunnarmorling#Debezium
#Debezium @gunnarmorling
Postgres
MySQL
Apache Kafka
CDC with Debezium and Kafka ConnectCDC with Debezium and Kafka Connect
CDC with Debezium and Kafka ConnectCDC with Debezium and Kafka Connect
#Debezium @gunnarmorling
Postgres
MySQL
Apache KafkaKafka Connect Kafka Connect
#Debezium @gunnarmorling
Postgres
MySQL
Apache KafkaKafka Connect Kafka Connect
DBZ PG
DBZ
MySQL
CDC with Debezium and Kafka ConnectCDC with Debezium and Kafka Connect
#Debezium @gunnarmorling
Postgres
MySQL
Kafka Connect Kafka ConnectApache Kafka
DBZ PG
DBZ
MySQL
Elasticsearch
ES 
Connector
CDC with Debezium and Kafka ConnectCDC with Debezium and Kafka Connect
MicroserviceMicroservice  
CDC PatternsCDC Patterns
Pattern: Microservice DataPattern: Microservice Data
SynchronizationSynchronization
Microservice ArchitecturesMicroservice Architectures
Propagate data between different 
services without coupling
Each service keeps 
optimised views locally
#Debezium @gunnarmorling
Order Item Stock
App
Local DB Local DB Local DB
App App
Item ChangesStock Changes
Source DB 
(with "Events" table)
Kafka Connect Apache Kafka
DBZ  Order Events
Credit Worthiness Check Events
Pattern: OutboxPattern: Outbox
Avoiding Dual WritesAvoiding Dual Writes
#Debezium @gunnarmorling
ID Category Type Payload
123 Order OrderCreated { "id" : 123, ... }
456 Order OrderDetailCanceled { "id" : 456, ... }
Order
Service
Shipment
Service
Customer
Service
ID Category Type Payload
123 Order OrderCreated { "id" : 123, ... }
456 Order OrderDetail-
Canceled
{ "id" : 456, ... }
789 ... ... ...
Pattern: Microservice ExtractionPattern: Microservice Extraction
Migrating from Monoliths to MicroservicesMigrating from Monoliths to Microservices
Extract microservice for single component(s)
Keep write requests against running monolith
Stream changes to extracted microservice
Test new functionality
Switch over, evolve schema only afterwards
#Debezium @gunnarmorling
DemoDemo
Running on KubernetesRunning on Kubernetes
AMQ Streams: Enterprise Distribution of Apache KafkaAMQ Streams: Enterprise Distribution of Apache Kafka
Provides
Container images for Apache Kafka, Connect, Zookeeper and MirrorMaker
Operators for managing/configuring Apache Kafka clusters, topics and users
Kafka Consumer, Producer and Admin clients, Kafka Streams
Supported by Red Hat
Upstream Community: Strimzi
#Debezium @gunnarmorling
SummarySummary
CDC enables use cases such as replication, microservices
data exchange and much more
Debezium: CDC for a growing number of databases
Transparently set up change data event streams
Works reliably also in case of failures
Contributions welcome!
#Debezium @gunnarmorling
ResourcesResources
Website: 
Source code, examples, Compose files etc. 
Discussion group 
Strimzi (Kafka on Kubernetes/OpenShift) 
Latest news:        @debezium
http://debezium.io/
https://github.com/debezium
https://groups.google.com/forum/ 
#!forum/debezium
http://strimzi.io/
#Debezium @gunnarmorling
DevNation Live: Kafka and Debezium

More Related Content

PPTX
Data Lakehouse, Data Mesh, and Data Fabric (r1)
PPTX
Kafka Connect - debezium
PDF
5 Critical Steps to Clean Your Data Swamp When Migrating Off of Hadoop
PPTX
Advanced Change Data Streaming Patterns in Distributed Systems | Gunnar Morli...
PDF
Data Mesh Part 4 Monolith to Mesh
PPTX
Azure DataBricks for Data Engineering by Eugene Polonichko
PDF
The Modern Data Team for the Modern Data Stack: dbt and the Role of the Analy...
PPTX
Siligong.Data - May 2021 - Transforming your analytics workflow with dbt
Data Lakehouse, Data Mesh, and Data Fabric (r1)
Kafka Connect - debezium
5 Critical Steps to Clean Your Data Swamp When Migrating Off of Hadoop
Advanced Change Data Streaming Patterns in Distributed Systems | Gunnar Morli...
Data Mesh Part 4 Monolith to Mesh
Azure DataBricks for Data Engineering by Eugene Polonichko
The Modern Data Team for the Modern Data Stack: dbt and the Role of the Analy...
Siligong.Data - May 2021 - Transforming your analytics workflow with dbt

What's hot (20)

PDF
How a Semantic Layer Makes Data Mesh Work at Scale
PPTX
Databricks Fundamentals
PDF
Introduction to Azure Data Factory
PPTX
Snowflake Architecture.pptx
PDF
Enabling a Data Mesh Architecture with Data Virtualization
PDF
Data Mess to Data Mesh | Jay Kreps, CEO, Confluent | Kafka Summit Americas 20...
PDF
Change Data Streaming Patterns For Microservices With Debezium (Gunnar Morlin...
PPTX
Introducing the Snowflake Computing Cloud Data Warehouse
PDF
Data Warehouse or Data Lake, Which Do I Choose?
PDF
Introducing Databricks Delta
PDF
Modernizing to a Cloud Data Architecture
PPTX
Azure Databricks - An Introduction (by Kris Bock)
PDF
A Thorough Comparison of Delta Lake, Iceberg and Hudi
PDF
Intuit's Data Mesh - Data Mesh Leaning Community meetup 5.13.2021
PDF
Databricks: A Tool That Empowers You To Do More With Data
PDF
Time to Talk about Data Mesh
PPTX
Big data architectures and the data lake
PPTX
1- Introduction of Azure data factory.pptx
PPTX
What is Change Data Capture (CDC) and Why is it Important?
PPTX
Is the traditional data warehouse dead?
How a Semantic Layer Makes Data Mesh Work at Scale
Databricks Fundamentals
Introduction to Azure Data Factory
Snowflake Architecture.pptx
Enabling a Data Mesh Architecture with Data Virtualization
Data Mess to Data Mesh | Jay Kreps, CEO, Confluent | Kafka Summit Americas 20...
Change Data Streaming Patterns For Microservices With Debezium (Gunnar Morlin...
Introducing the Snowflake Computing Cloud Data Warehouse
Data Warehouse or Data Lake, Which Do I Choose?
Introducing Databricks Delta
Modernizing to a Cloud Data Architecture
Azure Databricks - An Introduction (by Kris Bock)
A Thorough Comparison of Delta Lake, Iceberg and Hudi
Intuit's Data Mesh - Data Mesh Leaning Community meetup 5.13.2021
Databricks: A Tool That Empowers You To Do More With Data
Time to Talk about Data Mesh
Big data architectures and the data lake
1- Introduction of Azure data factory.pptx
What is Change Data Capture (CDC) and Why is it Important?
Is the traditional data warehouse dead?
Ad

Similar to DevNation Live: Kafka and Debezium (20)

PDF
Change Data Streaming Patterns for Microservices With Debezium
PDF
CodeCamp Iasi - Creating serverless data analytics system on GCP using BigQuery
PPTX
Evolution of Big Data at Intel - Crawl, Walk and Run Approach
PDF
Cloud-Native Patterns for Data-Intensive Applications
PDF
How a distributed graph analytics platform uses Apache Kafka for data ingesti...
PDF
The Practice of Presto & Alluxio in E-Commerce Big Data Platform
PDF
Streaming is a Detail
PPTX
Enterprise grade deployment and security with PostgreSQL
PDF
Taming Big Data with Big SQL 3.0
PDF
Speeding Time to Insight with a Modern ELT Approach
PDF
Hadoop Virtualization - Intel White Paper
PPTX
Phissug s01 ep6, stretch database
PPTX
Migrating from legacy Database to Postgres
PPTX
20150314 sahara intro and the future plan for open stack meetup
PDF
Big Data Ready Enterprise
PPTX
Still on IBM BigInsights? We have the right path for you
PPTX
Extending Twitter's Data Platform to Google Cloud
PPTX
Extending twitter's data platform to google cloud
PDF
Which Change Data Capture Strategy is Right for You?
PPTX
Introduction to GCP Data Flow Presentation
Change Data Streaming Patterns for Microservices With Debezium
CodeCamp Iasi - Creating serverless data analytics system on GCP using BigQuery
Evolution of Big Data at Intel - Crawl, Walk and Run Approach
Cloud-Native Patterns for Data-Intensive Applications
How a distributed graph analytics platform uses Apache Kafka for data ingesti...
The Practice of Presto & Alluxio in E-Commerce Big Data Platform
Streaming is a Detail
Enterprise grade deployment and security with PostgreSQL
Taming Big Data with Big SQL 3.0
Speeding Time to Insight with a Modern ELT Approach
Hadoop Virtualization - Intel White Paper
Phissug s01 ep6, stretch database
Migrating from legacy Database to Postgres
20150314 sahara intro and the future plan for open stack meetup
Big Data Ready Enterprise
Still on IBM BigInsights? We have the right path for you
Extending Twitter's Data Platform to Google Cloud
Extending twitter's data platform to google cloud
Which Change Data Capture Strategy is Right for You?
Introduction to GCP Data Flow Presentation
Ad

More from Red Hat Developers (20)

PDF
DevNation Tech Talk: Getting GitOps
PDF
Exploring the power of OpenTelemetry on Kubernetes
PDF
GitHub Makeover | DevNation Tech Talk
PDF
Quinoa: A modern Quarkus UI with no hassles | DevNation tech Talk
PDF
Extra micrometer practices with Quarkus | DevNation Tech Talk
PDF
Event-driven autoscaling through KEDA and Knative Integration | DevNation Tec...
PDF
Integrating Loom in Quarkus | DevNation Tech Talk
PDF
Quarkus Renarde 🦊♥: an old-school Web framework with today's touch | DevNatio...
PDF
Containers without docker | DevNation Tech Talk
PDF
Distributed deployment of microservices across multiple OpenShift clusters | ...
PDF
DevNation Workshop: Object detection with Red Hat OpenShift Data Science [Mar...
PDF
Dear security, compliance, and auditing: We’re sorry. Love, DevOps | DevNatio...
PDF
11 CLI tools every developer should know | DevNation Tech Talk
PDF
A Microservices approach with Cassandra and Quarkus | DevNation Tech Talk
PDF
GitHub Actions and OpenShift: ​​Supercharging your software development loops...
PDF
To the moon and beyond with Java 17 APIs! | DevNation Tech Talk
PDF
Profile your Java apps in production on Red Hat OpenShift with Cryostat | Dev...
PDF
Kafka at the Edge: an IoT scenario with OpenShift Streams for Apache Kafka | ...
PDF
Kubernetes configuration and security policies with KubeLinter | DevNation Te...
PDF
Level-up your gaming telemetry using Kafka Streams | DevNation Tech Talk
DevNation Tech Talk: Getting GitOps
Exploring the power of OpenTelemetry on Kubernetes
GitHub Makeover | DevNation Tech Talk
Quinoa: A modern Quarkus UI with no hassles | DevNation tech Talk
Extra micrometer practices with Quarkus | DevNation Tech Talk
Event-driven autoscaling through KEDA and Knative Integration | DevNation Tec...
Integrating Loom in Quarkus | DevNation Tech Talk
Quarkus Renarde 🦊♥: an old-school Web framework with today's touch | DevNatio...
Containers without docker | DevNation Tech Talk
Distributed deployment of microservices across multiple OpenShift clusters | ...
DevNation Workshop: Object detection with Red Hat OpenShift Data Science [Mar...
Dear security, compliance, and auditing: We’re sorry. Love, DevOps | DevNatio...
11 CLI tools every developer should know | DevNation Tech Talk
A Microservices approach with Cassandra and Quarkus | DevNation Tech Talk
GitHub Actions and OpenShift: ​​Supercharging your software development loops...
To the moon and beyond with Java 17 APIs! | DevNation Tech Talk
Profile your Java apps in production on Red Hat OpenShift with Cryostat | Dev...
Kafka at the Edge: an IoT scenario with OpenShift Streams for Apache Kafka | ...
Kubernetes configuration and security policies with KubeLinter | DevNation Te...
Level-up your gaming telemetry using Kafka Streams | DevNation Tech Talk

Recently uploaded (20)

PDF
Design an Analysis of Algorithms I-SECS-1021-03
PDF
top salesforce developer skills in 2025.pdf
PPTX
history of c programming in notes for students .pptx
PPTX
Transform Your Business with a Software ERP System
PDF
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
PPTX
L1 - Introduction to python Backend.pptx
PDF
Upgrade and Innovation Strategies for SAP ERP Customers
PPTX
CHAPTER 2 - PM Management and IT Context
PDF
Navsoft: AI-Powered Business Solutions & Custom Software Development
PPTX
ManageIQ - Sprint 268 Review - Slide Deck
PDF
How to Migrate SBCGlobal Email to Yahoo Easily
PPTX
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
PDF
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
PDF
Which alternative to Crystal Reports is best for small or large businesses.pdf
PDF
medical staffing services at VALiNTRY
PDF
PTS Company Brochure 2025 (1).pdf.......
PPT
Introduction Database Management System for Course Database
PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
PPTX
VVF-Customer-Presentation2025-Ver1.9.pptx
PDF
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...
Design an Analysis of Algorithms I-SECS-1021-03
top salesforce developer skills in 2025.pdf
history of c programming in notes for students .pptx
Transform Your Business with a Software ERP System
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
L1 - Introduction to python Backend.pptx
Upgrade and Innovation Strategies for SAP ERP Customers
CHAPTER 2 - PM Management and IT Context
Navsoft: AI-Powered Business Solutions & Custom Software Development
ManageIQ - Sprint 268 Review - Slide Deck
How to Migrate SBCGlobal Email to Yahoo Easily
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
Which alternative to Crystal Reports is best for small or large businesses.pdf
medical staffing services at VALiNTRY
PTS Company Brochure 2025 (1).pdf.......
Introduction Database Management System for Course Database
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
VVF-Customer-Presentation2025-Ver1.9.pptx
Audit Checklist Design Aligning with ISO, IATF, and Industry Standards — Omne...

DevNation Live: Kafka and Debezium