Microservices design is plagued by a number of patterns for which the costs typically far outweigh the benefits. CQRS is one of them. It's benefits are worthwhile only in extremely rare circumstances and its costs can sink projects that really didn't need it.
Database per service is another pattern that creates unnecessary complexity through a misunderstanding or misapplication of solid principles.
Keeping each microservice’s persistent data private to that service and accessible only via its API is absolutely correct and is a viable and important microservice constraint. It is taking that constraint to the illogical extreme of a unique database per service that is not. ( https://medium.com/nerd-for-tech/microservices-and-persistent-data-9e98a5488fc9 )
Adding pointless complexity to any design is a bad idea. Simplify, simplify, simplify! Because extremely high-volume applications at Google or Netflix may need something, does not mean that all the apps the rest of us implement must pay the same price.
https://medium.com/nerd-for-tech/designing-microservices-4130bc41c046