SlideShare a Scribd company logo
Streaming
App Changes
to
Event Store
Shivji Kumar Jha
SME,
Stream Platform,
Nutanix
About Me
 Platform Engineer
 Specialties:
 DBs, Stream, SOA, infra etc
 Love
 Distributed systems
 Open source contributions
 Apache Pulsar, MySQL
 Communities & conferences!
 Talks
 https://www.slideshare.net/shiv4289/
 https://www.youtube.com/watch?v=Bx4csRi1b8Y&list=PL
A7KYGkuAD071myyg4X5ShsDHsOaIpHOq
@ShivjiJha in/shivjijha
The days
of
Monolith
One application Data in one place
Easy to query and
fetch information
Microservices
are hard!
Move ALL transactional data to one store – event store
Can’t query all data at once
1.Aggregate 1.Load 1.Index 1.Query
Data is fragmented.
Application split into modular microservices
Event Store – use cases
Data warehouses
Data Lakes
Data Lakehouse
CQRS
Change
Data
Capture
(CDC)
What
Identify
Capture
Deliver
Change
Data
Capture
(CDC)
How
Send Events from
App Code
Tail database
CDC: from App Code
 Capture
 Bad
 Write code for each event
 Difficult to control from platform teams.
CDC: from App Code
 Capture
 Bad
 Write code for each event
 Difficult to control from platform teams.
 Good
 Can leverage Flexibility in code
 App has more data than database.
 Eg : Data aggregated from other apps
CDC: from App Code
 Capture
 Bad
 Write code for each event
 Difficult to control from platform teams.
 Good
 Can leverage Flexibility in code
 App has more data than database.
 Eg : Data aggregated from other apps
 Delivery:
 Mostly asynchronously
 Synchronous if critical transaction, extra latency is ok.
CDC: from database
 Capture:
 Tail transaction logs
CDC: from database
 Capture:
 Tail transaction logs
 Bad
 Different structure in transactional logs of each DB
 Deal with log format changes in upgrades.
 Deal with DDL changes
 Maybe DB reverted transaction while recovering..
CDC: from database
 Capture:
 Tail transaction logs
 Bad
 Different structure in transactional logs of each DB
 Deal with log format changes in upgrades.
 Deal with DDL changes
 Maybe DB reverted transaction while recovering..
 Good
 Easy control from platform team.
 No extra code. No extra latency.
 App and CDC decoupled via queue and offset.
 Standard tools available : Debezium, maxwell
CDC: Outbox Pattern
https://medium.com/engineering-varo/event-driven-architecture-and-the-outbox-pattern-569e6fba7216
Hybrid Databases (HTAP)
 HTAP: Hybrid Transactional/Analytical Processing
 Evolving Landscape
 One database to serve
 OLTP and
 OLAP
 Examples:
 SingleStore DB
 TiDB
 MySQL Heatwave
References
 Change Data Capture
 https://en.wikipedia.org/wiki/Change_data_capture
 Debezium
 https://github.com/debezium
 Maxwell
 http://maxwells-daemon.io/
 https://github.com/zendesk/maxwell
 https://medium.com/@purbon/patterns-to-track-changes-in-data-
8d239734dc32
 Outbox pattern
 https://medium.com/engineering-varo/event-driven-architecture-
and-the-outbox-pattern-569e6fba7216
@ShivjiJha in/shivjijha/
ShivjiKumarJha
shiv4289
QUESTIONS?
THANK YOU!
QUESTIONS?

More Related Content

PDF
Webinar: Deep Dive on Apache Flink State - Seth Wiesman
PDF
What is the State of my Kafka Streams Application? Unleashing Metrics. | Neil...
PDF
Operationalizing Machine Learning: Serving ML Models
PDF
London Apache Kafka Meetup (Jan 2017)
PDF
Making Scala Faster: 3 Expert Tips For Busy Development Teams
PDF
Revitalizing Enterprise Integration with Reactive Streams
PPTX
Apache Con 2021 Structured Data Streaming
PDF
Developing Secure Scala Applications With Fortify For Scala
Webinar: Deep Dive on Apache Flink State - Seth Wiesman
What is the State of my Kafka Streams Application? Unleashing Metrics. | Neil...
Operationalizing Machine Learning: Serving ML Models
London Apache Kafka Meetup (Jan 2017)
Making Scala Faster: 3 Expert Tips For Busy Development Teams
Revitalizing Enterprise Integration with Reactive Streams
Apache Con 2021 Structured Data Streaming
Developing Secure Scala Applications With Fortify For Scala

What's hot (20)

