SlideShare a Scribd company logo
Distributed Data
Management
Challenges
Bond Trading
ACID
(Atomicity,
Consistency,
Isolation,
Durability)
A
• Each transaction is "all or nothing".
C
• Data should be valid according to all defined
rules.
I
• Transactions do not affect each other.
D
• Committed data would not be lost, even after
power failure.
Monitor
object pattern
Monitor object: This component exposes
the methods that are synchronized to the
clients
Synchronized methods: The thread-safe
functions that are exported by the
interface of the object are implemented
by these methods
Monitor conditions: This component along
with the monitor lock decides whether the
synchronized method should resume its
processing or suspend it
Monitor
object pattern
Sagas
Sagas
Sagas
Sagas
 Order Service— Create an Order in an APPROVAL_PENDING state.
 Consumer Service— Verify that the consumer can place an order.
 Kitchen Service— Validate order details and create a Ticket in
the CREATE_PENDING state.
 Accounting Service— Authorize consumer’s credit card, which fails.
 Kitchen Service— Change the state of the Ticket to CREATE_REJECTED.
 Order Service— Change the state of the Order to REJECTED.
Choreography-
based sagas
Orchestration-
based sagas
The lack of isolation
 Lost updates— One saga overwrites without reading changes made by
another saga.
 Dirty reads— A transaction or a saga reads the updates made by a saga that
has not yet completed those updates.
 Fuzzy/nonrepeatable reads— Two different steps of a saga read the same
data and get different results because another saga has made updates.
Countermeasures for handling the lack
of isolation
 Semantic lock— An application-level lock.
 Commutative updates— Design update operations to be executable in any
order.
 Pessimistic view— Reorder the steps of a saga to minimize business risk.
 Reread value— Prevent dirty writes by rereading data to verify that it’s
unchanged before overwriting it.
 Version file— Record the updates to a record so that they can be reordered.
 By value— Use each request’s business risk to dynamically select the
concurrency mechanism.
Order service

More Related Content

Similar to Distributed data management challenges

Autoscaling Stateful Workloads in Kubernetes
Autoscaling Stateful Workloads in KubernetesAutoscaling Stateful Workloads in Kubernetes
Autoscaling Stateful Workloads in Kubernetes
DoKC
 
Software testing performance testing
Software testing  performance testingSoftware testing  performance testing
Software testing performance testing
GaneshKumarKanthiah
 
Event driven architecure
Event driven architecureEvent driven architecure
Event driven architecure
Touraj Ebrahimi
 
Migration to the cloud
Migration to the cloudMigration to the cloud
Migration to the cloud
EPAM Systems
 
Database Visibility and Troubleshooting Hands-on Lab - AppSphere16
Database Visibility and Troubleshooting Hands-on Lab - AppSphere16Database Visibility and Troubleshooting Hands-on Lab - AppSphere16
Database Visibility and Troubleshooting Hands-on Lab - AppSphere16
AppDynamics
 
Modernizing SQL Server the Right Way
Modernizing SQL Server the Right WayModernizing SQL Server the Right Way
Modernizing SQL Server the Right Way
Juan Fabian
 
Scaling systems using change propagation across data stores
Scaling systems using change propagation across data storesScaling systems using change propagation across data stores
Scaling systems using change propagation across data storesJagadeesh Huliyar
 
Ncerc rlmca202 adm m4 ssm
Ncerc rlmca202 adm m4 ssmNcerc rlmca202 adm m4 ssm
Ncerc rlmca202 adm m4 ssm
ssmarar
 
VCS_QAPerformanceSlides
VCS_QAPerformanceSlidesVCS_QAPerformanceSlides
VCS_QAPerformanceSlidesMichael Cowan
 
Large Data Management Strategies
Large Data Management StrategiesLarge Data Management Strategies
Large Data Management Strategies
Salesforce Developers
 
Test data management
Test data managementTest data management
Test data management
Rohit Gupta
 
Microservices event-driven-saga
Microservices event-driven-sagaMicroservices event-driven-saga
Microservices event-driven-saga
Vijay Redkar
 
Azure SQL DB V12 at your service by Pieter Vanhove
Azure SQL DB V12 at your service by Pieter VanhoveAzure SQL DB V12 at your service by Pieter Vanhove
Azure SQL DB V12 at your service by Pieter Vanhove
ITProceed
 
Patterns of Distributed Application Design
Patterns of Distributed Application DesignPatterns of Distributed Application Design
Patterns of Distributed Application Design
Orkhan Gasimov
 
Patterns of Distributed Application Design
Patterns of Distributed Application DesignPatterns of Distributed Application Design
Patterns of Distributed Application Design
GlobalLogic Ukraine
 
Shuvam dutta | Performance testing and engineering
Shuvam dutta | Performance testing and engineeringShuvam dutta | Performance testing and engineering
Shuvam dutta | Performance testing and engineering
Shuvam Dutta
 
React&Redux : The Amdocs Way (Sneak Peak)
React&Redux : The Amdocs Way (Sneak Peak)React&Redux : The Amdocs Way (Sneak Peak)
React&Redux : The Amdocs Way (Sneak Peak)
Sandeep Bamane
 
