Monolithic has single database is both working for complex join queries, and also perform CRUD operations.
▪ When application goes more complex, this query and CRUD operations will become un-manageable situation.
▪ Application required some query that needs to join more than 10 table, will lock the database due to latency of query computation.
▪ Performing CRUD operations need to make complex validations and process long business logics, will cause to lock database operations.
▪ Reading and writing database has different approaches, define different strategy.
▪ «Separation of concerns» principles: separate reading database and the writing database with 2 database.
▪ Read database uses No-SQL databases with denormalized data.
▪ Write database uses Relational databases with fully normalized and
supports strong data consistency.
https://medium.com/@knoldus/read-model-and-write-model-cqrs-reactive-architecture-3463b5dee9b3