Problem
In complex applications, read side and write side can become complicated. Read side can returns data transfer objects (DTOs) with different shapes; Write side can implement compex validation and business logic.
Solution
Separate the read from the write side :
example 1 : implement materialized view for the read side and stored procedures for the write side.
exemple 2 : implement 2 different data stores, one for the read side which is a document DB and the other, for the write side which is a relational DB.
…