Sue Keohan presents at BPX Day: Successful Collaboration between Business and IT
Sue Keohan presents at BPX Day: Successful Collaboration between Business and ITSue Keohan presents at BPX Day: Successful Collaboration between Business and IT
Sue Keohan presents at BPX Day: Successful Collaboration between Business and IT
Marilyn Pratt
 

Similar to Distributed data management challenges (20)

DB2 LUW Auditing
DB2 LUW AuditingDB2 LUW Auditing
DB2 LUW Auditing
 
Database Testing
Database TestingDatabase Testing
Database Testing
 
Autoscaling Stateful Workloads in Kubernetes
Autoscaling Stateful Workloads in KubernetesAutoscaling Stateful Workloads in Kubernetes
Autoscaling Stateful Workloads in Kubernetes
 
Software testing performance testing
Software testing  performance testingSoftware testing  performance testing
Software testing performance testing
 
Event driven architecure
Event driven architecureEvent driven architecure
Event driven architecure
 
Migration to the cloud
Migration to the cloudMigration to the cloud
Migration to the cloud
 
Database Visibility and Troubleshooting Hands-on Lab - AppSphere16
Database Visibility and Troubleshooting Hands-on Lab - AppSphere16Database Visibility and Troubleshooting Hands-on Lab - AppSphere16
Database Visibility and Troubleshooting Hands-on Lab - AppSphere16
 
Modernizing SQL Server the Right Way
Modernizing SQL Server the Right WayModernizing SQL Server the Right Way
Modernizing SQL Server the Right Way
 
Scaling systems using change propagation across data stores
Scaling systems using change propagation across data storesScaling systems using change propagation across data stores
Scaling systems using change propagation across data stores
 
Ncerc rlmca202 adm m4 ssm
Ncerc rlmca202 adm m4 ssmNcerc rlmca202 adm m4 ssm
Ncerc rlmca202 adm m4 ssm
 
VCS_QAPerformanceSlides
VCS_QAPerformanceSlidesVCS_QAPerformanceSlides
VCS_QAPerformanceSlides
 
Large Data Management Strategies
Large Data Management StrategiesLarge Data Management Strategies
Large Data Management Strategies
 
Test data management
Test data managementTest data management
Test data management
 
Microservices event-driven-saga
Microservices event-driven-sagaMicroservices event-driven-saga
Microservices event-driven-saga
 
Azure SQL DB V12 at your service by Pieter Vanhove
Azure SQL DB V12 at your service by Pieter VanhoveAzure SQL DB V12 at your service by Pieter Vanhove
Azure SQL DB V12 at your service by Pieter Vanhove
 
Patterns of Distributed Application Design
Patterns of Distributed Application DesignPatterns of Distributed Application Design
Patterns of Distributed Application Design
 
Patterns of Distributed Application Design
Patterns of Distributed Application DesignPatterns of Distributed Application Design
Patterns of Distributed Application Design
 
Shuvam dutta | Performance testing and engineering
Shuvam dutta | Performance testing and engineeringShuvam dutta | Performance testing and engineering
Shuvam dutta | Performance testing and engineering
 
React&Redux : The Amdocs Way (Sneak Peak)
React&Redux : The Amdocs Way (Sneak Peak)React&Redux : The Amdocs Way (Sneak Peak)
React&Redux : The Amdocs Way (Sneak Peak)
 
Sue Keohan presents at BPX Day: Successful Collaboration between Business and IT
Sue Keohan presents at BPX Day: Successful Collaboration between Business and ITSue Keohan presents at BPX Day: Successful Collaboration between Business and IT
Sue Keohan presents at BPX Day: Successful Collaboration between Business and IT
 

More from sang nguyen

AMM, How it works.pdf
AMM, How it works.pdfAMM, How it works.pdf
AMM, How it works.pdf
sang nguyen
 
Uml 2.x
Uml 2.xUml 2.x
Uml 2.x
sang nguyen
 
Reactive programming
Reactive programmingReactive programming
Reactive programming
sang nguyen
 
Spring from a to Z
Spring from  a to ZSpring from  a to Z
Spring from a to Z
sang nguyen
 
Finding use case
Finding use caseFinding use case
Finding use case
sang nguyen
 
Software - Information gathering
Software - Information gatheringSoftware - Information gathering
Software - Information gathering
sang nguyen
 
Business analysis-Software
Business analysis-SoftwareBusiness analysis-Software
Business analysis-Software
sang nguyen
 
Alfresco overview EDM
Alfresco overview EDMAlfresco overview EDM
Alfresco overview EDM
sang nguyen
 

More from sang nguyen (8)

AMM, How it works.pdf
AMM, How it works.pdfAMM, How it works.pdf
AMM, How it works.pdf
 
Uml 2.x
Uml 2.xUml 2.x
Uml 2.x
 
Reactive programming
Reactive programmingReactive programming
Reactive programming
 
Spring from a to Z
Spring from  a to ZSpring from  a to Z
Spring from a to Z
 
Finding use case
Finding use caseFinding use case
Finding use case
 
