The problem with the "microservices always own the data!" is that at some point, either the consumer needs to do some pretty inefficient things because it's needs are not covered by the microservice... or the microservice needs to start exposing itself in ways that reflect the needs of various consumers (losing their loose coupling). Sure, lots of services are simple enough that the former never becomes a huge issue... but as soon as the consumer wants to implement an advanced filter system for a power user, the microservice either needs to support an "anything and everything under the sun" approach to reading data, or it needs to expose an API that looks... well... just like the advanced filter screen... or the consumer is stuck saying "yeah, just dump the whole DB on me, filtered in a somewhat crude way, and I'll do the rest of the work in-memory myself after receiving the results" (the WORST approach possible...)... or the consumer just calls the service regularly to sync data to its own local data store so it can filter as-needed, and now we have problems with "system of record".
And that's just one, unfortunately common, example.
J.Ja