PDF
Tale of ISUCON and Its Bench Tools
PDF
Kafka Connect: Operational Lessons Learned from the Trenches (Elizabeth Benne...
PDF
Stream and Batch Processing in the Cloud with Data Microservices
PPTX
Building Large-Scale Stream Infrastructures Across Multiple Data Centers with...
PDF
Streaming Microservices With Akka Streams And Kafka Streams
PDF
Designing Payloads for Event-Driven Systems | Lorna Mitchell, Aiven
PPTX
Stream your Operational Data with Apache Spark & Kafka into Hadoop using Couc...
PDF
Can Apache Kafka Replace a Database? – The 2021 Update | Kai Waehner, Confluent
PDF
Akka, Spark or Kafka? Selecting The Right Streaming Engine For the Job
PPTX
Jack Gudenkauf sparkug_20151207_7
PPTX
Putting Kafka In Jail – Best Practices To Run Kafka On Kubernetes & DC/OS
PDF
Kafka Summit SF 2017 - Kafka Stream Processing for Everyone with KSQL
PDF
Exploring Reactive Integrations With Akka Streams, Alpakka And Apache Kafka
PDF
Build Real-Time Streaming ETL Pipelines With Akka Streams, Alpakka And Apache...
PPTX
Data Architectures for Robust Decision Making
PDF
Leveraging Microservice Architectures & Event-Driven Systems for Global APIs
PDF
Building Scalable and Extendable Data Pipeline for Call of Duty Games: Lesson...
PPTX
Kafka Connect
PPTX
Custom management apps for Kafka
PDF
Understanding Akka Streams, Back Pressure, and Asynchronous Architectures
Tale of ISUCON and Its Bench Tools
Kafka Connect: Operational Lessons Learned from the Trenches (Elizabeth Benne...
Stream and Batch Processing in the Cloud with Data Microservices
Building Large-Scale Stream Infrastructures Across Multiple Data Centers with...
Streaming Microservices With Akka Streams And Kafka Streams
Designing Payloads for Event-Driven Systems | Lorna Mitchell, Aiven
Stream your Operational Data with Apache Spark & Kafka into Hadoop using Couc...
Can Apache Kafka Replace a Database? – The 2021 Update | Kai Waehner, Confluent
Akka, Spark or Kafka? Selecting The Right Streaming Engine For the Job
Jack Gudenkauf sparkug_20151207_7
Putting Kafka In Jail – Best Practices To Run Kafka On Kubernetes & DC/OS
Kafka Summit SF 2017 - Kafka Stream Processing for Everyone with KSQL
Exploring Reactive Integrations With Akka Streams, Alpakka And Apache Kafka
Build Real-Time Streaming ETL Pipelines With Akka Streams, Alpakka And Apache...
Data Architectures for Robust Decision Making
Leveraging Microservice Architectures & Event-Driven Systems for Global APIs
Building Scalable and Extendable Data Pipeline for Call of Duty Games: Lesson...
Kafka Connect
Custom management apps for Kafka
Understanding Akka Streams, Back Pressure, and Asynchronous Architectures
Ad

Similar to Event sourcing Live 2021: Streaming App Changes to Event Store (20)

PDF
CDC patterns in Apache Kafka®
PDF
Message broker.pdf
PDF
The Significant role of event driven apps in software development
PPTX
A Deep Dive into Event Sourcing: Immutable and Scalable Systems
PPTX
Squirreling Away $640 Billion: How Stripe Leverages Flink for Change Data Cap...
PPTX
Change Data Capture to Data Lakes Using Apache Pulsar and Apache Hudi - Pulsa...
PDF
Building robust CDC pipeline with Apache Hudi and Debezium
PDF
Streaming Analytics with Spark, Kafka, Cassandra and Akka
PDF
Events on the outside, on the inside and at the core - Chris Richardson
PDF
Events on the outside, on the inside and at the core (jaxlondon)
PDF
Unbundling the Modern Streaming Stack With Dunith Dhanushka | Current 2022
PPTX
Event Hub & Azure Stream Analytics
PDF
Building Streaming Applications with Streaming SQL
PDF
Kafka as an event store - is it good enough?
PDF
Handling eventual consistency in a transactional world with Matteo Cimini and...
PDF
Kafka Summit 2022: Handling Eventual Consistency in a Transactional World.pdf
PPTX
Planning your Next-Gen Change Data Capture (CDC) Architecture in 2019 - Strea...
PDF
A Global Source of Truth for the Microservices Generation
PPTX
[Pulsar summit na 21] Change Data Capture To Data Lakes Using Apache Pulsar/Hudi
PDF
[Hands-on] CQRS(Command Query Responsibility Segregation) 와 Event Sourcing 패턴 실습
CDC patterns in Apache Kafka®
Message broker.pdf
The Significant role of event driven apps in software development
A Deep Dive into Event Sourcing: Immutable and Scalable Systems
Squirreling Away $640 Billion: How Stripe Leverages Flink for Change Data Cap...
Change Data Capture to Data Lakes Using Apache Pulsar and Apache Hudi - Pulsa...
Building robust CDC pipeline with Apache Hudi and Debezium
Streaming Analytics with Spark, Kafka, Cassandra and Akka
Events on the outside, on the inside and at the core - Chris Richardson
Events on the outside, on the inside and at the core (jaxlondon)
Unbundling the Modern Streaming Stack With Dunith Dhanushka | Current 2022
Event Hub & Azure Stream Analytics
Building Streaming Applications with Streaming SQL
Kafka as an event store - is it good enough?
Handling eventual consistency in a transactional world with Matteo Cimini and...
Kafka Summit 2022: Handling Eventual Consistency in a Transactional World.pdf
Planning your Next-Gen Change Data Capture (CDC) Architecture in 2019 - Strea...
A Global Source of Truth for the Microservices Generation
[Pulsar summit na 21] Change Data Capture To Data Lakes Using Apache Pulsar/Hudi
[Hands-on] CQRS(Command Query Responsibility Segregation) 와 Event Sourcing 패턴 실습
Ad

More from Shivji Kumar Jha (20)

PPTX
Batch to near-realtime: inspired by a real production incident
PDF
Navigating Transactions: ACID Complexity in Modern Databases
PPTX
Druid Summit 2023 : Changing Druid Ingestion from 3 hours to 5 minutes
PPTX
osi-oss-dbs.pptx
PPTX
pulsar-platformatory-meetup-2.pptx
PDF
Pulsar Summit Asia 2022 - Streaming wars and How Apache Pulsar is acing the b...
PDF
Pulsar Summit Asia 2022 - Keeping on top of hybrid cloud usage with Pulsar
PDF
Pulsar summit asia 2021: Designing Pulsar for Isolation
PPTX
Apache Con 2021 : Apache Bookkeeper Key Value Store and use cases
PDF
How pulsar stores data at Pulsar-na-summit-2021.pptx (1)
PDF
Pulsar Summit Asia - Structured Data Stream with Apache Pulsar
PDF
Pulsar Summit Asia - Running a secure pulsar cluster
PDF
lessons from managing a pulsar cluster
PDF
FOSSASIA 2015: MySQL Group Replication
PDF
MySQL High Availability with Replication New Features
PDF
MySQL Developer Day conference: MySQL Replication and Scalability
PDF
MySQL User Camp: MySQL Cluster
PDF
MySQL User Camp: GTIDs
PDF
Open source India - MySQL Labs: Multi-Source Replication
PDF
MySQL User Camp: Multi-threaded Slaves
Batch to near-realtime: inspired by a real production incident
Navigating Transactions: ACID Complexity in Modern Databases
Druid Summit 2023 : Changing Druid Ingestion from 3 hours to 5 minutes
osi-oss-dbs.pptx
pulsar-platformatory-meetup-2.pptx
Pulsar Summit Asia 2022 - Streaming wars and How Apache Pulsar is acing the b...
Pulsar Summit Asia 2022 - Keeping on top of hybrid cloud usage with Pulsar
Pulsar summit asia 2021: Designing Pulsar for Isolation
Apache Con 2021 : Apache Bookkeeper Key Value Store and use cases
How pulsar stores data at Pulsar-na-summit-2021.pptx (1)
Pulsar Summit Asia - Structured Data Stream with Apache Pulsar
Pulsar Summit Asia - Running a secure pulsar cluster
lessons from managing a pulsar cluster
FOSSASIA 2015: MySQL Group Replication
MySQL High Availability with Replication New Features
MySQL Developer Day conference: MySQL Replication and Scalability
MySQL User Camp: MySQL Cluster
MySQL User Camp: GTIDs
Open source India - MySQL Labs: Multi-Source Replication
MySQL User Camp: Multi-threaded Slaves

Recently uploaded (20)

PPTX
1_Introduction to advance data techniques.pptx
PPTX
Introduction to Basics of Ethical Hacking and Penetration Testing -Unit No. 1...
PDF
168300704-gasification-ppt.pdfhghhhsjsjhsuxush
PPTX
Introduction to machine learning and Linear Models
PDF
Fluorescence-microscope_Botany_detailed content
PDF
Business Analytics and business intelligence.pdf
PDF
Galatica Smart Energy Infrastructure Startup Pitch Deck
PDF
Foundation of Data Science unit number two notes
PDF
“Getting Started with Data Analytics Using R – Concepts, Tools & Case Studies”
PPTX
Qualitative Qantitative and Mixed Methods.pptx
PPTX
climate analysis of Dhaka ,Banglades.pptx
PPTX
Introduction-to-Cloud-ComputingFinal.pptx
PPTX
Business Ppt On Nestle.pptx huunnnhhgfvu
PPTX
Business Acumen Training GuidePresentation.pptx
PPTX
iec ppt-1 pptx icmr ppt on rehabilitation.pptx
PPTX
advance b rammar.pptxfdgdfgdfsgdfgsdgfdfgdfgsdfgdfgdfg
PDF
annual-report-2024-2025 original latest.
PDF
Recruitment and Placement PPT.pdfbjfibjdfbjfobj
PDF
.pdf is not working space design for the following data for the following dat...
1_Introduction to advance data techniques.pptx
Introduction to Basics of Ethical Hacking and Penetration Testing -Unit No. 1...
168300704-gasification-ppt.pdfhghhhsjsjhsuxush
Introduction to machine learning and Linear Models
Fluorescence-microscope_Botany_detailed content
Business Analytics and business intelligence.pdf
Galatica Smart Energy Infrastructure Startup Pitch Deck
Foundation of Data Science unit number two notes
“Getting Started with Data Analytics Using R – Concepts, Tools & Case Studies”
Qualitative Qantitative and Mixed Methods.pptx
climate analysis of Dhaka ,Banglades.pptx
Introduction-to-Cloud-ComputingFinal.pptx
Business Ppt On Nestle.pptx huunnnhhgfvu
Business Acumen Training GuidePresentation.pptx
iec ppt-1 pptx icmr ppt on rehabilitation.pptx
advance b rammar.pptxfdgdfgdfsgdfgsdgfdfgdfgsdfgdfgdfg
annual-report-2024-2025 original latest.
Recruitment and Placement PPT.pdfbjfibjdfbjfobj
.pdf is not working space design for the following data for the following dat...

Event sourcing Live 2021: Streaming App Changes to Event Store

  • 1. Streaming App Changes to Event Store Shivji Kumar Jha SME, Stream Platform, Nutanix
  • 2. About Me  Platform Engineer  Specialties:  DBs, Stream, SOA, infra etc  Love  Distributed systems  Open source contributions  Apache Pulsar, MySQL  Communities & conferences!  Talks  https://www.slideshare.net/shiv4289/  https://www.youtube.com/watch?v=Bx4csRi1b8Y&list=PL A7KYGkuAD071myyg4X5ShsDHsOaIpHOq @ShivjiJha in/shivjijha
  • 3. The days of Monolith One application Data in one place Easy to query and fetch information
  • 4. Microservices are hard! Move ALL transactional data to one store – event store Can’t query all data at once 1.Aggregate 1.Load 1.Index 1.Query Data is fragmented. Application split into modular microservices
  • 5. Event Store – use cases Data warehouses Data Lakes Data Lakehouse CQRS
  • 8. CDC: from App Code  Capture  Bad  Write code for each event  Difficult to control from platform teams.
  • 9. CDC: from App Code  Capture  Bad  Write code for each event  Difficult to control from platform teams.  Good  Can leverage Flexibility in code  App has more data than database.  Eg : Data aggregated from other apps
  • 10. CDC: from App Code  Capture  Bad  Write code for each event  Difficult to control from platform teams.  Good  Can leverage Flexibility in code  App has more data than database.  Eg : Data aggregated from other apps  Delivery:  Mostly asynchronously  Synchronous if critical transaction, extra latency is ok.
  • 11. CDC: from database  Capture:  Tail transaction logs
  • 12. CDC: from database  Capture:  Tail transaction logs  Bad  Different structure in transactional logs of each DB  Deal with log format changes in upgrades.  Deal with DDL changes  Maybe DB reverted transaction while recovering..
  • 13. CDC: from database  Capture:  Tail transaction logs  Bad  Different structure in transactional logs of each DB  Deal with log format changes in upgrades.  Deal with DDL changes  Maybe DB reverted transaction while recovering..  Good  Easy control from platform team.  No extra code. No extra latency.  App and CDC decoupled via queue and offset.  Standard tools available : Debezium, maxwell
  • 15. Hybrid Databases (HTAP)  HTAP: Hybrid Transactional/Analytical Processing  Evolving Landscape  One database to serve  OLTP and  OLAP  Examples:  SingleStore DB  TiDB  MySQL Heatwave
  • 16. References  Change Data Capture  https://en.wikipedia.org/wiki/Change_data_capture  Debezium  https://github.com/debezium  Maxwell  http://maxwells-daemon.io/  https://github.com/zendesk/maxwell  https://medium.com/@purbon/patterns-to-track-changes-in-data- 8d239734dc32  Outbox pattern  https://medium.com/engineering-varo/event-driven-architecture- and-the-outbox-pattern-569e6fba7216