Software - Information gathering
Software - Information gatheringSoftware - Information gathering
Software - Information gathering
 
Business analysis-Software
Business analysis-SoftwareBusiness analysis-Software
Business analysis-Software
 
Alfresco overview EDM
Alfresco overview EDMAlfresco overview EDM
Alfresco overview EDM
 

Recently uploaded

LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
lorraineandreiamcidl
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Mind IT Systems
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
Paco van Beckhoven
 
Launch Your Streaming Platforms in Minutes
Launch Your Streaming Platforms in MinutesLaunch Your Streaming Platforms in Minutes
Launch Your Streaming Platforms in Minutes
Roshan Dwivedi
 
Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
Philip Schwarz
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
Drona Infotech
 
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppAI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
Google
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke
 
Artificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension FunctionsArtificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension Functions
Octavian Nadolu
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
NYGGS Automation Suite
 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
Google
 
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Neo4j
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
Adele Miller
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
Aftab Hussain
 
E-commerce Application Development Company.pdf
E-commerce Application Development Company.pdfE-commerce Application Development Company.pdf
E-commerce Application Development Company.pdf
Hornet Dynamics
 
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket ManagementUtilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
Max Andersen
 
SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024
Hironori Washizaki
 
Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
Aftab Hussain
 

Recently uploaded (20)

LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOMLORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
LORRAINE ANDREI_LEQUIGAN_HOW TO USE ZOOM
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
Custom Healthcare Software for Managing Chronic Conditions and Remote Patient...
 
Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024Cracking the code review at SpringIO 2024
Cracking the code review at SpringIO 2024
 
Launch Your Streaming Platforms in Minutes
Launch Your Streaming Platforms in MinutesLaunch Your Streaming Platforms in Minutes
Launch Your Streaming Platforms in Minutes
 
Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
 
Mobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona InfotechMobile App Development Company In Noida | Drona Infotech
Mobile App Development Company In Noida | Drona Infotech
 
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI AppAI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
AI Fusion Buddy Review: Brand New, Groundbreaking Gemini-Powered AI App
 
Vitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdfVitthal Shirke Java Microservices Resume.pdf
Vitthal Shirke Java Microservices Resume.pdf
 
Artificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension FunctionsArtificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension Functions
 
Enterprise Resource Planning System in Telangana
Enterprise Resource Planning System in TelanganaEnterprise Resource Planning System in Telangana
Enterprise Resource Planning System in Telangana
 
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing SuiteAI Pilot Review: The World’s First Virtual Assistant Marketing Suite
AI Pilot Review: The World’s First Virtual Assistant Marketing Suite
 
Atelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissancesAtelier - Innover avec l’IA Générative et les graphes de connaissances
Atelier - Innover avec l’IA Générative et les graphes de connaissances
 
May Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdfMay Marketo Masterclass, London MUG May 22 2024.pdf
May Marketo Masterclass, London MUG May 22 2024.pdf
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
 
E-commerce Application Development Company.pdf
E-commerce Application Development Company.pdfE-commerce Application Development Company.pdf
E-commerce Application Development Company.pdf
 
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket ManagementUtilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
Utilocate provides Smarter, Better, Faster, Safer Locate Ticket Management
 
Quarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden ExtensionsQuarkus Hidden and Forbidden Extensions
Quarkus Hidden and Forbidden Extensions
 
SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024SWEBOK and Education at FUSE Okinawa 2024
SWEBOK and Education at FUSE Okinawa 2024
 
Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
 

Distributed data management challenges

  • 3. ACID (Atomicity, Consistency, Isolation, Durability) A • Each transaction is "all or nothing". C • Data should be valid according to all defined rules. I • Transactions do not affect each other. D • Committed data would not be lost, even after power failure.
  • 4. Monitor object pattern Monitor object: This component exposes the methods that are synchronized to the clients Synchronized methods: The thread-safe functions that are exported by the interface of the object are implemented by these methods Monitor conditions: This component along with the monitor lock decides whether the synchronized method should resume its processing or suspend it
  • 9. Sagas  Order Service— Create an Order in an APPROVAL_PENDING state.  Consumer Service— Verify that the consumer can place an order.  Kitchen Service— Validate order details and create a Ticket in the CREATE_PENDING state.  Accounting Service— Authorize consumer’s credit card, which fails.  Kitchen Service— Change the state of the Ticket to CREATE_REJECTED.  Order Service— Change the state of the Order to REJECTED.
  • 12. The lack of isolation  Lost updates— One saga overwrites without reading changes made by another saga.  Dirty reads— A transaction or a saga reads the updates made by a saga that has not yet completed those updates.  Fuzzy/nonrepeatable reads— Two different steps of a saga read the same data and get different results because another saga has made updates.
  • 13. Countermeasures for handling the lack of isolation  Semantic lock— An application-level lock.  Commutative updates— Design update operations to be executable in any order.  Pessimistic view— Reorder the steps of a saga to minimize business risk.  Reread value— Prevent dirty writes by rereading data to verify that it’s unchanged before overwriting it.  Version file— Record the updates to a record so that they can be reordered.  By value— Use each request’s business risk to dynamically select the concurrency mechanism.