Event sourcing Live 2021: Streaming App Changes to Event Store

Shivji Kumar Jha
Shivji Kumar JhaStaff Engineer / Sr Manager , Cloud Data Platforms Team at Nutanix
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?
1 of 18

Recommended

Webinar: Deep Dive on Apache Flink State - Seth Wiesman by
Webinar: Deep Dive on Apache Flink State - Seth WiesmanWebinar: Deep Dive on Apache Flink State - Seth Wiesman
Webinar: Deep Dive on Apache Flink State - Seth WiesmanVerverica
1.2K views49 slides
What is the State of my Kafka Streams Application? Unleashing Metrics. | Neil... by
What is the State of my Kafka Streams Application? Unleashing Metrics. | Neil...What is the State of my Kafka Streams Application? Unleashing Metrics. | Neil...
What is the State of my Kafka Streams Application? Unleashing Metrics. | Neil...HostedbyConfluent
1.2K views41 slides
Operationalizing Machine Learning: Serving ML Models by
Operationalizing Machine Learning: Serving ML ModelsOperationalizing Machine Learning: Serving ML Models
Operationalizing Machine Learning: Serving ML ModelsLightbend
3.3K views31 slides
London Apache Kafka Meetup (Jan 2017) by
London Apache Kafka Meetup (Jan 2017)London Apache Kafka Meetup (Jan 2017)
London Apache Kafka Meetup (Jan 2017)Landoop Ltd
1.1K views33 slides
Making Scala Faster: 3 Expert Tips For Busy Development Teams by
Making Scala Faster: 3 Expert Tips For Busy Development TeamsMaking Scala Faster: 3 Expert Tips For Busy Development Teams
Making Scala Faster: 3 Expert Tips For Busy Development TeamsLightbend
2.2K views26 slides
Revitalizing Enterprise Integration with Reactive Streams by
Revitalizing Enterprise Integration with Reactive StreamsRevitalizing Enterprise Integration with Reactive Streams
Revitalizing Enterprise Integration with Reactive StreamsLightbend
5.4K views28 slides

More Related Content

What's hot

