I'm working on breaking down a monolith application in smaller applications or microservices. Like always, sometimes it's easy and sometimes it's harder to identify domains and split those into smaller applications and databases.
I've found a number of domains (I'll show you two as an example) which all share the use of a set of entities (units of care or so called care units). These care units are updated once in a while by data integration tools (SSIS). There are over a milion of care units in the database. In the example below, you see how different domains all act on these care units.
We could duplicate those care units to every domain, but I think this would add a lot of complexity considering synchronization issues etc. At the moment we can just do aggregations between these domains using simple join
queries in SQL Server. Are there other ways to achieve what I want without a lot of data duplication? If not, what are recommended ways to synchronize tables between domains?
Our application is written in c# .net using SQL Server as a database. So answers using these technologies are preferred, but not mandatory.