Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

CQRS, DDD synching reporting database

We are trying CQRS and DDD and event sourcing. Let's say I have a customer update an email address, which fires out CustomerUpdatesEmailAddress Event, this goes through to my operational (write DB) and updates the tables. Our system is designed such there is an ETL process that runs which takes operational data and updates the database (this is a read database).Given that the ETL can do some heavy lifting based on email address being changed (Email address is just an example), how do we sync up reporting database (DataMart and the operational side) as the user wants to see the email address update immediately in the screen?

like image 847
bkhanal Avatar asked Aug 01 '10 01:08

bkhanal


1 Answers

In this podcast (slide 47 for example) Udi Dahan states that the client doesn't have to wait for the read site to get updated. The client can "fake" it. So for example, if a user changes his or hers email-address, the client can take the new address from the command it sent and show it to the user before the command has actually been processed.

like image 106
Mikael Koskinen Avatar answered Oct 06 '22 07:10

Mikael Koskinen