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 ET开发者_如何学CL 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?
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.
精彩评论