I have spent more time than I'm comfortable with over the last couple of years railing against microservices. But this seems like a classic case where microservices are needed. Each team can handle their own writing/validation and expose them to themselves and other services(including the global service). Of course you run into issues with transaction occurring across multiple databases but these problems are hard but solvable.
> All incoming writes need to go into a centralized log, such as Kafka, and then from there the various databases can pull what they need, with each team making its own decisions about what it needs from that central log.
This sounds crazy. I don't know any large companies that have successfully implemented it. This is basically arguing for a giant central database across the entire company. Good luck getting the 300 people necessary into a room and agreeing on a schema.
P.S. I don't know if he's using database as a shorthand for a service. If he is then you can ignore everything I've written.
> All incoming writes need to go into a centralized log, such as Kafka, and then from there the various databases can pull what they need, with each team making its own decisions about what it needs from that central log.
This sounds crazy. I don't know any large companies that have successfully implemented it. This is basically arguing for a giant central database across the entire company. Good luck getting the 300 people necessary into a room and agreeing on a schema.
P.S. I don't know if he's using database as a shorthand for a service. If he is then you can ignore everything I've written.