title: Microservices and duplicating database tables
body: <p>I have been working on splitting up a monolithic system (.NET) into smaller bounded contexts and thus multiple class libraries. Address records are central to the system, so its important for the unrelated entities to reach back to a MASTER address record. Each microservice has its own database with tables related to that bounded context. I've run across a challenge with regard to Address records or the Address Entity. Both of these bounded contexts or libraries need the use of an Address table and the related lookup tables, such as State, Country, etc. Should I duplicate the Address related tables in each database and also duplicate the Address related domain classes? If I duplicate, I will have a ton of duplicate address records in both databases and this has me stuck. If I put the Address tables in something like a "Location Service", it will be difficult to display address fields in search results. Maybe this isn't the proper scenario for microservices?</p>
  
  <p>EXAMPLE:
  Microservice-1 (product A)
  Incident -> one to one -> Address</p>
  
  <p>Microservice-2 (product B)
  Fire Hydrant -> one to one -> Address</p>
  
  <p>Microservice-3 (product C)
  Inspection -> many to one -> Address</p>