Tale of ISUCON and Its Bench Tools by
Tale of ISUCON and Its Bench ToolsTale of ISUCON and Its Bench Tools
Tale of ISUCON and Its Bench ToolsSATOSHI TAGOMORI
5.7K views28 slides
Kafka Connect: Operational Lessons Learned from the Trenches (Elizabeth Benne... by
Kafka Connect: Operational Lessons Learned from the Trenches (Elizabeth Benne...Kafka Connect: Operational Lessons Learned from the Trenches (Elizabeth Benne...
Kafka Connect: Operational Lessons Learned from the Trenches (Elizabeth Benne...confluent
2.1K views50 slides
Stream and Batch Processing in the Cloud with Data Microservices by
Stream and Batch Processing in the Cloud with Data MicroservicesStream and Batch Processing in the Cloud with Data Microservices
Stream and Batch Processing in the Cloud with Data Microservicesmarius_bogoevici
6.8K views23 slides
Building Large-Scale Stream Infrastructures Across Multiple Data Centers with... by
Building Large-Scale Stream Infrastructures Across Multiple Data Centers with...Building Large-Scale Stream Infrastructures Across Multiple Data Centers with...
Building Large-Scale Stream Infrastructures Across Multiple Data Centers with...DataWorks Summit/Hadoop Summit
10.8K views33 slides
Streaming Microservices With Akka Streams And Kafka Streams by
Streaming Microservices With Akka Streams And Kafka StreamsStreaming Microservices With Akka Streams And Kafka Streams
Streaming Microservices With Akka Streams And Kafka StreamsLightbend
34.1K views49 slides
Designing Payloads for Event-Driven Systems | Lorna Mitchell, Aiven by
Designing Payloads for Event-Driven Systems | Lorna Mitchell, AivenDesigning Payloads for Event-Driven Systems | Lorna Mitchell, Aiven
Designing Payloads for Event-Driven Systems | Lorna Mitchell, AivenHostedbyConfluent
1.7K views23 slides

What's hot(20)

Tale of ISUCON and Its Bench Tools by SATOSHI TAGOMORI
Tale of ISUCON and Its Bench ToolsTale of ISUCON and Its Bench Tools
Tale of ISUCON and Its Bench Tools
SATOSHI TAGOMORI5.7K views
Kafka Connect: Operational Lessons Learned from the Trenches (Elizabeth Benne... by confluent
Kafka Connect: Operational Lessons Learned from the Trenches (Elizabeth Benne...Kafka Connect: Operational Lessons Learned from the Trenches (Elizabeth Benne...
Kafka Connect: Operational Lessons Learned from the Trenches (Elizabeth Benne...
confluent2.1K views
Stream and Batch Processing in the Cloud with Data Microservices by marius_bogoevici
Stream and Batch Processing in the Cloud with Data MicroservicesStream and Batch Processing in the Cloud with Data Microservices
Stream and Batch Processing in the Cloud with Data Microservices
marius_bogoevici6.8K views
Streaming Microservices With Akka Streams And Kafka Streams by Lightbend
Streaming Microservices With Akka Streams And Kafka StreamsStreaming Microservices With Akka Streams And Kafka Streams
Streaming Microservices With Akka Streams And Kafka Streams
Lightbend34.1K views
Designing Payloads for Event-Driven Systems | Lorna Mitchell, Aiven by HostedbyConfluent
Designing Payloads for Event-Driven Systems | Lorna Mitchell, AivenDesigning Payloads for Event-Driven Systems | Lorna Mitchell, Aiven
Designing Payloads for Event-Driven Systems | Lorna Mitchell, Aiven
HostedbyConfluent1.7K views
Stream your Operational Data with Apache Spark & Kafka into Hadoop using Couc... by Data Con LA
Stream your Operational Data with Apache Spark & Kafka into Hadoop using Couc...Stream your Operational Data with Apache Spark & Kafka into Hadoop using Couc...
Stream your Operational Data with Apache Spark & Kafka into Hadoop using Couc...
Data Con LA2.4K views
Can Apache Kafka Replace a Database? – The 2021 Update | Kai Waehner, Confluent by HostedbyConfluent
Can Apache Kafka Replace a Database? – The 2021 Update | Kai Waehner, ConfluentCan Apache Kafka Replace a Database? – The 2021 Update | Kai Waehner, Confluent
Can Apache Kafka Replace a Database? – The 2021 Update | Kai Waehner, Confluent
HostedbyConfluent3.1K views
Akka, Spark or Kafka? Selecting The Right Streaming Engine For the Job by Lightbend
Akka, Spark or Kafka? Selecting The Right Streaming Engine For the JobAkka, Spark or Kafka? Selecting The Right Streaming Engine For the Job
Akka, Spark or Kafka? Selecting The Right Streaming Engine For the Job
Lightbend19.4K views
Jack Gudenkauf sparkug_20151207_7 by Jack Gudenkauf
Jack Gudenkauf sparkug_20151207_7Jack Gudenkauf sparkug_20151207_7
Jack Gudenkauf sparkug_20151207_7
Jack Gudenkauf778 views
Putting Kafka In Jail – Best Practices To Run Kafka On Kubernetes & DC/OS by Lightbend
Putting Kafka In Jail – Best Practices To Run Kafka On Kubernetes & DC/OSPutting Kafka In Jail – Best Practices To Run Kafka On Kubernetes & DC/OS
Putting Kafka In Jail – Best Practices To Run Kafka On Kubernetes & DC/OS
Lightbend13.3K views
Kafka Summit SF 2017 - Kafka Stream Processing for Everyone with KSQL by confluent
Kafka Summit SF 2017 - Kafka Stream Processing for Everyone with KSQLKafka Summit SF 2017 - Kafka Stream Processing for Everyone with KSQL
Kafka Summit SF 2017 - Kafka Stream Processing for Everyone with KSQL
confluent1.1K views
Exploring Reactive Integrations With Akka Streams, Alpakka And Apache Kafka by Lightbend
Exploring Reactive Integrations With Akka Streams, Alpakka And Apache KafkaExploring Reactive Integrations With Akka Streams, Alpakka And Apache Kafka
Exploring Reactive Integrations With Akka Streams, Alpakka And Apache Kafka
Lightbend12K views
Build Real-Time Streaming ETL Pipelines With Akka Streams, Alpakka And Apache... by Lightbend
Build Real-Time Streaming ETL Pipelines With Akka Streams, Alpakka And Apache...Build Real-Time Streaming ETL Pipelines With Akka Streams, Alpakka And Apache...
Build Real-Time Streaming ETL Pipelines With Akka Streams, Alpakka And Apache...
Lightbend7.5K views
Data Architectures for Robust Decision Making by Gwen (Chen) Shapira
Data Architectures for Robust Decision MakingData Architectures for Robust Decision Making
Data Architectures for Robust Decision Making
Gwen (Chen) Shapira13.2K views
Leveraging Microservice Architectures & Event-Driven Systems for Global APIs by confluent
Leveraging Microservice Architectures & Event-Driven Systems for Global APIsLeveraging Microservice Architectures & Event-Driven Systems for Global APIs
Leveraging Microservice Architectures & Event-Driven Systems for Global APIs
confluent635 views
Building Scalable and Extendable Data Pipeline for Call of Duty Games: Lesson... by Yaroslav Tkachenko
Building Scalable and Extendable Data Pipeline for Call of Duty Games: Lesson...Building Scalable and Extendable Data Pipeline for Call of Duty Games: Lesson...
Building Scalable and Extendable Data Pipeline for Call of Duty Games: Lesson...
Yaroslav Tkachenko1.8K views
Custom management apps for Kafka by Sotaro Kimura
Custom management apps for KafkaCustom management apps for Kafka
Custom management apps for Kafka
Sotaro Kimura7.9K views
Understanding Akka Streams, Back Pressure, and Asynchronous Architectures by Lightbend
Understanding Akka Streams, Back Pressure, and Asynchronous ArchitecturesUnderstanding Akka Streams, Back Pressure, and Asynchronous Architectures
Understanding Akka Streams, Back Pressure, and Asynchronous Architectures
Lightbend23.6K views

Similar to Event sourcing Live 2021: Streaming App Changes to Event Store

Handling Data in Mega Scale Systems by
Handling Data in Mega Scale SystemsHandling Data in Mega Scale Systems
Handling Data in Mega Scale SystemsDirecti Group
3.7K views73 slides
Building Analytic Apps for SaaS: “Analytics as a Service” by
Building Analytic Apps for SaaS: “Analytics as a Service”Building Analytic Apps for SaaS: “Analytics as a Service”
Building Analytic Apps for SaaS: “Analytics as a Service”Amazon Web Services
888 views37 slides
Databus - LinkedIn's Change Data Capture Pipeline by
Databus - LinkedIn's Change Data Capture PipelineDatabus - LinkedIn's Change Data Capture Pipeline
Databus - LinkedIn's Change Data Capture PipelineSunil Nagaraj
10.5K views43 slides
Ops Jumpstart: MongoDB Administration 101 by
Ops Jumpstart: MongoDB Administration 101Ops Jumpstart: MongoDB Administration 101
Ops Jumpstart: MongoDB Administration 101MongoDB
967 views29 slides
Monitoring as an entry point for collaboration by
Monitoring as an entry point for collaborationMonitoring as an entry point for collaboration
Monitoring as an entry point for collaborationJulien Pivotto
1.3K views119 slides
Data Mesh Part 4 Monolith to Mesh by
Data Mesh Part 4 Monolith to MeshData Mesh Part 4 Monolith to Mesh
Data Mesh Part 4 Monolith to MeshJeffrey T. Pollock
1.9K views39 slides

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

Handling Data in Mega Scale Systems by Directi Group
Handling Data in Mega Scale SystemsHandling Data in Mega Scale Systems
Handling Data in Mega Scale Systems
Directi Group3.7K views
Building Analytic Apps for SaaS: “Analytics as a Service” by Amazon Web Services
Building Analytic Apps for SaaS: “Analytics as a Service”Building Analytic Apps for SaaS: “Analytics as a Service”
Building Analytic Apps for SaaS: “Analytics as a Service”
Databus - LinkedIn's Change Data Capture Pipeline by Sunil Nagaraj
Databus - LinkedIn's Change Data Capture PipelineDatabus - LinkedIn's Change Data Capture Pipeline
Databus - LinkedIn's Change Data Capture Pipeline
Sunil Nagaraj10.5K views
Ops Jumpstart: MongoDB Administration 101 by MongoDB
Ops Jumpstart: MongoDB Administration 101Ops Jumpstart: MongoDB Administration 101
Ops Jumpstart: MongoDB Administration 101
MongoDB967 views
Monitoring as an entry point for collaboration by Julien Pivotto
Monitoring as an entry point for collaborationMonitoring as an entry point for collaboration
Monitoring as an entry point for collaboration
Julien Pivotto1.3K views
[WSO2Con EU 2018] The Rise of Streaming SQL by WSO2
[WSO2Con EU 2018] The Rise of Streaming SQL[WSO2Con EU 2018] The Rise of Streaming SQL
[WSO2Con EU 2018] The Rise of Streaming SQL
WSO2291 views
Event Driven Architecture with a RESTful Microservices Architecture (Kyle Ben... by confluent
Event Driven Architecture with a RESTful Microservices Architecture (Kyle Ben...Event Driven Architecture with a RESTful Microservices Architecture (Kyle Ben...
Event Driven Architecture with a RESTful Microservices Architecture (Kyle Ben...
confluent4.3K views
Cloud Foundry Technical Overview by cornelia davis
Cloud Foundry Technical OverviewCloud Foundry Technical Overview
Cloud Foundry Technical Overview
cornelia davis96.5K views
Creating a Modern Data Architecture for Digital Transformation by MongoDB
Creating a Modern Data Architecture for Digital TransformationCreating a Modern Data Architecture for Digital Transformation
Creating a Modern Data Architecture for Digital Transformation
MongoDB3.3K views
Streaming Data and Stream Processing with Apache Kafka by confluent
Streaming Data and Stream Processing with Apache KafkaStreaming Data and Stream Processing with Apache Kafka
Streaming Data and Stream Processing with Apache Kafka
confluent3K views
Why Data Virtualization? An Introduction by Denodo by Justo Hidalgo
Why Data Virtualization? An Introduction by DenodoWhy Data Virtualization? An Introduction by Denodo
Why Data Virtualization? An Introduction by Denodo
Justo Hidalgo12.5K views
Big Data Taiwan 2014 Track2-2: Informatica Big Data Solution by Etu Solution
Big Data Taiwan 2014 Track2-2: Informatica Big Data SolutionBig Data Taiwan 2014 Track2-2: Informatica Big Data Solution
Big Data Taiwan 2014 Track2-2: Informatica Big Data Solution
Etu Solution11.9K views
Global Azure Bootcamp 2017 - Why I love S2D for MSSQL on Azure by Karim Vaes
Global Azure Bootcamp 2017 - Why I love S2D for MSSQL on AzureGlobal Azure Bootcamp 2017 - Why I love S2D for MSSQL on Azure
Global Azure Bootcamp 2017 - Why I love S2D for MSSQL on Azure
Karim Vaes542 views
Change Data Capture to Data Lakes Using Apache Pulsar and Apache Hudi - Pulsa... by StreamNative
Change Data Capture to Data Lakes Using Apache Pulsar and Apache Hudi - Pulsa...Change Data Capture to Data Lakes Using Apache Pulsar and Apache Hudi - Pulsa...
Change Data Capture to Data Lakes Using Apache Pulsar and Apache Hudi - Pulsa...
StreamNative509 views
The Story of How an Oracle Classic Stronghold successfully embraced SOA (ODTU... by Lucas Jellema
The Story of How an Oracle Classic Stronghold successfully embraced SOA (ODTU...The Story of How an Oracle Classic Stronghold successfully embraced SOA (ODTU...
The Story of How an Oracle Classic Stronghold successfully embraced SOA (ODTU...
Lucas Jellema638 views
SnapLogic- iPaaS (Elastic Integration Cloud and Data Integration) by Surendar S
SnapLogic- iPaaS (Elastic Integration Cloud and Data Integration) SnapLogic- iPaaS (Elastic Integration Cloud and Data Integration)
SnapLogic- iPaaS (Elastic Integration Cloud and Data Integration)
Surendar S619 views
Building Fast Applications for Streaming Data by freshdatabos
Building Fast Applications for Streaming DataBuilding Fast Applications for Streaming Data
Building Fast Applications for Streaming Data
freshdatabos1.2K views
Microsoft Flow best practices European Collaboration Summit 2018 by serge luca
Microsoft Flow best practices European Collaboration Summit 2018Microsoft Flow best practices European Collaboration Summit 2018
Microsoft Flow best practices European Collaboration Summit 2018
serge luca1.1K views

More from Shivji Kumar Jha

Druid Summit 2023 : Changing Druid Ingestion from 3 hours to 5 minutes by
Druid Summit 2023 : Changing Druid Ingestion from 3 hours to 5 minutesDruid Summit 2023 : Changing Druid Ingestion from 3 hours to 5 minutes
Druid Summit 2023 : Changing Druid Ingestion from 3 hours to 5 minutesShivji Kumar Jha
2 views61 slides
osi-oss-dbs.pptx by
osi-oss-dbs.pptxosi-oss-dbs.pptx
osi-oss-dbs.pptxShivji Kumar Jha
59 views56 slides
pulsar-platformatory-meetup-2.pptx by
pulsar-platformatory-meetup-2.pptxpulsar-platformatory-meetup-2.pptx
pulsar-platformatory-meetup-2.pptxShivji Kumar Jha
64 views33 slides
Pulsar Summit Asia 2022 - Streaming wars and How Apache Pulsar is acing the b... by
Pulsar Summit Asia 2022 - Streaming wars and How Apache Pulsar is acing the b...Pulsar Summit Asia 2022 - Streaming wars and How Apache Pulsar is acing the b...
Pulsar Summit Asia 2022 - Streaming wars and How Apache Pulsar is acing the b...Shivji Kumar Jha
54 views35 slides
Pulsar Summit Asia 2022 - Keeping on top of hybrid cloud usage with Pulsar by
Pulsar Summit Asia 2022 - Keeping on top of hybrid cloud usage with PulsarPulsar Summit Asia 2022 - Keeping on top of hybrid cloud usage with Pulsar
Pulsar Summit Asia 2022 - Keeping on top of hybrid cloud usage with PulsarShivji Kumar Jha
17 views31 slides
Pulsar summit asia 2021: Designing Pulsar for Isolation by
Pulsar summit asia 2021: Designing Pulsar for IsolationPulsar summit asia 2021: Designing Pulsar for Isolation
Pulsar summit asia 2021: Designing Pulsar for IsolationShivji Kumar Jha
175 views28 slides

More from Shivji Kumar Jha(18)

Druid Summit 2023 : Changing Druid Ingestion from 3 hours to 5 minutes by Shivji Kumar Jha
Druid Summit 2023 : Changing Druid Ingestion from 3 hours to 5 minutesDruid Summit 2023 : Changing Druid Ingestion from 3 hours to 5 minutes
Druid Summit 2023 : Changing Druid Ingestion from 3 hours to 5 minutes
Pulsar Summit Asia 2022 - Streaming wars and How Apache Pulsar is acing the b... by Shivji Kumar Jha
Pulsar Summit Asia 2022 - Streaming wars and How Apache Pulsar is acing the b...Pulsar Summit Asia 2022 - Streaming wars and How Apache Pulsar is acing the b...
Pulsar Summit Asia 2022 - Streaming wars and How Apache Pulsar is acing the b...
Shivji Kumar Jha54 views
Pulsar Summit Asia 2022 - Keeping on top of hybrid cloud usage with Pulsar by Shivji Kumar Jha
Pulsar Summit Asia 2022 - Keeping on top of hybrid cloud usage with PulsarPulsar Summit Asia 2022 - Keeping on top of hybrid cloud usage with Pulsar
Pulsar Summit Asia 2022 - Keeping on top of hybrid cloud usage with Pulsar
Shivji Kumar Jha17 views
Pulsar summit asia 2021: Designing Pulsar for Isolation by Shivji Kumar Jha
Pulsar summit asia 2021: Designing Pulsar for IsolationPulsar summit asia 2021: Designing Pulsar for Isolation
Pulsar summit asia 2021: Designing Pulsar for Isolation
Shivji Kumar Jha175 views
Apache Con 2021 : Apache Bookkeeper Key Value Store and use cases by Shivji Kumar Jha
Apache Con 2021 : Apache Bookkeeper Key Value Store and use casesApache Con 2021 : Apache Bookkeeper Key Value Store and use cases
Apache Con 2021 : Apache Bookkeeper Key Value Store and use cases
Shivji Kumar Jha321 views
How pulsar stores data at Pulsar-na-summit-2021.pptx (1) by Shivji Kumar Jha
How pulsar stores data at Pulsar-na-summit-2021.pptx (1)How pulsar stores data at Pulsar-na-summit-2021.pptx (1)
How pulsar stores data at Pulsar-na-summit-2021.pptx (1)
Shivji Kumar Jha139 views
Pulsar Summit Asia - Structured Data Stream with Apache Pulsar by Shivji Kumar Jha
Pulsar Summit Asia - Structured Data Stream with Apache PulsarPulsar Summit Asia - Structured Data Stream with Apache Pulsar
Pulsar Summit Asia - Structured Data Stream with Apache Pulsar
Shivji Kumar Jha311 views
Pulsar Summit Asia - Running a secure pulsar cluster by Shivji Kumar Jha
Pulsar Summit Asia -  Running a secure pulsar clusterPulsar Summit Asia -  Running a secure pulsar cluster
Pulsar Summit Asia - Running a secure pulsar cluster
Shivji Kumar Jha575 views
lessons from managing a pulsar cluster by Shivji Kumar Jha
 lessons from managing a pulsar cluster lessons from managing a pulsar cluster
lessons from managing a pulsar cluster
Shivji Kumar Jha463 views
FOSSASIA 2015: MySQL Group Replication by Shivji Kumar Jha
FOSSASIA 2015: MySQL Group ReplicationFOSSASIA 2015: MySQL Group Replication
FOSSASIA 2015: MySQL Group Replication
Shivji Kumar Jha3.5K views
MySQL High Availability with Replication New Features by Shivji Kumar Jha
MySQL High Availability with Replication New FeaturesMySQL High Availability with Replication New Features
MySQL High Availability with Replication New Features
Shivji Kumar Jha1.8K views
MySQL Developer Day conference: MySQL Replication and Scalability by Shivji Kumar Jha
MySQL Developer Day conference: MySQL Replication and ScalabilityMySQL Developer Day conference: MySQL Replication and Scalability
MySQL Developer Day conference: MySQL Replication and Scalability
Shivji Kumar Jha2.7K views
Open source India - MySQL Labs: Multi-Source Replication by Shivji Kumar Jha
Open source India - MySQL Labs: Multi-Source ReplicationOpen source India - MySQL Labs: Multi-Source Replication
Open source India - MySQL Labs: Multi-Source Replication
Shivji Kumar Jha1.8K views
MySQL User Camp: Multi-threaded Slaves by Shivji Kumar Jha
MySQL User Camp: Multi-threaded SlavesMySQL User Camp: Multi-threaded Slaves
MySQL User Camp: Multi-threaded Slaves
Shivji Kumar Jha2.4K views

Recently uploaded

Journey of Generative AI by
Journey of Generative AIJourney of Generative AI
Journey of Generative AIthomasjvarghese49
30 views37 slides
Building Real-Time Travel Alerts by
Building Real-Time Travel AlertsBuilding Real-Time Travel Alerts
Building Real-Time Travel AlertsTimothy Spann
109 views48 slides
Chapter 3b- Process Communication (1) (1)(1) (1).pptx by
Chapter 3b- Process Communication (1) (1)(1) (1).pptxChapter 3b- Process Communication (1) (1)(1) (1).pptx
Chapter 3b- Process Communication (1) (1)(1) (1).pptxayeshabaig2004
5 views30 slides
Cross-network in Google Analytics 4.pdf by
Cross-network in Google Analytics 4.pdfCross-network in Google Analytics 4.pdf
Cross-network in Google Analytics 4.pdfGA4 Tutorials
6 views7 slides
Organic Shopping in Google Analytics 4.pdf by
Organic Shopping in Google Analytics 4.pdfOrganic Shopping in Google Analytics 4.pdf
Organic Shopping in Google Analytics 4.pdfGA4 Tutorials
10 views13 slides
3196 The Case of The East River by
3196 The Case of The East River3196 The Case of The East River
3196 The Case of The East RiverErickANDRADE90
11 views4 slides

Recently uploaded(20)

Building Real-Time Travel Alerts by Timothy Spann
Building Real-Time Travel AlertsBuilding Real-Time Travel Alerts
Building Real-Time Travel Alerts
Timothy Spann109 views
Chapter 3b- Process Communication (1) (1)(1) (1).pptx by ayeshabaig2004
Chapter 3b- Process Communication (1) (1)(1) (1).pptxChapter 3b- Process Communication (1) (1)(1) (1).pptx
Chapter 3b- Process Communication (1) (1)(1) (1).pptx
ayeshabaig20045 views
Cross-network in Google Analytics 4.pdf by GA4 Tutorials
Cross-network in Google Analytics 4.pdfCross-network in Google Analytics 4.pdf
Cross-network in Google Analytics 4.pdf
GA4 Tutorials6 views
Organic Shopping in Google Analytics 4.pdf by GA4 Tutorials
Organic Shopping in Google Analytics 4.pdfOrganic Shopping in Google Analytics 4.pdf
Organic Shopping in Google Analytics 4.pdf
GA4 Tutorials10 views
3196 The Case of The East River by ErickANDRADE90
3196 The Case of The East River3196 The Case of The East River
3196 The Case of The East River
ErickANDRADE9011 views
RuleBookForTheFairDataEconomy.pptx by noraelstela1
RuleBookForTheFairDataEconomy.pptxRuleBookForTheFairDataEconomy.pptx
RuleBookForTheFairDataEconomy.pptx
noraelstela167 views
UNEP FI CRS Climate Risk Results.pptx by pekka28
UNEP FI CRS Climate Risk Results.pptxUNEP FI CRS Climate Risk Results.pptx
UNEP FI CRS Climate Risk Results.pptx
pekka2811 views
JConWorld_ Continuous SQL with Kafka and Flink by Timothy Spann
JConWorld_ Continuous SQL with Kafka and FlinkJConWorld_ Continuous SQL with Kafka and Flink
JConWorld_ Continuous SQL with Kafka and Flink
Timothy Spann100 views
Survey on Factuality in LLM's.pptx by NeethaSherra1
Survey on Factuality in LLM's.pptxSurvey on Factuality in LLM's.pptx
Survey on Factuality in LLM's.pptx
NeethaSherra15 views
Data structure and algorithm. by Abdul salam
Data structure and algorithm. Data structure and algorithm.
Data structure and algorithm.
Abdul salam 18 views
Introduction to Microsoft Fabric.pdf by ishaniuudeshika
Introduction to Microsoft Fabric.pdfIntroduction to Microsoft Fabric.pdf
Introduction to Microsoft Fabric.pdf
ishaniuudeshika24 views
Advanced_Recommendation_Systems_Presentation.pptx by neeharikasingh29
Advanced_Recommendation_Systems_Presentation.pptxAdvanced_Recommendation_Systems_Presentation.pptx
Advanced_Recommendation_Systems_Presentation.pptx
Launch of the Knowledge Exchange Platform - Romina Boarini - 21 November 2023 by StatsCommunications
Launch of the Knowledge Exchange Platform - Romina Boarini - 21 November 2023Launch of the Knowledge Exchange Platform - Romina Boarini - 21 November 2023
Launch of the Knowledge Exchange Platform - Romina Boarini - 21 November 2023

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